【问题标题】:GridSearchCV gives ValueError: continuous is not supported for DecisionTreeRegressorGridSearchCV 给出 ValueError:DecisionTreeRegressor 不支持连续
【发布时间】:2018-05-19 11:46:38
【问题描述】:

我正在学习机器学习并完成波士顿房价预测的任务。我有以下代码:

from sklearn.metrics import fbeta_score, make_scorer
from sklearn.model_selection import GridSearchCV

def fit_model(X, y):
    """ Tunes a decision tree regressor model using GridSearchCV on the input data X 
        and target labels y and returns this optimal model. """

    # Create a decision tree regressor object
    regressor = DecisionTreeRegressor()

    # Set up the parameters we wish to tune
    parameters = {'max_depth':(1,2,3,4,5,6,7,8,9,10)}

    # Make an appropriate scoring function
    scoring_function = make_scorer(fbeta_score, beta=2)

    # Make the GridSearchCV object
    reg = GridSearchCV(regressor, param_grid=parameters, scoring=scoring_function)

    print reg
    # Fit the learner to the data to obtain the optimal model with tuned parameters
    reg.fit(X, y)

    # Return the optimal model
    return reg.best_estimator_

reg = fit_model(housing_features, housing_prices)

这给了我 ValueError: Continuous is not supported for the reg.fit(X, y) 行,我不明白为什么。这是什么原因,我在这里缺少什么?

【问题讨论】:

    标签: python machine-learning scikit-learn decision-tree grid-search


    【解决方案1】:

    那是因为这条线:

    scoring_function = make_scorer(fbeta_score, beta=2)
    

    这会将评分指标设置为fbeta,用于分类任务!

    您在此处进行回归,如下所示:

    regressor = DecisionTreeRegressor()
    

    来自the docs

    【讨论】:

      猜你喜欢
      • 2016-01-06
      • 2015-09-24
      • 1970-01-01
      • 2017-08-28
      • 2019-04-19
      • 2016-01-07
      • 2021-07-09
      • 2017-11-12
      相关资源
      最近更新 更多