根据预测= xstest或x_test_transformed = gs.best_estimator_.predict(X_?)

时间:2018-10-11 07:39:02

标签: python scikit-learn

我正在使用scikit-learn库,并且不确定是否需要在gs.best_estimator_.predict(x_?)上使用X_test或X_test_transformed。

假设通过定义一个带有standardScaler()和一个MLPclassifier的转换器的管道,我已经适合我的gs(网格搜索对象)(gs = gs.fit(X_train,Y_train))实例。 在一个秘密的例子中,我看到的是:

clf = gs.best_estimator_
clf.fit(X_train, y_train)
y_predicted = clf.predict(X_test)

很明显,X_test将通过我定义的管道,因为最好的估计器来自那里,但是我如何确保在X_test上将在最后一步进行分类之前应用transform方法?因此,我的疑问是: 申请gs.best_estimator_.predict(???)之前需要先转换X_test吗? 谢谢

只需回答@bakka: 在我的代码下面: pipeline =make_pipeline(StandardScaler(),MLPClassifier(hidden_layer_sizes=(24,),activation="logistic",solver='lbgfs',alpha=1e-01,random_state=42,tol=1e-4,max_iter=10000)) hidden_layer_size_range = [24,25,26] activation_range = ['identity','logistic','tanh','relu'] solver_range = ['lbfgs','sgd','adam'] alpha_range = [1e-1,1e-2,1e-3,1e-4,1e-5,1e-6,1e-7] learning_rate_range = ['constant','adaptive'] param_grid = {'mlpclassifier__hidden_layer_sizes': hidden_layer_size_range, 'mlpclassifier__activation': activation_range,'mlpclassifier__solver': solver_range,'mlpclassifier__alpha': alpha_range,'mlpclassifier__learning_rate': learning_rate_range} gs = GridSearchCV(pipeline,param_grid,scoring='accuracy',n_jobs=-1,cv=5) gs = gs.fit(X_train,Y_train)

0 个答案:

没有答案