Помимо очевидных характеристик классификатора, таких как
- вычислительные затраты,
- ожидаемые типы данных функций / меток и
- пригодность для определенных размеров и размеров наборов данных,
Какие пять (или 10, 20?) классификаторов лучше всего опробовать на новом наборе данных, о котором еще мало что известно (например, семантика и корреляция отдельных функций)? Обычно я пробую Наивный Байес, Ближайший сосед, Дерево решений и SVM - хотя у меня нет веских оснований для этого выбора, кроме как я их знаю и в основном понимаю, как они работают.
Я думаю, что следует выбирать классификаторы, которые охватывают наиболее важные общие подходы классификации. Какой выбор вы бы порекомендовали, в соответствии с этим критерием или по любой другой причине?
ОБНОВЛЕНИЕ: альтернативной формулировкой этого вопроса может быть: «Какие общие подходы к классификации существуют и какие конкретные методы охватывают наиболее важные / популярные / перспективные?»
источник
Ответы:
Случайный Лес
Быстрая, надежная, хорошая точность, в большинстве случаев ничего не настраивающая, не требует нормализации, невосприимчива к коллинеарности, генерирует довольно хорошую аппроксимацию ошибок и полезное ранжирование важности как побочный эффект обучения, тривиально параллельный, предсказывает в мгновение ока.
Недостатки: медленнее, чем тривиальные методы, такие как kNN или NB, лучше всего работает с равными классами, худшая точность, чем у SVM, для задач, которые отчаянно требуют трюка с ядром, сложный черный ящик, не делает кофе.
источник
Классификатор гауссовских процессов (без использования приближения Лапласа), предпочтительно с маргинализацией, а не с оптимизацией гиперпараметров. Зачем?
Downsides
Хотя первым выбором будет регуляризованная логистическая регрессия или регрессия гребня [без выбора признаков] - для большинства задач очень простые алгоритмы работают довольно хорошо и их труднее ошибиться (на практике различия в производительности между алгоритмами меньше, чем различия в производительности между оператором за рулем).
источник
Самостоятельно, когда вы приближаетесь к новому набору данных, вы должны начать следить за всей проблемой. Прежде всего, получите распределение по категориальным признакам, средним и стандартным отклонениям для каждого непрерывного признака. Затем:
Затем я обычно делю методы классификации на 2 набора: метод белого ящика и метод черного ящика. Если вам нужно знать, «как работает классификатор», вы должны выбрать в первом наборе, например, деревья решений или классификаторы на основе правил.
Если вам нужно классифицировать новые записи без построения модели, следует обратить внимание на усердного ученика, например, KNN.
После этого я думаю, что лучше иметь порог между точностью и скоростью: нейронная сеть немного медленнее, чем SVM.
Это моя пятерка лучших техник классификации:
источник