Fra*_*cis 5 python normalization scikit-learn
在训练和预测分类任务的进度之前,通常会分别缩放训练和测试数据。
我想嵌入上述RFECV运行 CV 测试的过程,因此我尝试了以下操作:
首先
X_scaled = preprocessing.scale(X),X整个数据集在哪里。这样做,训练和测试数据不会分开缩放,这一点不予考虑。
我尝试的另一种方法是通过:
scaling_svm = Pipeline([('scaler', preprocessing.StandardScaler()),
('svm',LinearSVC(penalty=penalty, dual=False, class_weight='auto'))])
Run Code Online (Sandbox Code Playgroud)
作为参数的参数RFECV:
rfecv = RFECV(estimator=scaling_svm, step=1, cv=StratifiedKFold(y, 7),
scoring=score, verbose=0)
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误,因为RFECV需要estimator具有 attribute .coef_。我应该做什么?任何帮助,将不胜感激。
诚然,参加聚会有点晚了,但如果有人感兴趣,您可以创建一个自定义管道,如下所示:
from sklearn.pipeline import Pipeline
class RfePipeline(Pipeline):
@property
def coef_(self):
return self._final_estimator.coef_
Run Code Online (Sandbox Code Playgroud)
然后在代码中替换Pipeline为。RfePipeline
请参阅此处类似的问题。
| 归档时间: |
|
| 查看次数: |
460 次 |
| 最近记录: |