본문 바로가기

분류 전체보기162

[ML] Credit Card Fraud Detection STEP 01. DATA INFO 신용카드 부정사용 검출에 관한 논문의 예 - 신용카드와 같은 금융 데이터들은 구하기가 어렵다 - 금융 데이터들의 데이터는 다루기 쉽지 않다 - 그러나 지능화되어가는 현대 범죄에 맞춰 사전 이상 징후 검출 등 금융기관이 많은 노력을 기울이고 있다 - 이 데이터 역시 센서를 이용한 사람의 행동 과정 유추처럼 머신러닝의 이용 분야 중 하나이다 데이터 다운로드 - https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud 데이터 개요 - 신용카드 사기 검출 분류 실습용 데이터 - 데이터에 class 컬럼이 사기유무를 의미한다 - class 컬럼의 불균형이 극심해서 전체 데이터의 약 0.172%가 1(사기 Fraud)을 가진다 데이터 특성.. 2023. 1. 10.
TypeError: countplot() got multiple values for argument 'data' countplot 그리던 중 발생한 에러이다. x에 'Class'를 지정해주고 다시 실행했다. 2023. 1. 10.
[ML] Ensemble _HAR data _ DecisionTree / RandomForest 01. 앙상블 기법 - 전통적으로 Voting, Bagging, Boosting, 스태깅 등으로 나눈다. - 여러개의 분류기를 생성하고 그 예측을 결합하여 정확한 최종 예측을 기대하는 기법이다. - 목표 : 다양한 분류기의 예측 결과를 결합함으로서 단일 분류기보다 신뢰성이 높은 예측 값을 얻는 것이다. * 현재 정형데이터를 대상으로 하는 분류기에서는 앙상블기법이 뛰어난 성과를 보여주고 있다. 1-1 앙상블 - Voting 기법 - 전체 데이터 셋을 가지고 각기 다른 아는 알고리즘을 다 돌린 다음에 다수결의 원칙, 즉 voting을 통해 결정하는 것 1-2 앙상블 - bagging 기법(bagging기법의 앙상블은 거의 대부분 DecisionTree 사용한다) 알고리즘이 똑같고, 데이터셋을 random하게.. 2023. 1. 9.
[ML] Cost Function_ Boston 집값 예측 from sklearn.datasets import load_boston boston = load_boston() print(boston.DESCR) Price와 RM(방의 수), LSTAT(저소득층 인구)가 높은 상관관계를 보인다. -> RM과 LSTAT와 PRICE의 관계에 대해 좀 더 관찰해본다. from sklearn.model_selection import train_test_split X = boston_pd.drop('PRICE', axis=1) y = boston_pd['PRICE'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=13) from sklearn.linear_model .. 2023. 1. 7.
[ML] Cost Function _poly1d 학습 데이터 각각에 정답(주택가격)이 주어져 있으므로 지도학습(Supervised Learning)이며, 주택 가격을 연속된 값으로 예측하는 것이므로 회귀(Regression) 문제이다. 선형회귀 (Linear Regression) 문제의 정의 : 입력 변수(특징) x가 하나인 경우, 선형회귀 문제는 주어진 학습데이터와 가장 잘 맞는 Hypothesis함수 h를 찾는 문제가 된다. a = np.ploy1d[[1, 1]) b = np.ploy1d[[1, -1] ploy1d[[1, 1]) = x + 1 / ploy1d[[1, -1]) = x -1을 의미한다. 고로 a * b = (x+1)(x-1) = x^2 -1인데, 이는 poly1d([1, 0, -1])로 출력된다. x^이 1, x항이 없으니 0, 상수항.. 2023. 1. 6.
[ML] ROC Curve 정확도 Accuracy 전체 데이터 중 맞게 예측한 것의 비율 오차행렬 Confusion Matrix 정밀도 Precision 양성이라고 예측한 것 중에서 실제 양성의 비율 재현율 Recall = TPR True Positive Rate 참인 데이터들 중에서 참이라고 예측한 경우 Fall-Out = FPR False Positive Rate 실제 양성이 아닌데, 양성이라고 잘못 예측한 경우 TNR True Nagative Rate 실제 음성을 음성이라고 맟춘 경우 FNR False Nagative Rate 실제 양성을 음성이라고 잘못 예측한 경우 F1-Score Recall과 Precosion을 결합한 지표 둘이 한쪽으로 치우치지 않고 둘다 높은 값을 가질수록 높은 값 나옴 ROC Curve FRR이 변.. 2023. 1. 6.
[ML] Hyperparameter Tuning Hyperparameter Tuning : 모델의 성능을 확보하기 위해 조절하는 설정 값 튜닝 대상 - 결정나무에서 아직 우리가 튜닝해 볼만한 것은 max_depth이다. 간단하게 반복문으로 max_depth를 바꿔가며 테스트해볼 수 있을 것이다. ! 그런데 앞으로를 생각해서 보다 간편하고 유용한 방법을 생각해보자. import pandas as pd red_url = "https://raw.githubusercontent.com/PinkWink/ML_tutorial/master/dataset/winequality-red.csv" white_url = "https://raw.githubusercontent.com/PinkWink/ML_tutorial/master/dataset/winequality-whi.. 2023. 1. 6.
[ML] Hyperparameter Tuning_ 교차검증 교차검증 과적합 : 모델이 학습 데이터에만 과도하게 최적화된 현상. 그로 인해 일반화된 데이터에서는 예측 성능이 과하게 떨어지는 현상. 지난번 와인 맛 평가에서 훈련용 데이터의 Acc는 72.94, 테스트용 데이터는 Acc가 71.61%였는데, 누가 이 결과가 정말 괜찮은 것인지 묻는다면? 나에게 주어진 데이터에 적용한 모델의 성능을 정확히 표현하기 위해서도 유용하다 import numpy as np from sklearn.model_selection import KFold X = np.array([ [1, 2], [3, 4], [1, 2], [3, 4] ]) y = np.array([1, 2, 3, 4]) kf = KFold(n_splits=2) print(kf.get_n_splits(X)) print.. 2023. 1. 5.
[ML] Pipeline 단순히 iris, wine 데이터를 받아서 사용했을 뿐인데도 코드 진행시에 어려움이 있다. Jupyter Notebook상황에서 데이터의 전처리와 여러 알고리즘의 반복실행, 하이퍼 파라미터의 튜닝과정을 번갈아 하다보면 코드 실행 순서에 혼돈이 있을 수 있다. 이런경우 클래스class로 만들어서 진행해도 되지만, sklearn에는 그럴 필요가 없게 준비된 기능이 있다. -> Pipeline import pandas as pd red_url = "https://raw.githubusercontent.com/PinkWink/ML_tutorial/master/dataset/winequality-red.csv" white_url = "https://raw.githubusercontent.com/PinkWink/M.. 2023. 1. 5.