构建决策树回归模型并预测样本 - 机器学习的输出



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

在此链接解决方案(如何构建决策树回归器模型(之后,我使用

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])

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

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

您可以按如下方式使用:

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

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">

最新更新