Файл: 1. Классификация признаков данных (Качественные и количественные, непрерывные и дискретные). Номинальные, порядковые, интервальные, дихотомические, относительные переменные.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.10.2023
Просмотров: 644
Скачиваний: 19
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Стоит также отметить, что для задачи классификации мы выбираем решение голосованием по большинству, а в задаче регрессии – средним.
Необходимые параметры алгоритма
Число деревьев – n_estimators
Чем больше деревьев, тем лучше качество. Стоит отметить, что время настройки и работы Random Forest будут пропорционально увеличиваться, что может сказаться на производительности.
Часто при большом увеличении n_estimators качество на обучающей выборке может даже доходить до 100%, в то время как качество на тесте выходит на асимптоту, что сигнализирует о переобучении нашей модели. Лучший способ избежать этого – прикинуть, сколько деревьев вам достаточно, зафиксировав момент, когда качество теста еще не становится стабильно-неизменным.
Критерий расщепления – criterion
Также один из самых важных параметров для построения, но без значительной возможности выбора. В библиотеке sklearn для задач классификации реализованы критерии gini и entropy. Они соответствуют классическим критериям расщепления: джини и энтропии.
В свою очередь, для задач регрессии реализованы два критерия (mse и mae), которые являются функциями ошибок Mean Square Error и Mean Absolute Error соответственно. Практически во всех задачах используется критерий mse.
Простой метод перебора поможет выбрать, что использовать для решения конкретной проблемы.
Число признаков для выбора расщепления – max_features
При увеличении max_features увеличивается время построения леса, а деревья становятся похожими друг на друга. В задачах классификации он по умолчанию равен sqrt(n), в задачах регрессии – n/3.
Является одним из самых важных параметров в алгоритме. Он настраивается в первую очередь, после того, как мы определили тип нашей задачи.
Минимальное число объектов для расщепления – min_samples_split
Второстепенный по своему значению параметр, его можно оставить в состоянии по умолчанию.
Ограничение числа объектов в листьях – min_samples_leaf
Аналогично с min_samples_split, но при увеличении данного параметра качество модели на обучении падает, в то время как время построения модели сокращается.
Максимальная глубина деревьев – max_depth
Чем меньше максимальная глубина
, тем быстрее строится и работает алгоритм случайного дерева.
При увеличении глубины резко возрастает качество как на обучении модели, так и на ее тестировании. Если у вас есть возможность и время для построения глубоких деревьев, то рекомендуется использовать максимальное значение данного параметра.
Неглубокие деревья рекомендуется использовать в задачах со значительным количеством шумовых объектов (выбросов).
К оглавлению
28. Алгоритм Градиентного Бустинга. Для решения каких задач применяется алгоритм? Объясните принцип работы алгоритма. Основные параметры при работе алгоритма. Популярные реализации алгоритма.
Градиентный бустинг – это продвинутый алгоритм машинного обучения для решения задач классификации и регрессии. Он строит предсказание в виде ансамбля слабых предсказывающих моделей, которыми в основном являются деревья решений. Из нескольких слабых моделей в итоге мы собираем одну, но уже эффективную. Общая идея алгоритма – последовательное применение предиктора (предсказателя) таким образом, что каждая последующая модель сводит ошибку предыдущей к минимуму.
Предположим, что вы играете в гольф. Чтобы загнать мяч в лунĸу, вам необходимо замахиваться клюшкой, каждый раз исходя из предыдущего удара. То есть перед новым ударом гольфист в первую очередь смотрит на расстояние между мячом и лунĸой после предыдущего удара, так как наша основная задача – при следующем ударе уменьшить это расстояние.
Бустинг строится таким же способом. Для начала, нам нужно ввести определение “лунĸи”, а именно цели, которая является конечным результатом наших усилий. Далее необходимо понимать, куда нужно “бить ĸлюшĸой”, для попадания ближе ĸ цели. С учётом всех этих правил нам необходимо составить правильную последовательность действий, чтобы ĸаждый последующий удар соĸращал расстояние между мячом и лунĸой.
Стоит отметить, что для задач классификации и регрессии реализация алгоритма в программировании будет различаться.
Параметры алгоритма
-
loss – функция ошибки для минимизации.
-
criterion – критерий выбора расщепления, Mean Absolute Error (MAE) или Mean Squared Error (MSE). Используется только при построении деревьев.
-
init – какой алгоритм мы будем использовать в качестве главного (именно его и улучшает техника бустинга).
-
learning_rate – скорость обучения.
-
n_estimators – число итераций в бустинге. Чем больше, тем лучше качество, однако слишком большой увеличение данного параметра может привести к ухудшению производительности и переобучению.
-
min_samples_split – минимальное число объектов, при котором происходит расщепление. С данным параметром мы можем избежать переобучение.
-
min_samples_leaf – минимальное число объектов в листе (узле). При увеличении данного параметра качество модели на обучении падает, в то время как время построения модели сокращается. Меньшие значения стоит выбирать для менее сбалансированных выборок.
-
max_depth – максимальная глубина дерева. Используется для того, чтобы исключить возможность переобучения.
-
max_features – количество признаков, учитываемых алгоритмом для построения расщепления в дереве. -
max_leaf_nodes : Максимальное число верхних точек в дереве. При наличии данного пара`метра max_depth будет игнорироваться.
Для общего развития имеет смысл посмотреть реализацию в sklearn, но на практике она весьма медленная и не такая уж умная.
Хороших реализаций GBDT есть, как минимум, три: LightGBM, XGBoost и CatBoost. Исторически они отличались довольно сильно, но за последние годы успели скопировать друг у друга все хорошие идеи.