Изучение различных методов экспорта отчетов о классификации в Excel с примерами кода

В задачах машинного обучения и анализа данных отчеты о классификации предоставляют ценную информацию о производительности моделей классификации. Экспорт этих отчетов в Excel может быть полезен для дальнейшего анализа, обмена результатами с заинтересованными сторонами или создания подробных отчетов. В этой статье блога мы рассмотрим несколько методов экспорта отчетов о классификации в Excel на примерах кода.

Методы:

  1. Метод с использованием 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)
  2. Метод с использованием библиотеки 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')
  3. Метод с использованием библиотеки 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()