Классификационный отчет в машинном обучении
Классификационный отчет – это показатель оценки эффективности в машинном обучении. Он используется, чтобы показать точность, отзывчивость, оценку 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.



