【机器学习算法-决策树】

决策树

什么是决策树:类似于程序设计中的条件分支结构if-else结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法。
决策树:由多个判断节点组成的树,每个内部节点代表属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。

决策树分类原理

信息熵:数据有序熵小,无序熵大。
信息增益:使用划分前后集合熵的差值来衡量使用当前特征对于样本集合划分效果的好坏。
信息增益越高则越靠近树节点,然后依次叶节点进行划分。
基尼值和基尼指数:基尼值越小,数据集的纯度越高。

ID3算法:信息增益(只能对离散属性的数据集构成决策树)
C4.5算法:信息增益率(解决了ID3分支过程中总喜欢偏向选择值较多的属性)
CART算法:基尼系数(可以进行分类和回归,可以处理离散属性,也可处理连续属性)

剪枝

是决策树学习算法中对付过拟合的主要手段。
预剪枝和后剪枝:根据是否能提升决策树的泛化能力

特征工程-特征提取

定义:将任意数据(如文本或图像)转换为可用于机器学习的数字特征。
特征提取分类:字典特征提取(特征离散化)、文本特征提取、图像特征提取(深度学习)

特征提取API

sklearn.feature_extraction
1.字典特征提取
作用:对字典数据进行特征值化
sklearn.feature_extraction.DictVectorizer()

data=[{'city':'北京''temperature':100}]
#1.实例化一个转换器类
transfer=DictVectorizer(sparse=False)
#2.调用fit_transform
data=transfer.fit_transform(data)

2.文本特征提取
作用:对文本数据进行特征值化
sklearn.feature_extraction.text.CountVectorizer(stop_words=[])

对中文需要进行分词处理
jieba分词
text=’’.join(list(jieba.cut(text)))

3.Tf-idf文本特征提取
主要思想:如果某个词或者短语在一篇文章中出现的概率高,并且在其他文章中很少出现,则认为这个词或者短语具有很好的类别区分能力,适合用于分类。
TF-IDF作用:用以评估一字词对于一个文件集或者一个语料库中的其中一份文件的重要程度。

决策树算法API

sklearn.tree.DecisionTreeClassifier()

决策树算法机器学习中常用的一种算法,它通过构建一棵树形结构来进行分类或回归任务。决策树算法有多种不同的变体,其中包括ID3算法、C4.5算法和基本决策树算法。 ID3算法是最早提出的一种决策树算法,它的核心思想是通过计算信息增益来选择最佳的特征进行节点的划分。具体步骤是:从根节点开始,计算每个特征的信息增益,选择信息增益最大的特征作为当前节点的划分特征,然后根据该特征的不同取值建立子节点,再对子节点递归地应用以上步骤,直到所有的特征信息增益很小或没有特征可选为止。 C4.5算法是对ID3算法的改进,它引入了信息增益率(比)来选择特征,解决了ID3算法对于取值较多的特征有偏好的问题。与ID3算法相似,C4.5算法也使用递归的方式构建决策树,但在选择划分特征时,使用信息增益率作为选择的依据。 基本决策树算法决策树算法的一种简化版,它没有引入信息增益或信息增益率,而是通过计算基尼指数来选择最佳的划分特征。基尼指数衡量了一个特征的不纯度,选择基尼指数最小的特征进行划分。基本决策树算法相对于ID3算法和C4.5算法更简单直观,但在某些情况下可能会有一定的性能损失。 总的来说,决策树算法通过构建一棵树形结构来进行分类或回归任务,其中ID3算法、C4.5算法和基本决策树算法是其中的三种常见变体。每种算法都有其特点和优缺点,选择适合具体问题的算法可以提高算法的性能和准确性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [机器学习算法(3)之决策树算法](https://blog.csdn.net/qq_20412595/article/details/82048795)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值