【发布时间】:2015-06-22 11:38:00
【问题描述】:
在训练和预测分类任务的进度之前,通常分别缩放训练和测试数据。
我想将上述过程嵌入到运行 CV 测试的 RFECV 中,因此我尝试了以下方法:
做
首先是X_scaled = preprocessing.scale(X),其中X 是整个数据集。这样一来,训练和测试数据就不会分开缩放,这没有考虑到。
我尝试的另一种方式是通过:
scaling_svm = Pipeline([('scaler', preprocessing.StandardScaler()),
('svm',LinearSVC(penalty=penalty, dual=False, class_weight='auto'))])
作为RFECV 中参数的参数:
rfecv = RFECV(estimator=scaling_svm, step=1, cv=StratifiedKFold(y, 7),
scoring=score, verbose=0)
但是,由于RFECV 需要estimator 具有属性.coef_,因此出现错误。
我应该怎么做?任何帮助将不胜感激。
【问题讨论】:
标签: python scikit-learn normalization