Cross Val Score: A Crucial Tool for Machine Learning Optimization
Cross-validation - это метод оценки качества модели на основе разбиения выборки на несколько одинаковых подмножеств и последующего обучения и тестирования модели на них.
В основе метода лежит идея о том, что многократное обучение и тестирование модели на различных фолдах позволяет получить более точно оценить ее качество на новых данных и уменьшить эффект переобучения.
Отличительной особенностью метода является то, что все объекты выборки участвуют одинаковое число раз в качестве тренировочных и тестовых.
Одним из способов реализации кросс-валидации является функция cross_val_score из библиотеки sklearn в Python.
Пример кода использования данной функции на примере модели Random Forest Regression:
python
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import cross_val_score
import pandas as pd
# загрузка данных
data = pd.read_csv("data.csv")
# определение признаков и целевой переменной
X = data.drop(columns=['target'])
y = data['target']
# создание модели случайного леса
rf = RandomForestRegressor(n_estimators=10, max_depth=5)
# оценка качества модели с помощью 5-кратной кросс-валидации
scores = cross_val_score(rf, X, y, scoring='neg_mean_squared_error', cv=5)
# вывод средней оценки качества
print("Средняя оценка качества модели: ", scores.mean())
В данном примере мы загружаем данные, определяем признаки и целевую переменную, создаем модель случайного леса, и оцениваем ее качество с помощью 5-кратной кросс-валидации и метрики MSE (Mean Squared Error). Результатом является средняя оценка качества модели на разных фолдах кросс-валидации.
Таким образом, метод cross_val_score позволяет оценить устойчивость и точность модели на основе ее работы на разных фолдах выборки.