Шаг 18.
Введение в машинное обучение с использованием Python.
Введение. Первый пример: классификация сортов ириса. Загрузка двнных

    На этом шаге мы рассмотрим загрузку и трактовку данных.

    Данные, которые мы будем использовать для этого примера, - это набор данных Iris, классический набор данных в машинном обучении и статистике. Он уже включен в модуль datasets библиотеки scikit-learn. Мы можем загрузить его, вызвав функцию load_iris:

[In 1]:
from sklearn.datasets import load_iris 
iris_dataset = load_iris()

    Объект iris, возвращаемый load_iris, является объектом Bunch, который очень похож на словарь. Он содержит ключи и значения:

[In 3]:
print("Ключи iris_dataset: \n{}".format(iris_dataset.keys()))
Ключи iris_dataset: 
dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names', 'filename'])

    Значение ключа DESCR - это краткое описание набора данных. Здесь мы покажем начало описания (оставшуюся часть описания вы можете посмотреть самостоятельно):

[In 4]:
print(iris_dataset['DESCR'][:193] + "\n...")
.. _iris_dataset:

Iris plants dataset
--------------------

**Data Set Characteristics:**

    :Number of Instances: 150 (50 in each of three classes)
    :Number of Attributes: 4 numeric, pre
...

    Значение ключа target_names - это массив строк, содержащий сорта цветов, которые мы хотим предсказать:

[In 5]:
print("Названия ответов: {}".format(iris_dataset['target_names']))
Названия ответов: ['setosa' 'versicolor' 'virginica']

    Значение feature_names - это список строк с описанием каждого признака:

[In 6]:
print("Названия признаков: \n{}".format(iris_dataset['feature_names']))
Названия признаков: 
['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']

    Сами данные записаны в массивах target и data. data - массив NumPy, который содержит количественные измерения длины чашелистиков, ширины чашелистиков, длины лепестков и ширины лепестков:

[In 7]:
print("Тип массива data: {}".format(type(iris_dataset['data'])))
Тип массива data: <class 'numpy.ndarray'>

    Строки в массиве data соответствуют цветам ириса, а столбцы представляют собой четыре признака, которые были измерены для каждого цветка:

[In 8]:
print("Форма массива data: {}".format(iris_dataset['data'].shape))
Форма массива data: (150, 4)

    Мы видим, что массив содержит измерения для 150 различных цветов по 4 признакам. Вспомним, что в машинном обучении отдельные элементы называются примерами (samples), а их свойства - характеристиками или признаками (feature). Форма (shape) массива данных определяется количеством примеров, умноженным на количество признаков. Это является общепринятым соглашением в scikit-learn, и ваши данные всегда будут представлены в этой форме. Ниже приведены значения признаков для первых пяти примеров:

[In 11]:
print("Пepвые пять строк массива data:\n{}".format(iris_dataset['data'][:5]))
Пepвые пять строк массива data:
[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]
 [4.7 3.2 1.3 0.2]
 [4.6 3.1 1.5 0.2]
 [5.  3.6 1.4 0.2]]

    Взглянув на эти данные, мы видим, что все пять цветов имеют ширину лепестка 0.2 см и первый цветок имеет самую большую длину чашелистика, 5.1 см.

    Массив target содержит сорта уже измеренных цветов, тоже записанные в виде массива NumPy:

[In 12]:
print("Тип массива target: {}".format(type(iris_dataset['target'])))
Тип массива target: <class 'numpy.ndarray'>

    target представляет собой одномерный массив, по одному элементу для каждого цветка:

[In 13]:
print("Форма массива target: {}".format(iris_dataset['target'].shape))
Форма массива target: (150,)

    Сорта кодируются как целые числа от 0 до 2:

[In 14]:
print("Ответы:\n{}".format(iris_dataset['target']))
Ответы:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2]

    Значения чисел задаются массивом iris['target_names']: 0 - setosa, 1 - versicolor, а 2 - virginica.

    На следующем шаге мы рассмотрим метрики эффективности.




Предыдущий шаг Содержание Следующий шаг