机器学习——决策树

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

介绍

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

决策树主要用的是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
相关文章
|
2月前
|
机器学习/深度学习 存储 算法
决策树和随机森林在机器学习中的应用
在机器学习领域,决策树(Decision Tree)和随机森林(Random Forest)是两种非常流行且强大的分类和回归算法。它们通过模拟人类决策过程,将复杂的数据集分割成易于理解和处理的子集,从而实现对新数据的准确预测。
95 10
|
2月前
|
机器学习/深度学习 数据采集 监控
探索机器学习:从数据到决策
【9月更文挑战第18天】在这篇文章中,我们将一起踏上一段激动人心的旅程,穿越机器学习的世界。我们将探讨如何通过收集和处理数据,利用算法的力量来预测未来的趋势,并做出更加明智的决策。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和思考方式。
|
2月前
|
机器学习/深度学习 算法 Python
从菜鸟到大师:一棵决策树如何引领你的Python机器学习之旅
【9月更文挑战第9天】在数据科学领域,机器学习如同璀璨明珠,吸引无数探索者。尤其对于新手而言,纷繁复杂的算法常让人感到迷茫。本文将以决策树为切入点,带您从Python机器学习的新手逐步成长为高手。决策树以其直观易懂的特点成为入门利器。通过构建决策树分类器并应用到鸢尾花数据集上,我们展示了其基本用法及效果。掌握决策树后,还需深入理解其工作原理,调整参数,并探索集成学习方法,最终将所学应用于实际问题解决中,不断提升技能。愿这棵智慧之树助您成为独当一面的大师。
44 3
|
2月前
|
机器学习/深度学习 算法 Python
决策树下的智慧果实:Python机器学习实战,轻松摘取数据洞察的果实
【9月更文挑战第7天】当我们身处数据海洋,如何提炼出有价值的洞察?决策树作为一种直观且强大的机器学习算法,宛如智慧之树,引领我们在繁复的数据中找到答案。通过Python的scikit-learn库,我们可以轻松实现决策树模型,对数据进行分类或回归分析。本教程将带领大家从零开始,通过实际案例掌握决策树的原理与应用,探索数据中的秘密。
47 1
|
3月前
|
机器学习/深度学习 算法 数据挖掘
【白话机器学习】算法理论+实战之决策树
【白话机器学习】算法理论+实战之决策树
|
3月前
|
机器学习/深度学习 算法 自动驾驶
揭秘机器学习模型的决策之道
【8月更文挑战第22天】本文将深入浅出地探讨机器学习模型如何从数据中学习并做出预测。我们将一起探索模型背后的数学原理,了解它们是如何被训练以及如何对新数据进行预测的。文章旨在为初学者提供一个清晰的机器学习过程概述,并启发读者思考如何在自己的项目中应用这些技术。
|
3月前
|
机器学习/深度学习 算法 搜索推荐
基于机器学习的用户行为分析:深入洞察与精准决策
【8月更文挑战第3天】基于机器学习的用户行为分析为企业提供了深入了解用户需求、优化产品设计和制定精准营销策略的有力工具。随着人工智能和大数据技术的不断发展,用户行为分析将更加智能化和个性化。未来,我们可以期待更加高效、精准的机器学习算法和模型的出现,以及更多创新性的应用场景的拓展。同时,也需要关注数据隐私和安全性问题,确保用户数据的安全和合规使用。
|
3月前
|
机器学习/深度学习 算法 Python
决策树下的智慧果实:Python机器学习实战,轻松摘取数据洞察的果实
【8月更文挑战第3天】在数据的海洋中探寻真知,决策树犹如智慧之树,以其直观易懂的强大功能,引领我们逐步缩小决策范围,轻松获取数据洞察。本篇将带您踏上Python机器学习之旅,从理解决策树为何受青睐开始,通过scikit-learn库实现鸢尾花数据集分类,解析其决策机制,并掌握调参技巧,最终优化模型性能,共同摘取数据科学的甜美果实。
50 1
|
3月前
|
机器学习/深度学习 数据可视化 算法
决策树VS世界:掌握Python机器学习中的这棵树,决策从此不再迷茫
【8月更文挑战第2天】在数据驱动时代,决策树作为一种直观且易于解释的机器学习方法,因其强大的分类与回归能力备受青睐。本文介绍决策树的基础概念:通过属性测试划分数据,优化选择以提高预测准确度。使用Python的scikit-learn库,我们演示了如何加载鸢尾花数据集,构建并训练决策树模型,评估其准确性,以及利用`plot_tree`函数可视化决策过程,从而更好地理解模型的工作原理。掌握这些技能,你将在面对复杂决策时更加自信。
25 2
|
3月前
|
机器学习/深度学习 算法 Python
从菜鸟到大师:一棵决策树如何引领你的Python机器学习之旅
【8月更文挑战第1天】在数据科学领域,机器学习如同璀璨明珠,而决策树则以其直观易懂成为入门利器。本文引导初学者利用Python的`scikit-learn`库构建决策树模型。以鸢尾花数据集为例,展示了从加载数据、划分训练/测试集、创建`DecisionTreeClassifier`、训练模型到评估准确率的全过程。掌握这些基本操作后,还需深入理解信息增益、基尼不纯度等原理,学会调参优化,并探索集成学习方法如随机森林和梯度提升树,最终将理论应用于实践,成长为真正的机器学习大师。
36 2