자기계발/Python

[빅데이터분석기사] 11 모델평가

호등 2022. 6. 20. 11:37
반응형

Final_model = LogisticRegression(C=10)
Final_model.fit(X_train, y_train)

pred_train = Final_model.predict(X_train)
Final_model.score(X_train, y_train)

pred_test = Final_model.predict(X_test)
Final_model.score(X_test, y_test)

이번 장에서는 LogisticRegression(C=10)을 최종 모델로 하여 모델 평가를 진행할 것이다.

데이터불러오기 등 이전 단계와 동일하여 이전 섹션에 코드 이어서 작성했다.

 

1) 혼동행렬

얼마나 정분류 되었는지, 무엇이 오분류되었는지 확인하기

#혼동행렬로 정분류, 오분류 비율 확인
from sklearn.metrics import confusion_matrix
confusion_train = confusion_matrix(y_train, pred_train)
print("훈련데이터 오차행렬:\n", confusion_train)

sklearn.metrics에서 confusion_matrix를 불러온다.

confusion_train 변수에 confusion_matrix(y_train, pred_train) 넣어서 출력!

from sklearn.metrics import classification_report
cfreport_train = classification_report(y_train, pred_train)
print("분류예측 레포트:\n", cfreport_train)

sklearn.metrics에서 classification_report를 불러와

분류 모델 평과 결과, 다양한 지표를 확인할 수 있다.

cfreport_train 변수에 classification_report(y_train, pred_train) 넣어서 출력!

 

같은 방법으로 테스트데이터의 오차행렬과 분류모델평가 상세 지표 확인 가능하다.

 

2) ROC Curve

#ROC 계산
from sklearn.metrics import roc_curve, auc
from sklearn import metrics
false_positive_rate, ture_positive_rate, thresholds = roc_curve(y_test, Final_model.decision_function(X_test))
roc_auc = metrics.roc_auc_score(y_test, Final_model.decision_function(X_test))

roc_auc

ROC 계산을 위한 라이브러리

from sklearn.metrics import roc_curve, auc

from sklearn import metrics

복잡해보이지만 하나씩 뜯어서 외우자면,

false_positive_rate : FP

true_positive_rate : TP

thresholds = roc_curve(y_test, Final_model.decision_function(X_test)

 

이후, ROC를 구해줌

roc_auc = metrics.roc_auc_score(y_test, Final_model.decision_function(X_test))

 

이 다음 내용에 ROC Curve 도표 그려서 시각화 하는 내용도 나오는데 

이거까지 하면 더 공부하기 싫을것 같으니까 꼭 필요한거면 나중에 해야지~

반응형