尝试使用GridSearch函数拟合训练数据时出现错误消息

时间:2018-03-03 09:24:02

标签: python-3.x scikit-learn grid-search

from sklearn.preprocessing import PolynomialFeatures

polyreg = PolynomialFeatures(degree = 4)

param_grid = {'alpha': [0.001, 0.01, 0.1, 1, 10, 100]}

grid_search_polyreg = GridSearchCV(polyreg, param_grid, cv = 5)

grid_search_polyreg.fit(x_train, y_train)

grid_search_polyreg.score(x_test, y_test)

print("Best Parameters for polynomial regression: 
    {}".format(grid_search_polyreg.best_params_))

print("Best Score for polynomial regression: 
    {:.2f}".format(grid_search_polyreg.best_score_))
  

TypeError:如果未指定评分,则传递的估算值应为   有一个'得分'的方法。估计量PolynomialFeatures(度= 4,   include_bias = True,interaction_only = False)没有。

1)我理解alpha不是多项式特征的参数。但是,当我尝试删除alpha并使数据适合时,它无法正常工作。

2)这是否意味着我不应该使用网格搜索来获得KNN回归,线性和内核SVM的分数?

我是python的新手,非常感谢任何建议。提前谢谢。

1 个答案:

答案 0 :(得分:0)

sklearn.preprocessing.PolynomialFeatures()没有评分功能。它实际上不是估算器或机器学习模型,它只是转换矩阵。您可以将它作为管道的一部分并测试其参数,但是您必须将具有评分函数的实际估算器传递给GridSearchCV

当您处理变换器与估算器时,拟合数据具有不同的含义,仅在后一种情况下它意味着"train"