[отредактировано 21.7.15 8:31 CEST]
Я полагаю, вы использовали RF для классификации. Потому что в этом случае алгоритм создает полностью выращенные деревья с чистыми терминальными узлами только одного целевого класса.
predict(model, data=X_train)
Эта линия кодирования подобна собаке, преследующей [~ 66%] своего хвоста. Предсказание любой обучающей выборки - это класс самой обучающей выборки. Для регрессии RF останавливается, если в узле 5 или менее выборок, или если узел чистый. Здесь ошибка прогнозирования будет небольшой, но не 0%.
В машинном обучении мы часто работаем с большими пространствами гипотез. Это означает, что всегда будет много еще не сфальсифицированных гипотез / объяснений / моделей для структуры данных нашего обучающего набора. В классической статистике пространство гипотез часто невелико, и поэтому прямая подборка моделей является информативной в соответствии с некоторой предполагаемой теорией вероятностей. В машинном обучении прямое несоответствие относится к смещению модели. Смещение - это «негибкость» модели. Это нев любом случае обеспечим приблизительное обобщение мощности (способность прогнозировать новые события). Для алгоритмических моделей перекрестная проверка является наилучшим инструментом для аппроксимации мощности обобщения, поскольку теория не сформулирована. Однако, если допущения модели о независимой выборке не удаются, модель может быть бесполезной в любом случае, даже если хорошо выполненная перекрестная проверка предложила иное. В конце самое сильное доказательство состоит в том, чтобы удовлетворительно предсказать количество внешних тестовых наборов различного происхождения.
Вернуться к CV: «Out-of-bag» часто является общепринятым типом CV. Я лично считаю, что OOB-CV дает результаты, аналогичные 5-кратному CV, но это очень маленькая неприятность. Если сравнить, скажем, RF с SVM, то OOB-CV бесполезен, так как мы обычно избегаем использовать SVM. Вместо этого и SVM, и RF будут встроены в одну и ту же схему перекрестной проверки, например, 10-кратные 10-повторные с соответствующими разделами для каждого повторения. Любые этапы разработки функций часто также необходимо пересекать. Если держать вещи в чистоте, весь конвейер данных может быть встроен в резюме.
Если вы настраиваете свою модель с помощью набора тестов (или перекрестной проверки), вы снова накачиваете свое пространство гипотез, и подтвержденная эффективность прогнозирования, вероятно, будет чрезмерно оптимистичной. Вместо этого вам понадобится набор калибровки (или калибровочная CV-петля) для настройки и тестовый набор проверки (или валидационная CV-петля) для оценки вашей окончательной оптимальной модели.
В крайнем смысле, ваш результат проверки будет беспристрастным, если вы никогда не будете действовать на этот результат, когда вы его видите. Это парадокс валидации, потому что зачем нам получать знания, которые верны, только если вы не действуете на них. На практике сообщество охотно принимает некоторую предвзятость публикации, когда те исследователи, которые получили чрезмерно оптимистическую проверку наугад, чаще публикуют, чем те, кто, к несчастью, дает слишком пессимистическую оценку. Поэтому иногда почему нельзя воспроизвести другие модели.