Предварительная обработка данных

Шаг 1. Импорт набора данных

наборы данных обычно доступны в формате .csv

import pandas as pd
pd.DataFrame(filename)
X = dataset.iloc[ : , : -1].values
Y = dataset.iloc[ :, 4].values

dataset.iloc[ : , :-1].values ​​вернет данные во всех строках и всех столбцах, кроме последнего столбца.

Шаг 2. Обработка отсутствующих данных

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

замените отсутствующие данные на Mean или Median всего столбца.

from sklearn.preprocessing import Imputer
imputer = Imputer(missing_values="NaN", strategy="mean", axis=0)
imputer = imputer.fit(X[ :, :4])
X[ :, :4] = imputer.transform(X[ :, :4])

Шаг 3. Кодирование категорийных данных

категориальные данные — это переменные, которые содержат значения меток, а не числовые значения, такие как «Да» или «Нет». Чтобы упростить процесс обучения, нам нужно закодировать значения меток в числа.

from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()
X[ : , 0] = labelencoder_X.fit_transform(X[ :, 0])
onehotencoder = OneHotEncoder(categorical_features= [0])
X = onehotencoder.fit_transform(X).toarray()
labelencoder_Y = LabelEncoder()
Y = labelencoder_Y.fit_transform(Y

Шаг 5. Разделение наборов данных на наборы для обучения и наборы для проверки

Наборы проверки используются для проверки нашей модели путем анализа ее точности.

dev_ratio = 0.1 // 9:1 or 7.5:2.5
train_size = len(X) * (1 - dev_ratio)
X_train, X_validation, Y_train, Y_validation = X[:train_size], X[train_size:], Y[:train_size], Y[train_size:]

Шаг 6. Масштабирование функций

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

В качестве справки, проверьте эту статью. Автор объяснил это на наглядном примере.

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_validation = scaler.fit_transform(X_validation)