Як зробити дослідницький аналіз даних, щоб вибрати відповідний алгоритм машинного навчання


16

Ми вивчаємо машинне навчання за допомогою машинного навчання: ймовірнісна перспектива (Кевін Мерфі). Хоча текст пояснює теоретичну основу кожного алгоритму, він рідко каже, у якому випадку, який алгоритм кращий, а коли це робиться, він не говорить, як сказати, у якому випадку я перебуваю.

Наприклад, для вибору ядра мені сказали робити дослідницький аналіз даних, щоб оцінити, наскільки складні мої дані. У простих двовимірних даних я можу побудувати графік і побачити, чи підходить лінійне або радіальне ядро. Але що робити у вищому вимірі?

Загалом, що означають люди, коли вони говорять "ознайомтеся з вашими даними" перед тим, як вибрати алгоритм? Зараз я можу розрізняти лише алгоритм класифікації та регресії та лінійний проти нелінійний алгоритм (який я не можу перевірити).

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

Дані: Панель з кожним рядком, що складається із країни-місяця (~ 30 000 рядків, що охоплює ~ 165 країн за ~ 15 років).

Відповідь: 5 бінарних змінних, що цікавлять (тобто чи трапляються протести / перевороти / криза тощо) у тому місяці.

Особливості: ~ 400 змінних (сукупність безперервних, категоричних, бінарних), де деталізується купа характеристик для двох попередніх країн-місяців (може бути створено довше затримка). Ми використовуємо лише відсталу змінну, оскільки мета - прогнозування.

Приклади включають, обмінний курс, зростання ВВП (безперервний), рівень вільної преси (категоричний), демократію, чи має сусід конфлікт (бінарний). Зауважте, що багато з цих 400 функцій є змінними, що відстають.

Відповіді:


15

Це широке запитання без простої відповіді. У КМУ я викладав 3-місячний курс на цю тему. Він охоплював такі питання, як:

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

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


У мене знадобиться день чи два, щоб переварити ці корисні матеріали, але, маючи вашу увагу: чому ми не маємо підручника / ресурсу, що висвітлює цю тему? Хіба це не важливо, оскільки кожен раз, коли хтось бере участь у проекті, їм доводиться думати над цим питанням?
Гейзенберг

1
Приємне запитання (+1) та відповідь (+1). @Heisenberg: Я погоджуюся з Томом, що не бачив конкретного підручника з цієї теми. Однак, окрім його ресурсів, я б запропонував два онлайн-ресурси (незважаючи на те, що вони не зосереджені на заявках щодо ML): 1) розділ EDA в Інструкції з технічної статистики NIST; 2) цікавий документ проф. Ендрю Гелмана про EDA для складних моделей.
Олександр Блех

0

Є деякі речі, які ви можете перевірити у своїх даних.

1 - correlation between variables
2 - categorical variables or continuous variables?
3 - relation between number of samples and number of variables
4 - are the samples independent or is it a time series? 

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


Не могли б ви пояснити, як кожна з цих 4 інформації впливає на вибір мого алгоритму? Я знаю лише, що 2 вирішать класифікацію проти регресії. Що з іншими 3? (особливо №4 - я маю дані панелі 165 країн за 10 років)
Гейзенберг

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

Я відредагував своє запитання, щоб отримати детальнішу інформацію про мою конкретну проблему.
Гейзенберг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.