Комментарии 7
Если правильно помню, то сильную модель можно получить на основе результатов слабых моделей, поэтому не был бы так категоричен отдавая приоритет только наиболее сильным из них.
Мне показалось или отбор моделей и замер качества проводятся на одном и том же датасете?
Вам стоит почитать что-то про множественное тестирование гипотез.
Вся суть бэггинга в построении множества различных слабых классификаторов, не нужно потом отбирать лучшие классификаторы, которые, к тому же, являются лучшими только на тестовых данных.
Более того, это даже вредно для итогового ансамбля, потому что сильно увеличивается риск переобучения. И это не говоря о том, что нет никакого смысла ускорять Random Forest, работающий и так быстрее подавляющего большинства моделей.
Друзья, спасибо за советы и ценное для меня ваше мнение. К сожалению в наше время слишком много разной информации и мне как новичку ее пока трудно отфильтровать. Мне показалось эта статья интересной и я решил ее перевести и опубликовать! Я обязательно обдумаю все и даже попробую разбирать на train, test и valid. И про решающие деревья я помню - вспоминаю эксперимент Френсиса Гальтона "Сколько весит бык" .
К сожалению, но ваш подход в корне не верный. Вы настраиваете гиперпараметры своей модели на тестовом множестве... То есть переобучаетесь...
Понятно, что так вы получите лучшие результаты. С таким же успехом можете оставить только 1 самую лучшую модель из ансамбля.
Предлагаю, для эксперимента сделать 2 тестовых датасета. На первом настроить параметры, как вы указали в статье... На втором только в самом конце посмотреть на метрики и сравнить... Вы удивитесь :)
Вы можете попробовать сделать кросс-валидацию (хотя бы 80 на 20) на вашем датасете при обучении деревьев и для каждого фолда выбирать топ деревьев, по вашему критерию "лучших результатов". А в конце сравнить какие номера деревьев после 1 фолда были в топе, и после последнего. Если они совпадут, то возможно тут и подойдёт ваш метод.
Идея прикольная, но также нужно учесть, что увеличение количества деревьев используется для уменьшения дисперсии (Random Forest Variance Theory), поэтому такой trade-off тоже нужно учитывать.
Улучшаем модель RandomForestClassifier