【发布时间】:2020-08-13 01:47:06
【问题描述】:
我可以这样做:
model=linear_model.LogisticRegression(solver='lbfgs',max_iter=10000)
kfold = model_selection.KFold(n_splits=number_splits,shuffle=True, random_state=random_state)
scalar = StandardScaler()
pipeline = Pipeline([('transformer', scalar), ('estimator', model)])
results = model_selection.cross_validate(pipeline, X, y, cv=kfold, scoring=score_list,return_train_score=True)
其中 score_list 可以类似于 ['accuracy','balanced_accuracy','precision','recall','f1']。
我也可以这样做:
kfold = model_selection.KFold(n_splits=number_splits,shuffle=True, random_state=random_state)
scalar = StandardScaler()
pipeline = Pipeline([('transformer', scalar), ('estimator', model)])
for i, (train, test) in enumerate(kfold.split(X, y)):
pipeline.fit(self.X[train], self.y[train])
pipeline.score(self.X[test], self.y[test])
但是,我无法在最后一行更改管道的分数类型。我该怎么做?
【问题讨论】:
标签: python python-3.x scikit-learn pipeline