sklearn库学习----决策树(分类树DecisionTreeClassifier)

概述

决策树是一种非参数的有监督学习方法,他能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构呈现出这些规则,以解决分类和回归问题。

决策树算法的核心是解决两个问题

  • 如何从数据表中找出最佳节点和最佳分支
  • 如何让决策树停止生长,防止过拟合

sklearn中的决策树

sklearn中的决策树都在sklearn.tree模块下

类名 作用
tree.DecisionTreeClassifier 分类树
tree.DecisionTreeRegressor 回归树
tree.export_graphviz 将生成的决策树导出为DOT格式,画图使用
tree.ExtraTreeClassifier 高随机版本的分类树
tree.ExtraTreeRegressor 高随机版本的回归树

基本建模流程

在这里插入图片描述

重要参数

参数 criterion
如何影响模型 确定不纯度计算方法,找出最佳节点和最佳分支,不纯度越低,决策树对训练集的拟合度越好
可选值 gini–基尼系数(默认),entropy–信息增益
怎样选择 通常使用基尼(gini)系数,数据维度很大噪音很大使用基尼系数,维度低,数据比较清晰时gini和entropy没有区别。当决策树拟合度不够时使用entropy。最坏的情况,两个都试试选择好的
  • random_state :用来设置分支中随机模式的参数,默认为None,高维度时随机性会表现得很明显,低纬度可能不会和明显
  • splitter:用来控制决策树中的随机选项,输入为best时,决策树在分支时虽然随机,但是还是会优先选择更重要的特征来进行分支(特征重要性可以通过feature_importances_ 查看);输入random决策树在分支时会更加随机,训练集的拟合很可能会降低
from sklearn.tree import DecisionTreeClassifier

# 使用红酒数据集联系决策树
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
wine = load_wine()
# 数据集分割
X_train, X_test, y_train, y_test = train_test_split(wine['data'], wine['target'], test_size=0.3, random_state=1)
##### 训练模型
dtcf 
  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值