最小二乘回归树Python实现——统计学习方法第五章课后题
来源:互联网 发布:福建天正网络咨询 编辑:程序博客网 时间:2024/06/08 17:57
李航博士《统计学习方法》第五章第二题,试用平方误差准则生成一个二叉回归树。
输入数据为:
x 0 1 2 3 4 5 6 7 8 9
y 4,5 4.75 4.91 5.34 5.80 7.05 7.90 8.23 8.70 9.00
这里使用递归算法
#!/usr/bin/env python2# -*- coding: utf-8 -*-#李航《统计学习方法》第五章习题2 最小二乘回归树import numpy as npy = np.array([4.5, 4.75, 4.91, 5.34, 5.8, 7.05, 7.9, 8.23, 8.7, 9])# def average(list):# ave = 0# for i in list:# ave += i# if len(list)>0:# ave = ave/len(list)# else:# ave = 0# return avedef CART(start, end,y): if (end-start)>1: result = [] for i in xrange(start,end+1,1): c1 = [np.average(y[start:i+1])] #左子树平均值 c2 = [np.average(y[i+1:end+1])] #右子树平均值 y1 = y[start:i+1] y2 = y[i+1:end+1] result.append((sum((y1-c1)**2)+sum((y2-c2)**2))) #计算平方误差损失 index1 = np.argmin(result) + start #每一步的切分点,argmin返回最值所在的索引 print index1,'---',np.average(y[start:index1+1]),'---',np.average(y[index1+1:end+1]) CART(start,index1,y) #对左子树生成 CART(index1+1,end,y) #对右子树生成 else: return NoneCART(0,9,y)#输出:每一步的切分点、切分点左子树平均值、切分点右子树平均值
参考网址:http://blog.csdn.net/xiaoxiao_wen/article/details/54098015
阅读全文
0 0
- 最小二乘回归树Python实现——统计学习方法第五章课后题
- CART—最小二乘回归树Python实现
- 最小二乘回归树Python实现
- Python实现- 最小 二乘 回归树 RTree
- 李航《统计学习方法》第五章——用Python实现决策树(MNIST数据集)
- 最小二乘回归树Golang多线程实现
- 最小二乘回归
- 最小二乘回归
- 《统计学习方法》 决策树 CART生成算法 回归树 Python实现
- 统计学习方法——第五章决策树
- 线性回归——最小二乘求解
- 最小二乘回归树生成算法
- 李航《统计学习方法》第六章——用Python实现逻辑斯谛回归(MNIST数据集)
- 李航 统计学习方法 第五章 决策树 课后 习题 答案
- 李航—统计学习方法第二章课后答案
- 李航—统计学习方法第四章课后答案
- 李航—统计学习方法第一章课后答案
- 偏最小二乘回归
- 【区块链】实体经济距离发行ICO还有多远?
- SpringBoot:spring boot 服务配置和部署
- IE下按钮超链接无法跳转
- 如何判断一个整数x是否可以表示成n个连续正整数的和
- <算法>基于三路划分的链表快速排序
- 最小二乘回归树Python实现——统计学习方法第五章课后题
- 圆与多边形求交面积
- Spring + Jta +JDBCTemplate 分布式事物实现方式
- 第一次用CSDN的MarkDown写博客,遇到个奇葩问题!
- 常见类---String类
- iOS开发 数据存储之SQLite3
- Fast.Plans.v10.1.WinALL 1CD(室内设计绘图软件)
- PS方式配置FPGA和在線升級
- Java实现文件目录的遍历