Шаг 132.
Введение в машинное обучение с использованием Python.
Оценка и улучшение качества модели (общие сведения)

    На этом шаге мы наметим дальнейший план работы.

    Обсудив основы машинного обучения с учителем и без учителя, теперь мы еще сильнее погрузимся в вопросы, связанные с оценкой моделей и выбором параметров.

    Мы сосредоточимся на методах машинного обучения с учителем, регрессии и классификации, поскольку оценка качества и выбор моделей машинного обучения без учителя часто представляют собой очень субъективную процедуру.

    Вплоть до настоящего момента для оценки качества модели мы разбивали наши данные на обучающий и тестовый наборы с помощью функции 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), эффективный метод, который предназначен для корректировки параметров в моделях контролируемого машинного обучения с целью получения наилучшей обобщающей способности.

    На следующем шаге мы рассмотрим перекрестную проверку.




Предыдущий шаг Содержание Следующий шаг