决策树实现

本文介绍了决策树的实现,包括参数如criterion、splitter、max_depth等的解释,以及如何限制叶子节点和最大深度。同时强调了库函数导入的注意事项,如使用pydotplus查看树结构,注意模块导入路径。内容还涵盖了使用GridSearchCV进行特征选择,通过调整max_depth、min_samples_split和n_estimators等参数来寻找最佳预测效果。最后,文章探讨了如何通过训练集和测试集评估决策树和随机森林的性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

树模型参数解释

criterion gini or entropy : 选择决策树剪枝使用gini系数或者是熵值法
splitter best or random: 选择在所有特征中找最佳切分点或在部分特征中找最佳切分点
max_depth:对决策树深度做限制(预剪枝)
min_samples_split: 判断是否叶子节点继续进行分裂,如果小于这个值如10,节点样本数只有9了,就不会再继续分裂
min_samples_leaf: 限制叶子节点最小样本数
max_leaf_nodes :限制最大叶子节点个数
n_estimators :要建立树的个数

库函数导入注意事项


from sklearn.externals.six import StringIO
import matplotlib.pyplot as plt
import pandas as pd
import pydotplus
from sklearn.model_selection import train_test_split
from sklearn.datasets.california_housing import fetch_california_housing
from IPython.display import Image
from sklearn.model_selection import GridSearchCV
from sklearn import tree

注意pydotplus库用于查看建立的树文件(虽然我没用到),StringIO库用于传递给输出树图参数(必写),另外导入GridSearchCVtrain_test_split必须从model_selection中进行导入操作,而不能从cross——validation或者gridxx中导入,因为这样会存在由于更新导致的冲突问题。

housing = fetch_california_housing()
print(housing.DESCR)

print(housing.data.shape)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值