더북(TheBook)

Note ≡


역주 RocCurveDisplay 클래스와 PrecisionRecallDisplay 클래스를 사용하면 ROC 곡선과 정밀도-재현율 곡선을 쉽게 그릴 수 있습니다.

RocCurveDisplay 객체에는 FPR과 TPR 값이 저장되어 있어 평균을 구할 때 활용할 수 있습니다. 다음은 앞에서처럼 교차 검증의 ROC 곡선을 그리는 코드입니다.

>>> from sklearn.metrics import RocCurveDisplay
>>> fig, ax = plt.subplots(figsize=(7, 5))
>>> mean_tpr = 0.0
>>> mean_fpr = np.linspace(0, 1, 100)
>>> for i, (train, test) in enumerate(cv):
...     pipe_lr.fit(X_train2[train], y_train[train])
...     roc_disp = RocCurveDisplay.from_estimator(pipe_lr,
...                                               X_train2[test], y_train[test], 
...                                               name=f'Fold {i}', ax=ax)
...     mean_tpr += interp(mean_fpr, roc_disp.fpr, roc_disp.tpr)
...     mean_tpr[0] = 0.0
>>> plt.plot([0, 1], [0, 1],
...          linestyle='--', color=(0.6, 0.6, 0.6),
...          label='Random guessing')
>>> mean_tpr /= len(cv)
>>> mean_tpr[-1] = 1.0
>>> mean_auc = auc(mean_fpr, mean_tpr)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.