Найти тему
ЦифроПроф

Масштабирование признаков

Фото автора
Фото автора

Масштабирование - приведение признаком к единому масштабу, в том числе стандартизация, нормализация среднего и приведение к диапазону. Стандартизация - приведение к нулевому среднему значению и единичному СКО. Нормализация среднего предполагает деление разности между значением и средним признака не на СКО, а на диапазон от минимального до максимального значения. Приведение признаков к заданному диапазону является альтернативой стандартизации в тех случаях, когда нормальное распределение не является условием для обучения алгоритма.

Задача

Стандартизируйте численные признаки. Импортируйте StandardScaler из модуля sklearn.preprocessing.

Создайте объект структуры StandardScaler() и настройте его на обучающих данных. В переменной numeric уже есть список всех численных признаков.

Сохраните преобразованные обучающую и валидационную выборки в переменных: features_train и features_valid.

Напечатайте на экране первые пять строк таблицы.

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

data = pd.read_csv('/datasets/travel_insurance.csv')

target = data['Claim']
features = data.drop('Claim', axis=1)
features_train, features_valid, target_train, target_valid = train_test_split(
features, target, test_size=0.25, random_state=12345)

numeric = ['Duration', 'Net Sales', 'Commission (in value)', 'Age']

scaler=StandardScaler()
scaler.fit(features_train[numeric])
features_train[numeric]=scaler.transform(features_train[numeric])
features_valid[numeric]=scaler.transform(features_valid[numeric])

print(features_train.head(5))