回归决策树模拟sin函数

python 复制代码
# -*-coding:utf-8-*-
import numpy as np
from sklearn import tree
import matplotlib.pyplot as plt

plt.switch_backend("TkAgg")
# 创建了一个随机数生成器对象 rng
rng=np.random.RandomState(1)
print("rng",rng)
#5*rng.rand(80,1)生成一个80行、1列的数组,数组中的每个元素都是从0到5之间的随机数。然后,np.sort函数对这个数组进行排序,axis=0表示按行(也就是每一列)排序。
#axis=0,数组只有行,没有列
X=np.sort(5*rng.rand(80,1),axis=0)

#ravel()把二维数组变为一位数组
y=np.sin(X).ravel()



#选取0,5,10,15,20....,让这些下标数字加上噪声
y[::5]+=3*(0.5-rng.rand(16))

regr_1=tree.DecisionTreeRegressor(max_depth=2)
regr_2=tree.DecisionTreeRegressor(max_depth=5)
clf1=regr_1.fit(X,y)
clf2=regr_2.fit(X,y)

#转为二维数组
X_test=np.reshape( np.arange(0.0,5.0,0.01),(-1,1) )
# X_test=np.arrange(0.0,5.0,0.01)[:,np.newaxis]

y_1=regr_1.predict(X_test)
y_2=regr_2.predict(X_test)


plt.figure()
plt.scatter(X,y,s=20,edgecolors="black",c="darkorange",label="data")
plt.plot(X_test,y_1,color="cornflowerblue",label="max_depth=2",linewidth=2)
plt.plot(X_test,y_2,color="yellowgreen",label="max_depth=5",linewidth=2)
plt.xlabel("data")
plt.ylabel("target")
plt.title("Decision Tree Regreesion")
plt.legend()
plt.show()
相关推荐
机器学习之心2 小时前
CPO-SVR:用冠豪猪优化算法给支持向量回归机“自动调参“,一次预测多个指标
算法·回归·cpo-svr
楚识科技5 小时前
不动产证OCR赋能金融房产:从字段提取到核验闭环的落地逻辑
金融·数据挖掘·ocr
又折桃枝换酒钱5 小时前
DeepVIS:将链式思维推理融入自然语言到可视化生成(翻译与解读)
信息可视化·数据挖掘·数据分析
SelectDB技术团队6 小时前
网易 日志与时序数据分析:Apache Doris / SelectDB 的技术能力与实践
数据挖掘·数据分析·apache
承渊政道6 小时前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(从注意力到自回归生成:彻底理解Transformer解码器)
pytorch·回归·transformer·chatglm·注意力机制·解码器
风控PM说1 天前
自动化风控策略生成:基于决策树的方法
运维·决策树·自动化
比奇堡裤头村1 天前
统计学习方法——逻辑斯谛回归与最大熵模型
数据挖掘·回归·学习方法
正在走向自律1 天前
时序大模型 TimechoAI 实战指南,让时序数据分析从“手工建模“走向“智能预测“
数据挖掘·数据分析·timechodb·时序数据·时序大模型·timechoai
躺柒1 天前
读数据可视化05视觉感知
信息可视化·数据挖掘·数据分析·视觉·视觉感知
leoZ2311 天前
Vue3 还原一个企业级后台-14-项目总结
开发语言·人工智能·后端·opencv·计算机视觉·数据挖掘·rust