【笔记】决策树解决回归问题
决策树解决回归问题
如果输出是一个具体的数,这就是一个回归问题,相应的一个新的样本点到了决策树之后,使用决策树以后到达叶子节点中,就可以用叶子节点中相应的数据输出值的平均值来作为预测的结果
具体实现
(在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,对于决策树来说,对于这个是毫无偏差的,很明显,这就是过拟合的情况,所以,决策树算法是很容易产生过拟合的情况的,消除过拟合就可以使用调参的方法
想要可以直观的看到过拟合和欠拟合的话,可以使用学习曲线
您能读到这儿,我呢是发自真心的感谢您,若要转载,还望请您带上链接