언어/파이썬

머신러닝with파이썬5강(3)_분류모델평가, 회귀모델평가

디지털랫드 2024. 3. 12. 21:05

평가 (분류 모델)


  • 정확도 accuracy: 실제 값과 예측값이 일치하는 비율
  • 정밀도 precision: 양성이라고 예측한 값 중 실제 양성인 값의 비율 (암이라고 예측 한 값 중 실제 암)
  • 재현율 recall: 실제 양성 값 중 양성으로 예측한 값의 비율 (암을 암이라고 판단)
  • F1: 정밀도와 재현율의 조화평균
  • ROC-AUC
    • ROC: 참 양성 비율(True Positive Rate)에 대한 거짓 양성 비율(False Positive Rate) 곡선
    • AUC: ROC곡선 면적 아래 (완벽하게 분류되면 AUC가 1임)
 
 
코드 실행
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
/tmp/ipykernel_13/2142235119.py in <module>
      1 # 정확도
      2 from sklearn.metrics import accuracy_score
----> 3 accuracy_score(y_test, pred)

NameError: name 'y_test' is not defined
 
 
코드 실행
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
/tmp/ipykernel_13/94640646.py in <module>
      1 # 정밀도
      2 from sklearn.metrics import precision_score
----> 3 precision_score(y_test, pred)

NameError: name 'y_test' is not defined
 
 
코드 실행
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
/tmp/ipykernel_13/124820342.py in <module>
      1 # 재현율
      2 from sklearn.metrics import recall_score
----> 3 recall_score(y_test, pred)

NameError: name 'y_test' is not defined
 
 
코드 실행
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
/tmp/ipykernel_13/3016337908.py in <module>
      1 # f1
      2 from sklearn.metrics import f1_score
----> 3 f1_score(y_test, pred)

NameError: name 'y_test' is not defined
 
코드 실행
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
/tmp/ipykernel_13/160345523.py in <module>
      2 from sklearn.metrics import roc_auc_score
      3 model = XGBClassifier(random_state=0, use_label_encoder=False, eval_metric='logloss')
----> 4 model.fit(X_train, y_train)
      5 pred = model.predict_proba(X_test)
      6 roc_auc_score(y_test, pred[:,1])

NameError: name 'X_train' is not defined

 

 

 

평가 (회귀)


이번 시간에는 회귀 평가 지표에 대해서 같이 한번 살펴보도록 하겠습니다.

평가 지표는 여러 개가 있지만 그중 5개를 살펴보겠습니다.

이번 시간 정리



아래의 코드 실행 버튼을 눌러 실습을 진행해 보세요!

1) 평가 (회귀)

실행 완료
[34]:
47.57186281011346
실행 완료
[33]:
3173.045180496539
실행 완료
[32]:
56.32978945901129
코드 실행
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
/tmp/ipykernel_13/2905631794.py in <module>
      1 # RMSLE
      2 from sklearn.metrics import mean_squared_log_error
----> 3 np.sqrt(mean_squared_log_error(y_test, pred))

NameError: name 'np' is not defined