Які хороші набори даних для вивчення основних алгоритмів машинного навчання та чому?


19

Я новачок у машинному навчанні та шукаю деякі набори даних, за допомогою яких я можу порівнювати та протиставляти відмінності між різними алгоритмами машинного навчання (Дерева рішень, Підвищення, SVM та Нейронні мережі)

Де я можу знайти такі набори даних? Що я повинен шукати під час розгляду набору даних?

Було б чудово, якщо ви можете вказати на кілька хороших наборів даних, а також сказати мені, що робить їх гарним набором даних?


6
Цікаво, чи не підходить це питання краще для opendata.stackexchange.com ... Щодо наборів даних, більшість підручників згадують такі набори даних і роблять їх доступними, багато з них уже доступні в статистичному програмному забезпеченні або в бібліотеках для такого програмного забезпечення. Ви також можете бачити archive.ics.uci.edu/ml/datasets.html . Звичайно, ще одне питання - це те, що робить деякі набори даних "хорошими" для навчання, а деякі "поганими" - цікаве питання.
Тім

Ви знайдете деякі набори даних у вигляді пакетів на CRAN, наприклад: ElemStatLearn та інші.
kjetil b halvorsen

2
@Tim Оскільки в цьому питанні є педагогічний аспект (наприклад, один приклад "хорошого" набору даних для цілей навчання - це той, який показує, де різні алгоритми дають дуже різні результати) Я думаю, що він краще підходить для резюме, ніж для OpenData.
Срібляста рибка


@Silverfish: Це обговорювалося на Meta - "Питання щодо наборів даних": Можливі винятки? - І, мабуть, була загальна згода з вашою точкою зору. Але я все одно думаю, що це. досить широкий - що чітко відрізняє його від пошуку вільно доступних зразків даних ?
Scortchi

Відповіді:


16

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

  1. UCI - сховище машинного навчання
  2. ML Comp
  3. Зображення мамо
  4. Мулан

11

У Kaggle є безліч наборів даних, якими ви можете користуватися для роботи.

(Я здивований, що його досі не згадували!)

Дві речі (серед багатьох інших), які роблять це дуже цінним ресурсом:

  • Багато чистих наборів даних. Хоча безшумні набори даних насправді не є репрезентативними наборами даних у реальному світі, вони особливо підходять для вашої мети - розгортання алгоритмів ML.
  • Ви також можете переглянути інші ML-моделі для того ж набору даних, що може бути цікавим способом зібрати деякі хаки по дорозі. Само собою зрозуміло, що вигляд, який ви отримуєте, навчаючись у кращих практикуючих, є, як і для всього іншого, дуже корисним.

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

2

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

По-друге, я б рекомендував експериментувати з синтетичними наборами даних, щоб відчути, як працює алгоритм, коли ви знаєте, як генеруються дані та співвідношення сигнал / шум.

У R ви можете перелічити всі дані в поточно встановлених пакетах за допомогою цієї команди:

data(package = installed.packages()[, 1])

Пакет R mlbench має реальні набори даних і може генерувати синтетичні набори даних, корисні для вивчення продуктивності алгоритму.

Python's scikit-learn має вибіркові дані та також генерує синтетичний / іграшковий набір даних.

SAS має навчальний набір даних, доступний для завантаження, і вибіркові дані SPSS встановлюються за допомогою програмного забезпечення на C: \ Program Files \ IBM \ SPSS \ Statistics \ 22 \ Samples

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

Для даних у дикій природі я рекомендую:

Архів наборів даних reddit

Список KDnugget


1
Для тих, хто не має R та не хоче завантажити його просто для отримання доступу до цих наборів даних, набори даних та описи доступні в Інтернеті тут .
gung - Відновіть Моніку

0

Дані райдужки встановлені руками вниз. Це також в базі R.


1
Будь ласка, відповідайте на змістовну частину запитання: "... також скажіть, що робить їх гарним набором даних?"
whuber

0

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

Одним із прикладів може бути набір даних Iris (для класифікації). Він має 3 класи, 50 зразків для кожного класу, що налічує 150 точок даних. Один чудовий ресурс, який допоможе вивчити цей набір даних, - це серія відеозаписів від Data School.

Іншим набором даних для замовлення є набір даних про якість вина із сховища UCI -ML. Він має 4898 точок даних з 12 атрибутами.

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