인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

박정아님의 프로필 이미지
박정아

작성한 질문수

[비전공자 대환영] 캐글 데이터를 활용한 Optuna with MLFlow - 캐글다지기

ImportError: cannot import name 'plot_roc_curve

작성

·

1.5K

0

로지스틱 모형 개발 with MLFLow의
lecture_01_classification_titanic_mlflow.ipynb 에서

ImportError: cannot import name 'plot_roc_curve' from 'sklearn.metrics' (C:\Users\user\anaconda3\lib\site-packages\sklearn\metrics\__init__.py)
위와 같은 오류가 납니다.

아마도 버전 때문인 것 같습니다만, 현재 sklearn version: 1.2.1 입니다.

 

RocCurveDisplay 임포트 하고
roc_plot = plot_roc_curve(ml_model, X_test, y_test, name="Scikit-Learn ROC Curve")
roc_plot = RocCurveDisplay(ml_model, X_test, y_test, name="Scikit-Learn ROC Curve")

이 부분을 name="Scikit-Learn ROC Curve" 어떻게 변경해야 하는지요?
답변 부탁드립니다. 감사합니다.

답변 1

1

Evan님의 프로필 이미지
Evan
지식공유자

질문 주셔서 감사합니다.

scikit-learn 1.2.1 버전을 사용하시는 분들은 중간에 코드 2개를 수정해야 합니다.

먼저 라이브러리를 불러올 때는

기존 : from sklearn.metrics import roc_auc_score, plot_roc_curve, confusion_matrix 에서

수정 : from sklearn.metrics import roc_auc_score, RocCurveDisplay, confusion_matrix

변경바랍니다.

def evaluate 함수 중간 코드에

기존 : roc_plot = plot_roc_curve(ml_model, X_test, y_test, name="Scikit-Learn ROC Curve") 에서

수정 : roc_plot = RocCurveDisplay.from_estimator(ml_model, X_test, y_test, name="Scikit-Learn ROC Curve") 으로 수정 바랍니다.

공식문서 참조 : https://scikit-learn.org/stable/modules/generated/sklearn.metrics.RocCurveDisplay.html#sklearn.metrics.RocCurveDisplay.from_estimator

박정아님의 프로필 이미지
박정아

작성한 질문수

질문하기