决策树常用于分类问题,但是也能解决回归问题。
在回归问题中,决策树只能使用cart决策树,而cart决策树,既可以分类,也可以回归。
所以我们说的回归树就是指cart树。
为什么只能是cart树
1. 回想下id3,分裂后需要计算每个类别占总样本的比例,回归哪来的类别,c4.5也一样
2. 回归问题肯定是连续属性,所以只能二划分,而cart树是强制的二叉树
回归树的分裂
分裂方法与决策树处理连续属性无异,分裂评价有所不同。
分类cart树用的gini系数,回归cart树可以用多种评价指标
MSE
cm为叶子节点的均值
最小化L2误差
MAE
y1-,y2-(平均)分别表示以当前属性作为划分选择时各自对应的集合s1和s2目标值的均值,也有取中位数的,可以自己定
最小化L1误差
也可以尝试其他回归评价指标
防止过拟合
通过剪枝提高模型的泛化能力,如
SSE=SSE+γT
T表示树的规模,如叶节点的个数,γ为惩罚系数,可以自定义,值越大树的规模越小
示例代码
from sklearn import tree X = [[0, 0], [1, 1], [2, 2], [6, 6], [8, 8], [10, 10]] y = [0.5, 0.8, 1, 7.5, 8.5, 9] clf = tree.DecisionTreeRegressor(max_depth=2) clf = clf.fit(X, y) print clf.predict([[1, 1.5]]) # 0.9 print clf.predict([[3, 5]]) # 0.9 print clf.predict([[10, 12]]) # 8.75
参考资料:
https://blog.csdn.net/wong2016/article/details/80727524
https://blog.csdn.net/skullFang/article/details/79107127 回归评价指标
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人