机器学习——决策树

简介: 机器学习——决策树

介绍

决策树一听名字,欸,就是来帮助我们做决策的,同时一个树字也点名我们的结构模型。同时也属于我们监督学习当中的算法之一。举一个很简单的例子,我现在要对某人的贷款是否发放做一个评估,这个时候会有年龄,有无工作,有无房子,信用情况做一个评估,我们就可以通过已有的条件来构造我们的树。

决策树主要用的是ID3算法、C4.5、CART这三种算法,这里我们以ID3为例,一起来学习决策树吧

ID3算法

我们的大致步骤就是初始化我们的特征集合和数据,然后去计算我们的信息熵,条件熵,选择信息增益比大的来作为我们的当前决策的结点,我们在下面着重介绍我们的信息熵,条件熵以及信息增益

信息熵

熵是我们高中化学里面所接触的一个知识,熵越大,越不稳定,这里的信息熵同理,再来看看这烦人的公式

我们直接用我们刚刚的例子来说这个公式

我们去查找的其实就是我们的类别的值,我们将类别所表示的是or否进行一个统计,然后代入公式

信息熵=-(是的概率)log2(是的概率)-(否的概率)log2(否的概率)

信息熵=-(9/15)log2(9/15)-(6/15)log2(6/15)

这样就将我们的信息熵给求出来了,相对于晦涩的公式,直接的用法更为直接

条件熵

条件c其实就有点像我们高中所学的附加条件就是那种p(a|b)的形式,我们还是先来看看公式吧

不要想得那么复杂,其实还是很简单的,就是求我们,在另外的条件下,所导致我们的类别不同的概率

求的就是我们在其他条件下,由于我取值不同,对于类别的影响,这里我们以年龄为例,在我们的年龄之后一共有5名青年,然后有2名青年为是,3名青年为否,然后和我们的信息熵的公式差不多,一样的-(所占比例)log2(所占比例)的和,好的求和 over,其他以此内推

再一次将我们求出的熵他们所占的比列

条件熵=1/5(青年所占比例)*0.971+1/5(中年所占比例)*0.971+1/5(老年所占比例)*0.7219

信息增益

我们的信息增益就很简单啦,直接信息熵-条件熵 over

代码

我们在这里就直接给大家介绍CKlearn的模块

def train_tree(*data):
    x_train, x_test, y_train, y_test=data #测试集类别 训练集类别 测试集结果 训练集结果
    clf=DecisionTreeClassifier()#选择决策树
    clf.fit(x_train,y_train)#学习
    print("学习模型预测成绩:{:.4f}".format(clf.score(x_train, y_train)))
    print("实际模型预测成绩:{:.4f}".format(clf.score(x_test, y_test)))
    #返回学习模型
    return clf
相关文章
|
9天前
|
机器学习/深度学习 数据采集 算法
【阿旭机器学习实战】【35】员工离职率预测---决策树与随机森林预测
【阿旭机器学习实战】【35】员工离职率预测---决策树与随机森林预测
|
3天前
|
机器学习/深度学习 人工智能 算法
【机器学习】Q-Learning算法:在序列决策问题中的实践与探索
【机器学习】Q-Learning算法:在序列决策问题中的实践与探索
5 0
【机器学习】Q-Learning算法:在序列决策问题中的实践与探索
|
25天前
|
机器学习/深度学习 传感器 人工智能
【机器学习】 人工智能和机器学习辅助决策在空战中的未来选择
【机器学习】 人工智能和机器学习辅助决策在空战中的未来选择
|
3天前
|
机器学习/深度学习 人工智能 算法
【机器学习】AI在空战决策中的崛起:从理论到实践的跨越
【机器学习】AI在空战决策中的崛起:从理论到实践的跨越
10 0
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】机器学习:人工智能中实现自动化决策与精细优化的核心驱动力
【机器学习】机器学习:人工智能中实现自动化决策与精细优化的核心驱动力
|
9天前
|
机器学习/深度学习 数据可视化 算法
【阿旭机器学习实战】【36】糖尿病预测---决策树建模及其可视化
【阿旭机器学习实战】【36】糖尿病预测---决策树建模及其可视化
|
25天前
|
机器学习/深度学习 算法 API
【机器学习】Python中的决策树算法探索
决策树作为机器学习中的一种基础且强大的算法,因其易于理解和实现、能够处理分类和回归任务的特性而广受欢迎。本文旨在深入浅出地介绍决策树算法的基本原理,并通过Python编程语言实践其应用,帮助读者掌握如何利用Python构建及优化决策树模型。本文预计分为以下几个部分:决策树基础理论、Python中实现决策树的库介绍、实战案例分析、模型评估与调优方法,以及决策树算法的局限性与未来展望。
29 0
|
1天前
|
机器学习/深度学习 人工智能 Dart
AI - 机器学习GBDT算法
梯度提升决策树(Gradient Boosting Decision Tree),是一种集成学习的算法,它通过构建多个决策树来逐步修正之前模型的错误,从而提升模型整体的预测性能。
|
2天前
|
机器学习/深度学习 算法 数据挖掘
机器学习与智能优化——利用简单遗传算法优化FCM
机器学习与智能优化——利用简单遗传算法优化FCM
17 5
|
3天前
|
机器学习/深度学习 人工智能 算法
【机器学习】RLHF:在线方法与离线算法在大模型语言模型校准中的博弈
【机器学习】RLHF:在线方法与离线算法在大模型语言模型校准中的博弈
19 6