Метрики sklearn: оценка качества моделей машинного обучения
Метрики в библиотеке scikit-learn (sklearn)
Метрики в библиотеке scikit-learn (sklearn) являются важной составляющей процесса оценки качества модели машинного обучения. Метрики представляют собой числовые значения, которые позволяют оценить, насколько успешно модель выполняет свою задачу, сравнивая ее прогнозы с фактическими значениями.
Scikit-learn предоставляет широкий спектр метрик для различных видов задач машинного обучения, таких как классификация, регрессия и кластеризация. Давайте рассмотрим некоторые из самых популярных метрик и примеры использования.
Метрики классификации:
- Accuracy (Точность): Это самая простая метрика классификации, которая измеряет долю правильно классифицированных примеров. Она рассчитывается как отношение числа правильно угаданных примеров к общему числу примеров.
- Precision (Точность): Precision измеряет, какая доля объектов, отнесенных к положительному классу, действительно является положительными. Чем выше precision, тем меньше ложноположительных результатов.
- Recall (Полнота): Recall измеряет, какая доля положительных объектов была правильно классифицирована. Чем выше recall, тем меньше ложноотрицательных результатов.
from sklearn.metrics import accuracy_score
y_true = [0, 1, 1, 0, 1]
y_pred = [0, 0, 1, 0, 1]
accuracy = accuracy_score(y_true, y_pred)
print("Accuracy:", accuracy)
from sklearn.metrics import precision_score
y_true = [0, 1, 1, 0, 1]
y_pred = [0, 0, 1, 0, 1]
precision = precision_score(y_true, y_pred)
print("Precision:", precision)
from sklearn.metrics import recall_score
y_true = [0, 1, 1, 0, 1]
y_pred = [0, 0, 1, 0, 1]
recall = recall_score(y_true, y_pred)
print("Recall:", recall)
Метрики регрессии:
- Mean Squared Error (Средняя квадратичная ошибка): MSE измеряет среднюю ошибку (разность между прогнозируемыми и фактическими значениями) на квадрате. Чем меньше MSE, тем лучше модель.
- R-squared (Коэффициент детерминации): R-squared измеряет, насколько прогнозирующая модель лучше среднего значения. Значение R-squared должно быть близко к 1 для хорошей модели.
from sklearn.metrics import mean_squared_error
y_true = [2, 4, 7, 9, 10]
y_pred = [1, 3, 6, 8, 11]
mse = mean_squared_error(y_true, y_pred)
print("MSE:", mse)
from sklearn.metrics import r2_score
y_true = [2, 4, 7, 9, 10]
y_pred = [1, 3, 6, 8, 11]
r2 = r2_score(y_true, y_pred)
print("R-squared:", r2)
Это лишь некоторые примеры метрик, доступных в библиотеке scikit-learn. Конечно, в зависимости от вашей конкретной задачи, вы можете использовать другие метрики, такие как F1-мера, средняя абсолютная ошибка (MAE) и так далее. Чтобы узнать больше о каждой метрике и ее использовании, вы можете обратиться к официальной документации scikit-learn.
Важно отметить, что метрики должны выбираться в соответствии с вашей конкретной задачей и целями модели машинного обучения. Выбор правильных метрик поможет вам оценить и сравнить модели и принять обоснованные решения на основе их результатов.