赞
踩
注:可结合”Python算法总结(三)决策树分类(附手写python实现代码)“一起阅读!
有监督的回归算法
基于CART算法的python实现。
CART算法特点:①每个特征的重要程度是不一样,②每个连续型特征的不同分箱的重要程度是不一样的。
# 辅助函数1:切分数据集函数
def binsplitdataset(dataset,feature_index,value):
'''
参数说明:
dataset是带有标签的数据集
feature_name用于切分的特征
value该切分特征的切分点
返回:按featurename特征的value切分的数据集2个
'''
dataset_0=dataset[dataset.iloc[:,feature_index] > value]
dataset_1=dataset[dataset.iloc[:,feature_index] <= value]
return dataset_0,dataset_1
# 辅助函数2:计算切分误差函数
def error(dataset):
'''
参数说明:dataset是带有标签的数据集
返回:数据集标签列的误差值,误差值=方差*样本数量,
为何乘以样本数量?回答:“子样本数量=切分子集样本占总样本的比重*总样本数量”,即每个子样本的误差同比放大“总样本数量”倍数。
便于后续横向比较不同切分的误差值。
'''
err=dataset.iloc[:,-1].var() * dataset.shape[0]
return err
# 辅助函数3:生成叶节点的函数
def leaf_label(dataset):
'&#
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。