Как правильно стандартизировать данные без использования конвейера? Я просто хочу убедиться, что мой код правильный и нет утечки данных.
Так что, если я стандартизирую весь набор данных один раз, в самом начале своего проекта, а затем продолжу пробовать различные CV-тесты с разными алгоритмами ML, это будет то же самое, что создание конвейера Sklearn и выполнение той же стандартизации в соединение с каждым алгоритмом ML?
y = df['y']
X = df.drop(columns=['y', 'Date'])
scaler = preprocessing.StandardScaler().fit(X)
X_transformed = scaler.transform(X)
clf1 = DecisionTreeClassifier()
clf1.fit(X_transformed, y)
clf2 = SVC()
clf2.fit(X_transformed, y)
####Is this the same as the below code?####
pipeline1 = []
pipeline1.append(('standardize', StandardScaler()))
pipeline1.append(('clf1', DecisionTreeClassifier()))
pipeline1.fit(X_transformed,y)
pipeline2 = []
pipeline2.append(('standardize', StandardScaler()))
pipeline2.append(('clf2', DecisionTreeClassifier()))
pipeline2.fit(X_transformed,y)
Почему кто-то выбирает последнее, кроме личных предпочтений?