如何创建应用 z-score 和交叉验证的 scikit-learn 管道?
How to create a scikit-learn pipeline that applies z-score and cross-validation?
我正在尝试在交叉验证的每一步标准化我的数据,我遇到了这个
按照建议,我去了 scikit-learn 文档并找到了这个例子:
from sklearn.pipeline import make_pipeline
clf = make_pipeline(preprocessing.StandardScaler(), svm.SVC(C=1))
cross_val_score(clf, X, y, cv=cv)
这看起来确实像我想要实现的目标,但是,我的意图是使用 z-scorer 而不是 StandardScaler,所以我尝试了这个:
clf = make_pipeline(stats.zscore(), DecisionTreeClassifier())
但是我收到一条错误消息:
TypeError: zscore() missing 1 required positional argument: 'a'
zscore() 的参数应该是什么?
欢迎来到 Stack Overflow!在 sklearn
管道中使用自定义功能有多种方法 — 我认为 FunctionTransformer 可以适合您的情况。
创建一个使用 zscore
的转换器并将转换器传递给 make_pipeline
而不是直接调用 zscore
。
希望对您有所帮助!
我正在尝试在交叉验证的每一步标准化我的数据,我遇到了这个
按照建议,我去了 scikit-learn 文档并找到了这个例子:
from sklearn.pipeline import make_pipeline
clf = make_pipeline(preprocessing.StandardScaler(), svm.SVC(C=1))
cross_val_score(clf, X, y, cv=cv)
这看起来确实像我想要实现的目标,但是,我的意图是使用 z-scorer 而不是 StandardScaler,所以我尝试了这个:
clf = make_pipeline(stats.zscore(), DecisionTreeClassifier())
但是我收到一条错误消息:
TypeError: zscore() missing 1 required positional argument: 'a'
zscore() 的参数应该是什么?
欢迎来到 Stack Overflow!在 sklearn
管道中使用自定义功能有多种方法 — 我认为 FunctionTransformer 可以适合您的情况。
创建一个使用 zscore
的转换器并将转换器传递给 make_pipeline
而不是直接调用 zscore
。
希望对您有所帮助!