【问题标题】:Build Decision Tree Regression Model and predicting output from sample - Machine learning构建决策树回归模型并预测样本的输出 - 机器学习
【发布时间】:2020-05-27 14:06:35
【问题描述】:

我是机器学习的新手。当我使用来自 scikit-learn 模块的波士顿数据集练习具有默认参数的决策树回归模型时。

在这个链接解决方案(How to Build a Decision tree Regressor model)之后,我在训练数据集上打印了模型精度

print(dt_reg.score(X_train,Y_train)))
print(dt_reg.score(X_test,Y_test)))

现在,我面临以下问题:打印 X_test 集的前两个样本的预测房价。为此,我写如下,但没有得到正确的输出。请您帮我预测 X_test 数据集的前 2 个样本。

predicted = dt_reg.predict(X_test)

for i in range(2):
    print("Predict housing price",predicted[i])

【问题讨论】:

    标签: python machine-learning decision-tree


    【解决方案1】:

    你可以像下面这样使用:

    我假设你先写了这段代码,

    from sklearn import datasets, model_selection, tree
    
    boston = datasets.load_boston()
    
    x_train, x_test, y_train, y_test = model_selection.train_test_split(boston.data,boston.target, random_state=30)
    
    dt  = tree.DecisionTreeRegressor()
    
    dt_reg = dt.fit(x_train, y_train)
    

    然后将预测的 y 值放入 y_pred 变量中,如下所示:

    y_pred = dt_reg.predict(X_test)
    

    最后,您可以使用:

    y_pred[0:n]
    

    n 显示您要显示的结果数。用 2 代替 "n"

    【讨论】:

      【解决方案2】:

      出于演示目的,让我们看看完整的代码。假设您像这样训练回归模型:

      from sklearn import datasets, model_selection, tree
      
      boston = datasets.load_boston()
      
      x_train, x_test, y_train, y_test = model_selection.train_test_split(boston.data,boston.target, random_state=30)
      
      dt  = tree.DecisionTreeRegressor()
      
      dt_reg = dt.fit(x_train, y_train)
      

      现在打印traintest 分数:

      print(dt_reg.score(x_train, y_train))
      print(dt_reg.score(x_test, y_test))
      
      >> 1.0
      >> 0.5826465689845075
      

      让我们看看测试数据的预测是什么样子的:

      predicted = dt_reg.predict(x_test)
      print(predicted)
      
      >> array([18.2, 12.8, 20.1, 30.1, 14.5, .....])
      

      现在选择并打印前两个测试样本的预测输出:

      for i in predicted[:2]:
          print(i)
      
      >> 18.2
      >> 12.8
      

      【讨论】:

        猜你喜欢
        • 2015-12-13
        • 1970-01-01
        • 2013-04-21
        • 2019-10-02
        • 2020-03-01
        • 2016-12-29
        • 1970-01-01
        • 1970-01-01
        • 2013-01-07
        相关资源
        最近更新 更多