На этом шаге мы наметим дальнейший план работы.
Обсудив основы машинного обучения с учителем и без учителя, теперь мы еще сильнее погрузимся в вопросы, связанные с оценкой моделей и выбором параметров.
Мы сосредоточимся на методах машинного обучения с учителем, регрессии и классификации, поскольку оценка качества и выбор моделей машинного обучения без учителя часто представляют собой очень субъективную процедуру.
Вплоть до настоящего момента для оценки качества модели мы разбивали наши данные на обучающий и тестовый наборы с помощью функции train_test_split(), строили модель на обучающей выборке, вызвав метод fit(), и оценивали ее качество на тестовом наборе, используя метод score(), который для классификации вычисляет долю правильно классифицированных примеров. Вот пример вышеописанной последовательности действий:
[In 2]: from sklearn.datasets import make_blobs from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split # создаем синтетический набор данных X, y = make_blobs(random_state=0) # разобъем данные на обучающий и тестовый наборы X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0) # создаем экземпляр модели и подгоняем его на обучающем наборе logreg = LogisticRegression().fit(X_train, y_train) # оцениваем качество модели на тестовом наборе print("Правильность на тестовом наборе: {:.2f}".format(logreg.score(X_test, y_test))) Правильность на тестовом наборе: 0.88
Вспомним, что причина, по которой мы разбиваем наши данные на обучающий и тестовый наборы, заключается в том, что нас интересует, насколько хорошо наша модель обобщает результат на новые, ранее неизвестные данные. Нас интересует не качество подгонки модели к обучающим данным, а правильность ее прогнозов для данных, не участвовавшихся в обучении.
В следующих шагах мы подробнее остановимся на двух аспектах этой оценки. Сначала мы расскажем о перекрестной проверке, более надежном способе оценки обобщающей способности, а также рассмотрим методы оценки обобщающей способности для классификации и регрессии, которые выходят за рамки традиционных показателей правильности и R2, предусмотренных методом fit().
Кроме того, мы рассмотрим решетчатый поиск (grid search), эффективный метод, который предназначен для корректировки параметров в моделях контролируемого машинного обучения с целью получения наилучшей обобщающей способности.
На следующем шаге мы рассмотрим перекрестную проверку.