回归决策树模拟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()
相关推荐
CM莫问3 小时前
详解机器学习经典模型(原理及应用)——岭回归
人工智能·python·算法·机器学习·回归
人大博士的交易之路9 小时前
今日行情明日机会——20251201
大数据·数学建模·数据挖掘·数据分析·缠论·道琼斯结构·涨停板
GIS数据转换器12 小时前
基于GIS的智慧招商引资数据可视化系统
人工智能·信息可视化·数据挖掘·数据分析·无人机·旅游
Python极客之家13 小时前
基于数据挖掘的微博情感分析及话题追踪系统
python·数据挖掘·毕业设计·课程设计·情感分析
roman_日积跬步-终至千里13 小时前
【模式识别与机器学习(3)】主要算法与技术(中篇:概率统计与回归方法)之贝叶斯方法(Bayesian)
算法·机器学习·回归
~~李木子~~13 小时前
数据可视化:App Store数据分析:价格、类别与用户评分的深度洞察
信息可视化·数据挖掘·数据分析
ccLianLian14 小时前
数据挖掘·IDC-Reduction
人工智能·数据挖掘
机器学习之心14 小时前
GS-RF网格搜索优化随机森林回归+SHAP分析+交叉验证+特征依赖图,MATLAB代码
随机森林·matlab·回归·gs-rf
Hcoco_me15 小时前
大模型面试题11:余弦相似度 & 牛顿迭代法
人工智能·python·决策树·机器学习·计算机视觉
询问QQ6882388615 小时前
基于scRNA-seq和批量RNA-seq数据的肝细胞癌中CAF风险特征构建与解析
决策树