Это второй день моего участия в ноябрьском испытании обновлений, подробности о мероприятии:Вызов последнего обновления 2021 г.
Когда обучается модель машинного обучения/глубокого обучения, нам необходимо использовать определенный метод оценки модели для проверки полученной модели.
Эта серия статей призвана предоставить вводное руководство для читателей, которые плохо знакомы с машинным обучением, чтобы читатели могли получить предварительное представление о методах оценки моделей машинного обучения и, наконец, изучить практические методы.
Обзор трех типов методов оценки моделей
Поскольку у реальных данных нет меток, нам необходимо оценить точность полученной модели с помощью существующих размеченных данных. Основная идея состоит в том, чтобы разделить существующие данные на несколько частей, одну или несколько частей использовать для обучения, а оставшуюся часть или части использовать для оценки модели.
Описанную выше операцию деления можно выполнить тремя способами:Пропуск, перекрестная проверка, начальная загрузка.
Библиотека model_selection фреймворка sklearn инкапсулирует для нас вышеуказанные методы.В этой статье эта библиотека будет использоваться для практических объяснений.
from sklearn import model_selection
1 Метод откладывания
Идея метода set-out очень проста: исходные данные сразу разбиваются на две взаимоисключающие категории, одна из которых используется для обучения модели, а другая — для тестирования. Первый набор является тренировочным, а второй — тестовым.
В sklearn использование train_test_split может реализовать метод пропуска для разделения данных на обучающий набор и тестовый набор, Код выглядит следующим образом:
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB #算法用朴素贝叶斯
clf = GaussianNB()
X_train, X_test, y_train, y_test = train_test_split('数据', '标签', test_size='0-1的小数', random_state=0)
clf.fit(X_train,y_train)
print(clf.score(X_test, y_test))
Проблемы с отменой закона:
Если в некоторых моделях также необходимо выполнить оценку гиперпараметров, это время также необходимо разделить на тип набора данных, называемый набором проверки. Наконец, разделение набора данных становится таким: набор для обучения, набор для проверки и набор для тестирования. Учебный набор предназначен для обучения модели, проверочный набор — для настройки параметров, а тестовый набор — для проверки качества модели.
Однако с приведенным выше разделением все еще есть проблемы: если разделить проверочный набор и тестовый набор, наш обучающий набор станет меньше. И есть проблема, что наша модель будет варьироваться в зависимости от выбранных нами обучающих и проверочных наборов. Итак, в это время мы ввели перекрестную проверку (перекрестную проверку для коротких резюме)
2 Перекрестная проверка
Основная идея кросс-валидации такова: разделить набор данных на k равных частей, для каждого набора данных k-1 часть используется как обучающий набор, а отдельная часть используется как тестовый набор.
В этой заметке в основном представлен этот метод, который также является наиболее распространенным методом проверки.
3 метода самопомощи
Основная идея:Для набора данных D, содержащего m выборок, мы сэмплируем его с заменой m раз и, наконец, получаем набор данных D', содержащий m выборок, этот набор данных D' будет иметь повторяющиеся данные, мы используем его как обучающие данные. Согласно идее теории вероятностей, среди m выборок никогда не собиралось 1/e выборок, и эти выборки, а именно D\D', используются в качестве тестовой выборки. Конкретный вывод можно найти в «Машинном обучении» Чжоу Чжихуа 2.2.3.Начальную загрузку можно использовать, когда наборы данных малы и имеют применение в обучении ансамбля.