Когда я читал об использовании StandardScaler
, большинство рекомендаций говорили, что вы должны использовать StandardScaler
перед разбивать данные на обучающие / тестовые данные, но когда я проверял некоторые коды, размещенные в сети (используя sklearn), было два основных применения.
1- Использование StandardScaler
на всех данных. Например
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_fit = sc.fit(X)
X_std = X_fit.transform(X)
Или
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X = sc.fit(X)
X = sc.transform(X)
Или просто
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_std = sc.fit_transform(X)
2- Использование StandardScaler
на разделенных данных.
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform (X_test)
Я хотел бы стандартизировать свои данные, но я не уверен, какой метод лучше!
источник
Как насчет следующего:
Потому что, если
X_test = sc.transform(X_test)
возвращается, ошибкаX_test
еще не установлена. Или я что-то здесь упустил?источник
Вы не должны делать fit_transform (X_test) на тестовых данных.
Подгонка уже произошла выше.
источник