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

Так что стандартизация часто приходит на помощь в этом случае, стандартизируя все данные. Стандартизация масштабирует данные, чтобы иметь среднее значение (μ) равное 0 и стандартное отклонение (σ) равное 1 (единичная дисперсия).

Можно использовать библиотеку для Python, т.е. scikit-learn для стандартизации.

классsklearn.preprocessing.StandardScaler(copy=True, with_mean=True, with_std=True)

Стандартизируйте функции, удалив среднее значение и масштабируя до единичной дисперсии. Стандартный балл выборки x рассчитывается как:

z = (x — u) / s

где u — среднее значение обучающих выборок или ноль, если with_mean=False, а s — стандартное отклонение обучающих выборок или единица, если with_std=False.

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

Следующий код реализует стандартизацию в блокноте colab.

импортировать numpy как np
импортировать matplotlib.pyplot как plt
из mpl_toolkits импортировать mplot3d
импортировать matplotlib.colors
импортировать pandas как pd
из sklearn.preprocessing import StandardScaler, MinMaxScaler

R = np.random.random([100, 1])

plt.plot(R)
plt.show()

plt.plot(R)
plt.show()

np.mean(R)

np.std(R)

масштабатор = StandardScaler()

scaler.fit(R)

масштаб.среднее_

RT = масштабирование.transform(R)

np.mean(RT)

np.std(RT)

plt.plot(RT)
plt.show()

В случае обучающих и тестовых данных вы можете задаться вопросом, следует ли стандартизировать до или после разделения? Логично разделить данные, а затем применить стандартизацию для сохранения целостности данных. Было бы целесообразно подогнать и преобразовать данные о поезде, а затем преобразовать тестовые данные для стандартизации.

Ссылки:

  1. Глубокое обучение от One Fourth Labs
  2. scikit-learn.org
  3. коллаб блокнот