sklearn.metrics.classification_CSV 파일을 통해 보고서 출력 결과 내보내기
5003 단어 Pythonscikit-learntech
어떻게 썼어요?
작업 때문에 sklearn.metrics.classification_report 출력 결과를 보고서에 붙이려고 코드를 썼어요.
샘플 코드
sklearn.metrics.classification_report 기본적으로 문자열만 출력하지만 설정 파라미터
output_dict=True
를 통해 사전화된 문자열을 되돌려줍니다.사전이 구조화되었음pandas.DataFrame
CSV 파일로 가져오고 출력할 수 있다면 하고 싶은 일을 할 수 있습니다.import numpy as np
import pandas as pd
from sklearn.metrics import classification_report
# https://scikitlearn.org/stable/modules/generated/sklearn.metrics.classification_report.html
y_true = np.array([0, 1, 2, 2, 2])
y_pred = np.array([0, 0, 2, 2, 1])
target_names = ['class 0', 'class 1', 'class 2']
report = classification_report(y_pred=y_pred, y_true=y_true,
target_names=target_names, output_dict=True)
# 転置しているのはmetrics名をheaderにするため
report_df = pd.DataFrame(report).T
report_df
"""
precision recall f1-score support
class 0 0.5 1.000000 0.666667 1.0
class 1 0.0 0.000000 0.000000 1.0
class 2 1.0 0.666667 0.800000 3.0
accuracy 0.6 0.600000 0.600000 0.6
macro avg 0.5 0.555556 0.488889 5.0
weighted avg 0.7 0.600000 0.613333 5.0
"""
# index=Falseにするとラベル名が消えてしまうので注意
report_df.to_csv("report.csv")
pd.read_csv("report.csv", index_col=0)
"""
precision recall f1-score support
class 0 0.5 1.000000 0.666667 1.0
class 1 0.0 0.000000 0.000000 1.0
class 2 1.0 0.666667 0.800000 3.0
accuracy 0.6 0.600000 0.600000 0.6
macro avg 0.5 0.555556 0.488889 5.0
weighted avg 0.7 0.600000 0.613333 5.0
"""
참고 자료
Reference
이 문제에 관하여(sklearn.metrics.classification_CSV 파일을 통해 보고서 출력 결과 내보내기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/wakame/articles/20201113_sklearn_classification_report텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)