在Sklearn PIpeline和交叉验证中使用缩放器

问题描述 投票:1回答:2

我以前见过带有如下代码的post

scalar = StandardScaler()
clf = svm.LinearSVC()

pipeline = Pipeline([('transformer', scalar), ('estimator', clf)])

cv = KFold(n_splits=4)
scores = cross_val_score(pipeline, X, y, cv = cv)

我的理解是:当应用定标器时,应使用4倍中的3在上面的代码中,我怎么知道Sklearn遵循相同的策略?另一方面,如果sklearn不遵循相同的策略,则意味着sklearn将从所有4折中

计算

均值/标准差。那是否意味着我不应该使用以上代码?

我喜欢上面的代码,因为它可以节省大量时间。 << n_splits = 4)分数= ...
python scikit-learn pipeline cross-validation
2个回答
0
投票
folds = 4 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=(1/folds), random_state=0, stratify=y) scalar = StandardScaler() clf = svm.LinearSVC() pipeline = Pipeline([('transformer', scalar), ('estimator', clf)]) cv = KFold(n_splits=(folds - 1)) scores = cross_val_score(pipeline, X_train, y_train, cv = cv)

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.