П'ять найкращих класифікаторів, які слід спробувати першими


25

Крім очевидних характеристик класифікатора, як

  • обчислювальна вартість,
  • очікувані типи даних функцій / міток та
  • придатність для певних розмірів і розмірів наборів даних,

які перші п’ять (або 10, 20?) класифікаторів спробувати спершу на новому наборі даних, про який ще не відомо багато (наприклад, семантика та співвідношення окремих ознак)? Зазвичай я пробую Naive Bayes, Найближчий сусід, Дерево рішень та SVM - хоча у мене немає вагомих причин для цього вибору, окрім як я їх знаю, і в основному розумію, як вони працюють.

Я думаю, слід вибрати класифікатори, які охоплюють найважливіші загальні підходи до класифікації. Який вибір ви б рекомендували, згідно з цим критерієм чи з будь-якої іншої причини?


ОНОВЛЕННЯ: Альтернативним формулюванням цього питання може бути: "Які загальні підходи до класифікації існують та які конкретні методи охоплюють найбільш важливі / популярні / перспективні?"


Я думаю, що це дублікат ( stats.stackexchange.com/questions/3458/… ). Єдиним додатковим значенням питання тут можуть бути "критерії вибору класифікаторів" (що зробило б запитання дуже загальним). Якщо це дублікат, голосуйте за закриття, інакше голосуйте за cw;)
steffen

@steffen: Ваш посилається на питання корисний, хоча, я думаю, що це не дублікат. Дійсно, моє запитання досить загальне. Я не шукаю рішення певної проблеми, але із загальних причин, чому слід використовувати учнів, які я навчаюсь - я відповідно оновлю своє питання.
Обен Сонне

Відповіді:


21

Випадковий ліс

Швидкий, надійний, хороша точність, в більшості випадків нічого не налаштовує, не вимагає нормалізації, несприйнятливий до колінеарності, генерує досить гарне наближення помилок та корисне ранжування важливості як побічного ефекту тренувань, тривіально паралельних, прогнозує за мить очей.

Недоліки: повільніше, ніж тривіальні методи, такі як kNN або NB, найкраще працює з рівними класами, гіршою точністю, ніж SVM, для проблем, що відчайдушно потребують хитрість ядра, є жорстким чорним скринькою, не робить кави.


1
@mbq (+1) Щодо дисбалансу класу, ми все ще можемо покладатися на стратифікований відбір проб під час розфасування.
chl

3
@mbq, не робить кави? Ось тут порушується угода.
кардинал

Дякуємо за підказку до Випадкових лісів . Але ви б спробували тільки їх? Що робити, якщо ви не задоволені результатами? Який класифікатор ви б спробували ще? Або що б ви відповіли, якщо хтось запитує: "Чому ви не спробували інші методи?"
Обен Сонне

@Oben Ну, я зрозумів, що ви створюєте своєрідний пул для одного класифікатора за відповідь.

@mbq: Не дуже, але виявляється такий пул. Напевно, я не поставив себе досить чітко у питанні. Насправді я хотів знати, який набір класифікаторів слід спробувати спочатку, щоб охопити різні загальні методи класифікації (з різними сильними та слабкими сторонами). Я завжди запитую себе, чи не слід пробувати більше класифікаторів. Знаючи, що те, що я спробував, вже представляють найбільш типові / перспективні підходи, допоможе тут. Але для цього мені потрібно знати, для якого набору класифікаторів це правда. (Я далеко не експерт з статистики, тому дайте мені знати, чи мій розум тут трохи закручений)
Обен Сонн

7

Класифікатор Гауссового процесу (не використовуючи наближення Лапласа), переважно з маргіналізацією, а не оптимізацією гіперпараметрів. Чому?

  1. тому що вони дають імовірнісну класифікацію
  2. ви можете використовувати функцію ядра, яка дозволяє вам безпосередньо працювати над невекторними даними та / або включати експертні знання
  3. вони мають справу з невизначеністю при правильному встановленні моделі, і ви можете поширити цю невпевненість у процесі прийняття рішення
  4. як правило, дуже хороші прогнозні показники.

Недоліки

  1. повільний
  2. вимагає багато пам’яті
  3. непрактично для великих масштабних проблем.

Перший вибір хоч би був регульованою логістичною регресією або регресією хребта [без вибору особливостей] - для більшості проблем дуже прості алгоритми працюють досить добре і складніше помилитися (на практиці різниця в продуктивності між алгоритмами менша, ніж відмінності в продуктивності між оператором, який їх керує).


1

Сам по собі, коли ви підходите до нового набору даних, ви повинні почати стежити за цілою проблемою. Перш за все отримайте розподіл за категоричними ознаками та середніми та стандартними відхиленнями для кожної безперервної ознаки. Потім:

  • Видалити функції, у яких відсутні більше X% значень;
  • Видаліть категоричні ознаки, коли певне значення отримує більше 90-95% відносної частоти;
  • Видаліть безперервні функції з CV = std / mean <0,1;
  • Отримайте ранжування параметрів, наприклад ANOVA для безперервного та Chi-квадрата для категоричного;
  • Отримати значну підмножину функцій;

Тоді я зазвичай розбиваю методи класифікації на 2 набори: біла коробка та техніка чорного ящика. Якщо вам потрібно знати, як працює класифікатор, вам слід вибрати в першому наборі, наприклад, Дерева рішень або класифікатори на основі правил.

Якщо вам потрібно класифікувати нові записи, не будуючи модель, слід звернути увагу на охочого учня, наприклад, KNN.

Після цього я думаю, що краще мати поріг між точністю та швидкістю: Нейронна мережа трохи повільніше, ніж SVM.

Це моя п'ять найкращих методик класифікації:

  1. Дерево рішень;
  2. Класифікатори на основі правил;
  3. SMO (SVM);
  4. Наївний Байєс;
  5. Нейронні мережі.

4
-1 Абсолютно невірний робочий процес для великих p малих n, переналагодження FS гарантоване.

1
Хіба не kNN - ледачий навчається, а не прагнутий (як ви насправді нічого не робите, поки вам справді не доводиться, коли з'являється модель для класифікації)? Будь-яка попередня обробка, яку ви робите перед застосуванням класифікатора, швидше за все матиме більший вплив на продуктивність, ніж різниця між класифікаторами; Вибір особливостей особливо складний (легко призводить до надмірної підгонки), і такі методи, як SVM з регуляризацією, зазвичай працюють краще без вибору функції. Я, звичайно, не рекомендував би нейронні мережі, занадто багато потенційних підводних каменів.
Дікран Марсупіал
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.