머신러닝은 데이터 가공/ 변환, 모델 학습/ 예측 , 그리고 평가의 프로세스로 구성된다.
분류의 선능 평가 지표
- accurary
- Confusion Matrix
- Precision
- Recall
- F1
- ROC_AUC
트레이드 오프
- 정밀도 / 재현율 트레이드 오프
- 정밀도와 재현율은 상호 보완적인 평가 지표이기 때문에 어느 한쪽ㄷ을 강제로 높이면 다른 하나의 수치는 떨어지기 쉽습니다.
- 이를 정밀도/재현율 트레이드 오프 라고 합니다.
- 임계값 : threshold
- precision_recall_curve(y_test,pred_proba_class1)
- precisions, recalls, thresholds = precision_recall_curve(y_test,pred_proba_class1)
- 임계값의 인덱스 추출 하여 nd.array 로 생성
- 인덱스에 해당하는 임계값 추출
- 인덱스에 해당하는 정밀도와 재현율 값 추출
- 이를 이용한 시각화
- Binarizer(theshold=임계값) 변경된 값 , predict_proba()[:,1] 예측확률 배열에서 1에 해당하는 칼럼값을 변경
교차검증
- KFold (n_splits = 분할할 폴드 수)
- cross_val_score
하이퍼파라미터 튜닝
- GridSearchCV(모델, param_grid = {파라미터 딕셔너리} , scoring=점수 , cv = 5)
- 최적의 하이퍼 파라미터 : best_params_
- 최고의 정확도 : best_score_
- 최적의 하이퍼 파라미터로 학습괸 Estimator : best_estimator_
결정트리 / DecisionTree Classifier and Regression
prameter =
- {'min_samples_split':'노드를 분할 하기 위한 최소한의 샘플 데이터 수 / defualt = 2'}
- {'min_samples_leaf':'말단 노드가 되기 위한 최소한의 샘플데이터 수'}
- {'max_features':'최적의 분할을 위해 고려할 최대 피처 개수 / defualt =None'}
- {'max_depth':'트리의 최대 깊이 / default = None'}
- {'max_leaf_nodes':'말단 노드의 최대 개수'}
- 결정트리분류 모델이 반복시마다 동일한 예측 결과 도출을 위해 random_state 설정
randomforest
'Development Study > Machine Learning' 카테고리의 다른 글
[ML] 파이썬 머신러닝 - 진행과정에 대한 공부 (0) | 2020.10.18 |
---|---|
[ML] 파이썬 머신러닝 - 계층적 샘플링 / Stratified sampling (0) | 2020.10.18 |