回归决策树模拟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()
相关推荐
郑洁文3 小时前
音乐数据分析研究与应用
大数据·数据挖掘·数据分析·音乐数据分析
babe小鑫7 小时前
2026会计专业学数据分析的价值
数据挖掘·数据分析
wayz1111 小时前
Overlap:SLOPE(线性回归斜率)技术指标详解
算法·金融·数据分析·回归·线性回归·量化交易·特征工程
Bruce_Liuxiaowei12 小时前
智能音箱数据分析与优化方案
人工智能·数据挖掘·数据分析·智能音箱·智能体
YangYang9YangYan12 小时前
2026数据分析对报考大数据专业的价值分析
大数据·数据挖掘·数据分析·高考
zhumin72612 小时前
基于人类行为聚类与虚拟内分泌时间序列的硅基情绪计算模型构建研究
机器学习·数据挖掘·聚类
高洁0112 小时前
从GPT到开源大模型
python·机器学习·数据挖掘·transformer·知识图谱
叫我:松哥12 小时前
基于数据挖掘的旅游景点个性化推荐系统设计与实现,Apriori和FP-Growth算法挖掘景点之间的关联规则
人工智能·python·算法·数据挖掘·数据分析·beautifulsoup
Leo.yuan12 小时前
数据挖掘是什么?数据挖掘和数据分析到底有什么区别
人工智能·数据挖掘·数据分析
KaMeidebaby12 小时前
卡梅德生物技术快报|噬菌体筛选:技术实操:宽谱大肠杆菌噬菌体筛选全流程与性能验证方案
前端·人工智能·算法·数据挖掘·数据分析