728x90

머신러닝은 데이터 가공/ 변환, 모델 학습/ 예측 , 그리고 평가의 프로세스로 구성된다.

 

분류의 선능 평가 지표

- 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

728x90

+ Recent posts