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

машинное обучение искусственный интеллект открытый источник база данных

0x00 Предисловие

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

Текст разделен на три части:

  1. Подробное введение в наиболее часто используемые классические наборы данных
  2. Введение в элегантное наблюдение за наборами данных с помощью Python
  3. Как получить другие наборы данных с открытым исходным кодом

0x01 Классический набор данных

I. Обзор

Следующие таблицы представляют собой некоторые из наиболее часто используемых наборов данных, составленных неспециалистами, которые в основном могут использоваться во всем процессе машинного обучения.Эти наборы данных также часто появляются в официальных примерах sklearn, spark ml и tensorfolw.

имя набора данных описание данных Количество записей данных Использование данных ссылка для скачивания
Iris Набор данных цветов ириса 150 Классификация и кластеризация archive.ICS.UCI.credits/beauty/datasets…
Adult Данные переписи населения США 48842 Классификация и кластеризация archive.ICS.UCI.credits/beauty/datasets…
Wine винные данные 178 Классификация и кластеризация archive.ICS.UCI.credits/beauty/datasets…
20 Newsgroups Набор данных новостей 19997 Текстовая классификация и кластеризация злишься на меня.com/~Jason/20NE…
MovieLens Набор данных рейтингов фильмов 26000000 Рекомендуемая система группа Lens.org/datasets/mo…
MNIST Набор данных для распознавания рукописных слов 70000 распознавание почерка yann.lecun.com/exdb/mnist/

2. Ирис

Это, пожалуй, самая известная база данных, которую можно найти в литературе по распознаванию образов. Статья Фишера является классикой в ​​этой области, и на нее часто ссылаются по сей день (см., например, Duda & Hart). Набор данных содержит 3 класса. по 50 экземпляров каждый, где каждый класс относится к типу ириса, один класс линейно отделим от двух других, последние НЕ линейно отделимы друг от друга.

Ирис, также известный как набор данных цветка ириса, представляет собой тип набора данных для многомерного анализа. Созданный в середине 1930-х годов выдающимся статистиком Р. А. Фишером, он широко известен как самый известный набор данных для интеллектуального анализа данных. Он содержит 3 вида растений (Iris setosa, Iris versicolor и Iris virginica) по 50 образцов каждого. Он состоит из 4 свойств: длина чашелистика (длина чашелистика), ширина чашелистика (ширина чашелистика), длина лепестка (длина лепестка) и ширина лепестка (ширина лепестка) (единица измерения — см).

3. Взрослый

Extraction was done by Barry Becker from the 1994 Census database. A set of reasonably clean records was extracted using the following conditions: ((AAGE>16) && (AGI>100) && (AFNLWGT>1)&& (HRSWK>0))

Prediction task is to determine whether a person makes over 50K a year.

Данные взяты из базы данных переписи населения США 1994 года и могут использоваться для прогнозирования того, превышает ли доход жителя 50 тысяч долларов в год. Переменная набора данных указывает на то, превышает ли годовой доход 50 тысяч долларов, а переменная атрибута содержит важную информацию, такую ​​как возраст, тип работы, образование, профессия и этническая принадлежность.Стоит отметить, что в 14 атрибутивных переменных есть 7 категориальных переменных. .

4. Вино

These data are the results of a chemical analysis of wines grown in the same region in Italy but derived from three different cultivars. The analysis determined the quantities of 13 constituents found in each of the three types of wines.

I think that the initial data set had around 30 variables, but for some reason I only have the 13 dimensional version. I had a list of what the 30 or so variables were, but a.) I lost it, and b.), I would not know which 13 variables are included in the set.

Этот набор данных содержит в общей сложности 178 записей о винах 3 разных стран. 13 атрибутов — это 13 химических составляющих вина. Происхождение вина можно определить с помощью химического анализа. Стоит отметить, что все атрибутивные переменные являются непрерывными переменными.

5. 20 групп новостей

The 20 Newsgroups data set is a collection of approximately 20,000 newsgroup documents, partitioned (nearly) evenly across 20 different newsgroups.

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

6. Кинообъектив

Набор данных MovieLens — это набор данных о рейтингах фильмов, который содержит информацию о пользовательском рейтинге фильмов, полученную из IMDB, The Movie DataBase. Этот набор данных можно использовать для рекомендательных систем.

7. МНИСТ

Набор данных MNIST — это набор данных для распознавания рукописных слов в области машинного обучения.Набор данных содержит 60 000 обучающих наборов и 10 000 тестовых наборов примеров. , ширина и высота каждого примера изображения 28*28. Размер этих наборов данных был нормализован и сформировал фиксированный размер, поэтому работа по предварительной обработке в основном завершена. В машинном обучении многие основные инструменты машинного обучения (включая sklearn) используют этот набор данных в качестве введения и приложения начального уровня.

0x02 Исследование данных

Что касается деталей данных, лучший способ понять это — не смотреть документацию, а самому посмотреть на распределение и характеристики данных.

понимать данные

Здесь мы берем набор данных радужной оболочки в качестве примера и используем панды Python для его описания.Для получения набора данных радужной оболочки мы напрямую используем API, предоставленный sklearn, вместо того, чтобы загружать его самостоятельно.

1. Сбор и описание данных

import pandas as pd
from sklearn.datasets import load_iris

data = load_iris()
df = pd.DataFrame(data.data, columns=data.feature_names)
df.info()

# info描述结果

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 150 entries, 0 to 149
Data columns (total 4 columns):
sepal length (cm) 150 non-null float64
sepal width (cm) 150 non-null float64
petal length (cm) 150 non-null float64
petal width (cm) 150 non-null float64
dtypes: float64(4)
memory usage: 4.8 KB

2. Пример данных

df.head()
num sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
3 4.6 3.1 1.5 0.2
4 5.0 3.6 1.4 0.2

3. Описание данных

Описание данных. Используйте «Описать», чтобы просмотреть описание каждого измерения набора данных, например, общее количество измерений, среднее значение и т. д.

df.describe()
type sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
count 150.000000 150.000000 150.000000 150.000000
mean 5.843333 3.054000 3.758667 1.198667
std 0.828066 0.433594 1.764420 0.763161
min 4.300000 2.000000 1.000000 0.100000
25% 5.100000 2.800000 1.600000 0.300000
50% 5.800000 3.000000 4.350000 1.300000
75% 6.400000 3.300000 5.100000 1.800000
max 7.900000 4.400000 6.900000 2.500000

Вот простой пример, если вы хотите посмотреть глубже, вы можете проверить подробный API на официальном сайте.

0x03 Другое

1. Набор данных UCI

Набор данных UCI включает в себя большое количество наборов данных для контролируемого и неконтролируемого обучения, число которых составляет около 400, многие из которых неоднократно цитировались во многих других инструментах данных, таких как Iris, Wine, Adult, CarEvaluation, Forest Fires Wait.

адрес:archive.ics.uci.edu/ml/

2. Наборы данных sklearn

sklearn уже поставляется с большим количеством наборов данных, таких как тот, который использовался ранее.datasets.load_iris()Это собственный набор данных sklearn.Если вам интересно, вы можете напрямую просмотреть соответствующий API на официальном сайте, включая большинство часто используемых наборов данных.

адрес:SCI kit-learn.org/stable/Modu…

Ссылаться на