在-np.pi到np.pi的范围 中 产生200个点
生成正弦值和余弦值
然后根据正弦值和余弦值产生目标值
1)导入模型
from sklearn.tree import DecisionTreeRegressor
2)获取数据
数据集:从-π 到π 取200个值
X_train = np.linspace(-np.pi,np.pi,200)X_train
结果集:从s里取出第一个,再从c中取出一个,两个一起生成一个点的位置 。
s = np.sin(X_train)c = np.cos(X_train)target = np.c_[s,c]
3)将所有的点画到画布上
plt.figure(figsize=(5,5))plt.scatter(target[:,0],target[:,1])
![Python高级--决策树](http://img.gansulong.com/231120/153H23035-9.png)
文章插图
4)撒盐操作
让圆上的40个点不规则的显示在圆的周围
noise = np.random.randn(40,2)/10# 40行2列target[::5] += noise#每隔5个加一个噪声
将撒盐后的图形
plt.figure(figsize=(5,5))plt.scatter(target[:,0],target[:,1])
![Python高级--决策树](http://img.gansulong.com/231120/153H231A-10.png)
文章插图
5)创建决策树回归模型并训练
dtree = DecisionTreeRegressor()dtree.fit(X_train.reshape(-1,1),target)
6)产生测试数据
X_test = np.linspace(-np.pi,np.pi,180)
7)对测试数据预测
y_ = dtree.predict(X_test.reshape(-1,1))
8)绘制预测后的值的图形
plt.figure(figsize=(5,5))plt.scatter(y_[:,0],y_[:,1])
![Python高级--决策树](http://img.gansulong.com/231120/153H22133-11.png)
文章插图
9)比较不同深度的拟合情况
深度小 欠拟合 深度大 过拟合
dtree = DecisionTreeRegressor(max_depth=7)# 深度小 欠拟合深度大 过拟合dtree.fit(X_train.reshape(-1,1),target)y_ = dtree.predict(X_test.reshape(-1,1))plt.figure(figsize=(5,5))plt.scatter(y_[:,0],y_[:,1])# 回归很少用决策树
【Python高级--决策树】
![Python高级--决策树](http://img.gansulong.com/231120/153H22F1-12.png)
文章插图
- 用 Python 开发一个【视频营销号】生成器
- 1 sklearn的学习笔记--决策树
- pythonpecan教程
- ccc-sklearn-1-决策树
- 机器学习 —— DecisionTree决策树
- TSP问题 python 实现出租车路径规划问题
- 机器学习实战2-决策树算法
- 【机器学习笔记】【决策树】【回归树】
- 一 Python自动化运维笔记:系统性能信息模块psutil
- 人工智能的世界,学Python将立于不败之地!