В задачах машинного обучения и анализа данных отчеты о классификации предоставляют ценную информацию о производительности моделей классификации. Экспорт этих отчетов в Excel может быть полезен для дальнейшего анализа, обмена результатами с заинтересованными сторонами или создания подробных отчетов. В этой статье блога мы рассмотрим несколько методов экспорта отчетов о классификации в Excel на примерах кода.
Методы:
-
Метод с использованием pandas и scikit-learn:
import pandas as pd from sklearn.metrics import classification_report # Generate classification report report = classification_report(y_true, y_pred) # Convert report to dataframe report_df = pd.DataFrame.from_dict(classification_report_dict(report), orient='index', columns=['precision', 'recall', 'f1-score', 'support']) # Export dataframe to Excel report_df.to_excel('classification_report.xlsx', index=False) -
Метод с использованием библиотеки openpyxl:
from openpyxl import Workbook from openpyxl.utils.dataframe import dataframe_to_rows from sklearn.metrics import classification_report # Generate classification report report = classification_report(y_true, y_pred) # Convert report to dataframe report_df = pd.DataFrame.from_dict(classification_report_dict(report), orient='index', columns=['precision', 'recall', 'f1-score', 'support']) # Create a new workbook workbook = Workbook() sheet = workbook.active # Write dataframe to the worksheet for row in dataframe_to_rows(report_df, index=False, header=True): sheet.append(row) # Save the workbook workbook.save('classification_report.xlsx') -
Метод с использованием библиотеки XlsxWriter:
import xlsxwriter from sklearn.metrics import classification_report # Generate classification report report = classification_report(y_true, y_pred) # Convert report to dataframe report_df = pd.DataFrame.from_dict(classification_report_dict(report), orient='index', columns=['precision', 'recall', 'f1-score', 'support']) # Create a new Excel file workbook = xlsxwriter.Workbook('classification_report.xlsx') worksheet = workbook.add_worksheet() # Write dataframe to the worksheet for i, row in enumerate(report_df.itertuples()): for j, value in enumerate(row[1:]): worksheet.write(i, j, value) # Save and close the workbook workbook.close()