Классификационный отчет в машинном обучении
Классификационный отчет – это показатель оценки эффективности в машинном обучении. Он используется, чтобы показать точность, отзывчивость, оценку F1, а также поддержку вашей обученной модели классификации. Если вы никогда раньше не использовали его для оценки производительности своей модели, эта статья для вас. В этой статье я познакомлю вас с классификационным отчетом в машинном обучении и его реализацией с использованием Python.
Классификационный отчет
Это – один из показателей оценки эффективности модели машинного обучения на основе классификации. Он отображает точность вашей модели, отзывчивость, оценку F1 и поддержку. Он дает лучшее понимание общей производительности нашей обученной модели. Чтобы понять классификационный отчет модели машинного обучения, вам необходимо знать все показатели, отображаемые в этом отчете. Для четкого понимания я описал все показатели ниже, чтобы вы могли легко понять отчет о классификации вашей модели машинного обучения:
Метрика |
Определение |
---|---|
Точность |
Точность определяется как отношение истинно положительных результатов к сумме истинных и ложных срабатываний. |
Напоминание |
Напоминание определяется как отношение истинных положительных результатов к сумме истинно положительных и ложно отрицательных результатов. |
Оценка F1 |
F1 – это взвешенное среднее гармоническое значение точности и напоминания. Чем ближе значение показателя F1 к 1,0, тем выше ожидаемая производительность модели. |
Поддержка |
Поддержка – это количество фактических вхождений класса в набор данных. Она не отличается у моделей, она просто диагностирует процесс оценки эффективности. |
Надеюсь, вы теперь понимаете, что такое классификационный отчет в машинном обучении. В следующем разделе я расскажу вам о его реализации с использованием Python.
Классификационный отчет с использованием Python
Чтобы просмотреть классификационный модели машинного обучения, мы должны сначала обучить модель машинного обучения. В приведенном ниже коде я сначала обучил очень простую модель машинного обучения для классификации спам-сообщений и для оценки ее производительности я использовал классификационный отчет с использованием Python:
import pandas as pd import numpy as np from sklearn.feature_extraction.text import CountVectorizer from sklearn.model_selection import train_test_split from sklearn.naive_bayes import MultinomialNB data = pd.read_csv("https://biconsult.ru/img/datascience-ml-ai/spam.csv", encoding= 'latin-1') data = data[["class", "message"]] x = np.array(data["message"]) y = np.array(data["class"]) cv = CountVectorizer() X = cv.fit_transform(x) # Fit the Data X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) clf = MultinomialNB() clf.fit(X_train,y_train) predictions = clf.predict(X_test) # Classification Report from sklearn.metrics import classification_report print(classification_report(y_test, predictions))
Результат:
|
precision |
recall |
f1-score |
support |
ham |
0.99 |
0.99 |
0.99 |
1587 |
spam |
0.93 |
0.92 |
0.92 |
252 |
accuracy |
|
|
0.98 |
1839 |
macro avg |
0.96 |
0.95 |
0.96 |
1839 |
weighted avg |
0.98 |
0.98 |
0.98 |
1839 |
Резюме
Вот как вы можете отобразить отчет о классификации вашей модели машинного обучения. Это – показатель оценки производительности в машинном обучении, который используется для отображения точности, отзыва, оценки F1 и оценки поддержки вашей обученной модели классификации. Надеюсь, вам понравилась эта статья о том, что такое классификационный отчет в машинном обучении и его реализация с использованием Python.