Какие хорошие наборы данных для изучения основных алгоритмов машинного обучения и почему?

19

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

Где я могу найти такие наборы данных? Что я должен искать при рассмотрении набора данных?

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

Кролик кролик
источник
6
Интересно, не подходит ли этот вопрос лучше для opendata.stackexchange.com ... Что касается наборов данных, большинство учебников упоминают такие наборы данных и делают их доступными, многие из них уже доступны в статистическом программном обеспечении или в библиотеках для такого программного обеспечения. Вы также можете увидеть archive.ics.uci.edu/ml/datasets.html . Конечно, другой вопрос - что делает некоторые наборы данных «хорошими» для обучения, а некоторые «плохими» - это интересный вопрос.
Тим
Вы найдете некоторые наборы данных в виде пакетов на CRAN, например: ElemStatLearn и другие.
kjetil b halvorsen
2
@Tim Поскольку в этом вопросе есть педагогический аспект (например, один пример «хорошего» набора данных для целей обучения - это пример, в котором разные алгоритмы дают очень разные результаты), я думаю, что он лучше подходит для CV, чем для OpenData.
Серебряная
@Silverfish: Это обсуждалось на Meta - «Вопросы о наборах данных»: возможные исключения? - И, кажется, было общее согласие с вашей точкой зрения. Но я все еще думаю это q. достаточно широк - что четко отличает его от размещения свободно доступных образцов данных ?
Scortchi - Восстановить Монику

Ответы:

16

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

  1. UCI - хранилище машинного обучения
  2. ML Comp
  3. Mammo Image
  4. Мулан
ученик
источник
11

Kaggle имеет целый ряд наборов данных, с которыми вы можете практиковаться.

(Я удивлен, что это не было упомянуто до сих пор!)

У него есть две вещи (среди многих других), которые делают его чрезвычайно ценным ресурсом:

  • Много чистых наборов данных. Хотя наборы данных без помех на самом деле не являются репрезентативными для реальных наборов данных, они особенно подходят для вашей цели - развертывания алгоритмов ML.
  • Вы также можете просмотреть модели ML других пользователей для того же набора данных, что может быть интересным способом подобрать некоторые хаки по пути. Само собой разумеется, что вид, который вы получаете от обучения у лучших практиков, как и во всем остальном, очень полезен.
оборота nz_21
источник
1
Это действительно должен быть главный ответ, потому что в дополнение к огромному разнообразию наборов данных, форумы для каждой задачи являются бесценным ресурсом для выбора методов и приемов, наряду с примерами кода.
Алекс Р.
2

Во-первых, я бы порекомендовал начать с примера данных, которые предоставляются с программным обеспечением. Большинство дистрибутивов программного обеспечения включают примеры данных, которые вы можете использовать для ознакомления с алгоритмом, не имея дело с типами данных и переводя данные в правильный формат для алгоритма. Даже если вы строите алгоритм с нуля, вы можете начать с примера из аналогичной реализации и сравнить производительность.

Во-вторых, я бы порекомендовал поэкспериментировать с синтетическими наборами данных, чтобы понять, как работает алгоритм, когда вы знаете, как были сгенерированы данные, и отношение сигнал / шум.

В R вы можете перечислить все наборы данных в установленных пакетах с помощью этой команды:

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

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

Python scikit-learn имеет примеры данных и также генерирует синтетический / игрушечный набор данных.

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

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

Для данных в дикой природе, я бы порекомендовал:

Архив данных Reddit

Список KDnugget

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

Набор данных радужной оболочки руки вниз. Это также в базе R.

яблоки-апельсины
источник
1
Пожалуйста, ответьте на основную часть вопроса: "... и скажите мне, что делает их хорошим набором данных?"
whuber
0

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

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

Другой набор данных для извлечения - это набор данных Wine Quality из хранилища UCI -ML. Имеет 4898 точек данных с 12 атрибутами.

Даршан Чаудхари
источник