决 策 树-应用教程

【例子】一个简单的决策树回归例子

作者 : 老饼 发表日期 : 2022-06-26 09:51:42 更新日期 : 2025-06-03 13:38:35
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com



   CART决策树是常用的机器学习算法,它包括CART分类树与回归树,其中回归树可用于回归问题

本文展示一个用python(sklearn)实现的简单的CART回归树例子,以及代码的运行结果

通过本文,可以快速了解,如何使用python来实现一个CART回归树,学习sklearn回归树的调用方法





  01. 决策树回归树-代码例子   




本节先展示使用CART回归树实现回归问题的一个简单例子




       问题与数据介绍      


现已采集150组 鸢尾花数据,
包括鸢尾花的四个特征数据(花萼长度、花萼宽度、花瓣长度、花瓣宽度)
 数据如下(即sk-learn中的iris数据):
 鸢尾花数据集示例 
 花萼长度 sepal length (cm) 、花萼宽度 sepal width (cm) 
花瓣长度 petal length (cm) 、花瓣宽度 petal width (cm) 
我们希望通过采集的数据,训练一个决策树模型,
之后应用该模型,可以根据花萼长度、花萼宽度、花瓣长度 预测 花瓣宽度





     CART回归树-实现代码    


用决策树对以上回归问题进行建模的流程如下:
1. 建立决策树模型                  
2. 用数据训练决策树模型        
3. 用训练好的决策树模型预测 
 在python中通过sklearn具体实现的代码如下:
from sklearn.datasets import load_iris
from sklearn import tree
import pandas as pd


#----------------数据准备----------------------------
iris = load_iris()                          # 加载数据
x = iris.data[:,0:3]
y =  iris.data[:,3]
feature_names = iris['feature_names'][0:3]
target_name = iris['feature_names'][3]
#---------------模型训练----------------------------------
clf = tree.DecisionTreeRegressor()         # sk-learn的决策树模型
clf = clf.fit(x, y)                        # 用数据训练树模型构建()
r = tree.export_text(clf, feature_names=feature_names)


#---------------模型预测结果------------------------
test_x = x[[0,1,50,51,100,101], :]
test_y = y[[0,1,50,51,100,101]]
pred_target = clf.predict(test_x)              # 预测y


df = pd.DataFrame()
df["原y"] = test_y
df["预测y"] = pred_target


#---------------打印结果---------------------------
print("\n===模型======")
print(r)
print("\n===预测结果======")
print(df)
代码运行结果如下:
 
代码运行结果 
可以看到,构建好的CART回归树的预测结果与真实值基本一致






以上就是决策树做回归树的最简例子









 End 




图标 评论
添加评论