【笔记】决策树解决回归问题

决策树解决回归问题

如果输出是一个具体的数,这就是一个回归问题,相应的一个新的样本点到了决策树之后,使用决策树以后到达叶子节点中,就可以用叶子节点中相应的数据输出值的平均值来作为预测的结果

具体实现

(在notebook中)

加载好需要的类库,使用波士顿房价这个数据集,对数据集进行训练数据集和测试数据集的分类

  import numpy as np
  import matplotlib.pyplot as plt
  from sklearn import datasets

  boston = datasets.load_boston()
  X = boston.data
  y = boston.target

  from sklearn.model_selection import train_test_split

  X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=666)

调用DecisionTreeRegressor类即可,使用默认的构造参数,创建好以后对数据集进行训练

  from sklearn.tree import DecisionTreeRegressor

  dt_reg = DecisionTreeRegressor()
  dt_reg.fit(X_train,y_train)

然后使用score的方法计算测试数据集的准确度

  dt_reg.score(X_test,y_test)

结果如下

使用score的方法计算训练数据集的准确度

  dt_reg.score(X_train,y_train)

结果如下

可以发现,对于测试数据集来说,准确度是不够好的,但是对于训练数据集来说,准确度却达到了1,对于决策树来说,对于这个是毫无偏差的,很明显,这就是过拟合的情况,所以,决策树算法是很容易产生过拟合的情况的,消除过拟合就可以使用调参的方法

想要可以直观的看到过拟合和欠拟合的话,可以使用学习曲线

posted @ 2021-01-28 21:02  DbWong_0918  阅读(599)  评论(0编辑  收藏  举报