Scikit Learn - представление данных

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

Данные в виде таблицы

Лучший способ представления данных в Scikit-learn - в виде таблиц. Таблица представляет собой двумерную сетку данных, где строки представляют отдельные элементы набора данных, а столбцы представляют количества, связанные с этими отдельными элементами.

пример

В примере, приведенном ниже, мы можем скачать iris dataset в виде Pandas DataFrame с помощью python seaborn библиотека.

import seaborn as sns
iris = sns.load_dataset('iris')
iris.head()

Вывод

sepal_length sepal_width petal_length petal_width  species
0        5.1      3.5         1.4             0.2   setosa
1        4.9      3.0         1.4             0.2   setosa
2        4.7      3.2         1.3             0.2   setosa
3        4.6      3.1         1.5             0.2   setosa
4        5.0      3.6         1.4             0.2   setosa

Из выходных данных выше мы видим, что каждая строка данных представляет один наблюдаемый цветок, а количество строк представляет общее количество цветов в наборе данных. Обычно мы называем строки матрицы образцами.

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

Данные как матрица признаков

Матрица характеристик может быть определена как макет таблицы, где информацию можно представить как двумерную матрицу. Он хранится в переменной с именемXи предполагается, что он двумерный с формой [n_samples, n_features]. В основном он содержится в массиве NumPy или DataFrame Pandas. Как было сказано ранее, образцы всегда представляют отдельные объекты, описываемые набором данных, а функции представляют собой отдельные наблюдения, которые количественно описывают каждый образец.

Данные как целевой массив

Наряду с матрицей функций, обозначенной X, у нас также есть целевой массив. Его еще называют этикеткой. Обозначается y. Метка или целевой массив обычно одномерны и имеют длину n_samples. Обычно он содержится в NumPyarray или панды Series. Целевой массив может иметь как значения, непрерывные числовые значения, так и дискретные значения.

Чем целевой массив отличается от столбцов функций?

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

пример

В приведенном ниже примере из набора данных ириса мы прогнозируем вид цветка на основе других измерений. В этом случае столбец "Виды" будет рассматриваться как объект.

import seaborn as sns
iris = sns.load_dataset('iris')
%matplotlib inline
import seaborn as sns; sns.set()
sns.pairplot(iris, hue='species', height=3);

Вывод

X_iris = iris.drop('species', axis=1)
X_iris.shape
y_iris = iris['species']
y_iris.shape

Вывод

(150,4)
(150,)