전체 글
-
BoostingAI부트캠프 2021. 3. 3. 23:33
Boosting ensemble machine learning 기법 중 하나 독립적인 weak learners를 생성하는 bagging과는 달리, 새로 생성된 weak learner가 이전 weak learner의 결과에 영향을 받는다. 1. Ada boost : 틀린 예측에 가중치를 주고 다음 weak learner 생성. 최종 결과 또한 weak learners 마다 가중치를 주어 결과 도출 2. Gradient boost : Ada boost 와 비슷한 방법이나, 가중치 부여 방법 다름 - gradient descent (residual을 학습하여 residual 더 큰 데이터에 집중하여 학습하게) 3. Xgboost : 결측값을 수용하며, monotonic constraints(비단조증가를 단조증..
-
Feature importance카테고리 없음 2021. 3. 3. 23:24
1. Feature importance model.feature_importances_ 각 특성의 mean decrease impurity를 계산한 값 (high cardinality feature에 대해 misleading 하기 쉬움) 2. Drop-column importances 특성 drop후 score 변화에 따라 그 특성의 중요도 확인 특성 n개 일 때 n+1번 학습필요 3. Permutation Importance import eli5 from eli5.sklearn import PermutationImportance permuter = PermutationImportance( model, scoring='accuracy', n_iter=5, random_state=2 ) X_valid_tr..
-
Choose machine learning modelAI부트캠프 2021. 3. 3. 23:12
Supervised learning machine learning model 만드는 과정 0. Data wrangling - 모델을 만들기 전에 데이터의 형태를 사용하기 쉬운 형태로 변형시키는 것 - 여러개의 데이터셋을 합치거나 데이터 shape를 변형시키는 일련의 과정 - data 전처리와는 다른개념 (데이터 전처리는 value들을 모델에 학습시키기 적절한 형태로 변형시키는 것) 1. 예측할 target 정함 - 분류문제 : 불균형 class의 경우, class weight parameter 또는 oversampling/undersampling 사용 - 회귀 문제 : target 분포 살펴보고, skewed 일 경우 이상치제거와 로그변환 사용하여 성능 높임 *TransformedTargetRegress..
-
Model SelectionAI부트캠프 2021. 3. 3. 22:35
Hyperparameter tuning 1. validation curve training set score와 validation set score가 크게 차이나기 시작하는 지점 (코발트색 선)의 hyperparameter 값을 사용하여 model을 생성하면 최적 model 2. cross validation 사용 훈련데이터를 k개로 분할하여 분할한 그 중 하나의 set를 validation set로, 나머지 k-1개의 set를 training set로 사용하여 검증하는 방법. validation set을 바꿔가며 k번 반복. 1) Randomized Search CV 검증하려는 하이퍼파라미터들의 값의 범위를 정해주면 무작위 n개의 조합에 대해 검증을 진행 2) Grid Search CV 검증하려는 하이..
-
Evaluation metrics for classificationAI부트캠프 2021. 3. 3. 22:14
분류모델의 성능을 판단하기 위한 평가지표 어떤 문제인지에 따라 어느 평가지표를 우선시 해야하는지 판단해야 함 임계값 : 분류문제에서, 예측확률은 임계값을 기준으로 분류할 수 있다. 적절한 평가지표 값이 나오는 임계값을 채택하여 분류할 수 있다. ROC(Receiver Operating Characteristic), AUC(Area Under the Curve) ROC curve : 여러 임계값에 대한 True positive rate(TPR, recall)과 False positive rate(FPR) 그래프 AUC : ROC curve 아래 면적 ROC curve의 곡률이 높을 수록, AUC 값이 1에 가까울수록, 두 범주(class)는 잘 분류되었다고 할 수 있다. 가장 곡률이 높은 점이 최적 임계값..
-
Tree based modelAI부트캠프 2021. 3. 3. 22:01
1. Decision Trees 특성들을 기준으로 샘플을 분류해 나가는 나무 형태의 기계학습 모델 - 분류와 회귀 모두 적용 가능 - 각 분할 지점에서 하나의 특성을 이용하여 sample 들을 분할 비용함수 - gini impurity - entropy 두 class가 혼합된 집단에서 두 class의 비율이 비슷하면 impurity와 entropy 낮음 각 분할 후 자식노드의 불순도가 가장 낮아지는 feature를 해당 지점에서 분할에 사용하여 model을 생성함 from sklearn.tree import DecisionTreeClassifier clf = DecisionTreeClassifier(random_state=2, criterion='entropy') #모델을 학습 clf.fit(X_trai..
-
Linear modelAI부트캠프 2021. 3. 3. 21:00
지도학습(Supervised Learning) 종류 : 회귀(Regression) / 분류(Classification) 데이터셋 분할 - train(모델 학습에 사용), valid(모델 학습 후 검증결과를 확인하고 모델 수정), test(마지막에 모델 성능 확인) (만약 valid set이 없이 test set으로만 모델 성능을 개선시킨다면 모델은 test set에 과적합 할 위험이 있다. * hold out : 직접 훈련/검증/테스트세트로 나누는 방법 * cross validation(이후 model selection에서 다룸) - X (특성행렬), y(타겟배열) 선형 회귀 모델에서 회귀선을 구하는 방법 1. Ordinary least squares (OLS) RSS(residual sum of squ..
-
[Method] Linear regression (선형회귀)AI부트캠프 2021. 1. 28. 23:41
선형회귀 : independent variable과 dependent variable간의 상관관계를 토대로, 주어져 있지 않은 점의 함수 값을 예측하는 예측모델 (supervised learning의 한 종류이다) 예) independent variable을 x축, dependent variable을 y축으로 할 때, 각 데이터(파란색 점)들의 경향성을 가장 잘 나타내는 회귀선(붉은색 선)을 찾는 것 OLS : 선형회귀 방법 중, 잔차제곱합을 최소화하는 방법 import seaborn seaborn.regplot(x= independent_variables, y= dependent_variables) [python] scikit-learn을 이용하여 선형회귀모델을 만드는 방법 1. scikit-learn..