决策树分类算法

决策树分类算法也是一种有监督的分类算法,输入同样为样本特征值向量,以及对应的类标签,输出则为具有分类功能的模型,能够根据输入的特征值预测分类结果:

有监督学习的分类问题
输入:
    X:样本的多种特征信息值
    y:对应的结果数值
输出:预测模型,为线性函数
模型用法:输入的待预测向量X,输出预测结果向量y

具体步骤
1. 选定纯度度量指标
2. 选定纯度度量指标,一次计算依据数据集中先有的各个特征得到的纯度,选取纯度能达到最大的那个特征作为该次的“条件判断”
3. 利用该特征作为“条件判断”切分数据集,同时将该特征从切分后的子集中剔除(也即不能再用该特征切分子集了)。
4. 重复第二、第三步,直到再没有特征,或切分后的数据集均为同一类

在Python中实现
Scikit-Learn库中,决策树的算法模型相关类库都在sklearn.tree包中。tree包中提供了7个类,其中有4个是决策树算法,另外3个是导出和绘制决策树,4种又分为两类,分别用于解决分类问题和回归问题

4个决策树算法中都有个参数"criterion",给这个参数传入字符串"gini",将使用基尼指数;传入字符串"entropy",则使用信息增益。默认使用基尼指数。

DecisionTreeClassifier类 经典的决策树分类算法

DecisionTreeRegressor类 用决策树算法解决返回归问题

ExtraTreeClassifier类 一款决策树分类算法,在决策条件选择环节加入了随机性,不是从全部特征维度集中选取,而是首先随机抽取n个特征维度来构成新的集合,然后再在新集合中选取决策条件。通过"max_features"设置n的值。

ExtraTreeRegressor类 与ExtraTreeClassifier类似,同样在决策条件选择环境加入随机性,用于解决回归问题

通过DecisionTreeClassifier类调用决策树分类算法:

from sklearn.datasets import load_iris
# 从Scikit-Learn库导入决策树模型中的决策树分类算法
from sklearn.tree import DecisionTreeClassifier
# 载入鸢尾花数据集
X, y = load_iris(return_X_y=True)
# 训练模型
clf = DecisionTreeClassifier().fit(X, y)
# 使用模型进行分类预测
clf.predict(X)
# 使用性能评估器评分
clf.score(X, y)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值