从零开始的AI·决策树原来这么好理解(附实例代码)
从零开始的AI系列
- 从零开始的AI·机器学习の基本概念
- 从零开始的AI·吃透kNN算法,学完我悟了(附实例代码)
- 从零开始的AI·朴素贝叶斯?拿来吧你(附实例代码)
文章目录
- 从零开始的AI系列
- 前言
- 一、权衡利弊
- 二、整体感知
- 三、理论依据
- 四、具体实现过程及细节
前言
本文理论部分基于Peter Harrington的《机器学习实战》一书
决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。分类树决策树是一种十分常用的分类方法。它是一种监督学习。
如果觉得AI学习枯燥,可以选择看一下这个老哥做的网站,趣味性直接拉满>>人工智能教程
一、权衡利弊
- 优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。
- 缺点:可能会产生过度匹配问题。
- 适用数据类型:数值型和标称型。
二、整体感知
上述对生物种类的划分就可以通过决策树来实现。通过对每种生物特征不断划分,最终实现对生物进行分类的目的。
三、理论依据
如果我们知道依据什么特征,划分数据将会很容易,所以我们的主要工作做在选择特征上。由此我们引出 信息增益,获得信息增益最高的特征就是最好的选择
如何通过计算信息增益确定特征?
信息定义公式
信息熵定义公式
经验熵公式
|D|表示其样本容量
条件熵公式
信息增益
A是某一特征
四、具体实现过程及细节
#导入数据
import pandas as pd
Tianic = pd.read_csv(r'train.csv')
#划分数据集
from sklearn import model_selection
predictors=Tianic.columns[1:2]
X_train, X_test, Y_train, Y_test =model_selection.train_test_split(Tianic[predictors],Tianic.z,test_size=0.25,random_state=1234)
#构建函数模型并预测
from sklearn import tree
from sklearn import metrics
CART_Class=tree.DecisionTreeClassifier(max_depth=1,min_samples_leaf=1,min_samples_split=2)
decision_tree = CART_Class.fit(X_train,Y_train)
pred = CART_Class.predict(X_test)
print('准确率:\n',metrics.accuracy_score(Y_test,pred))
从零开始的AI·决策树原来这么好理解(附实例代码)相关推荐
- 从零开始的AI·朴素贝叶斯?拿来吧你(附实例代码)
从零开始的AI系列 从零开始的AI·机器学习の基本概念 从零开始的AI·吃透kNN算法,学完我悟了(附实例代码) 从零开始的AI·决策树原来这么好理解(附实例代码) 文章目录 从零开始的AI系列 前言 ...
- 从零开始的AI·吃透kNN算法,学完我悟了(附实例代码)
从零开始的AI系列 从零开始的AI·机器学习の基本概念 从零开始的AI·决策树原来这么好理解(附实例代码) 从零开始的AI·朴素贝叶斯?拿来吧你(附实例代码) 文章目录 从零开始的AI系列 前言 一. ...
- 最后两周!60万奖金AI攻防赛进入冲刺(附baseline代码及实操)
由于篇幅原因,本篇文字介绍主要以第一篇baseline为例. 第二篇baseine参考如下: 代码:https://pan.baidu.com/s/1QYJ5azudMqWMqKv57MjpzA 提取 ...
- 从零开始的AI·机器学习の基本概念
从零开始的AI系列 机器学习の基本概念 从零开始的AI系列 一.机器学习の相关术语及其理解 二.机器学习の学习任务 分类 回归 聚类 特征降维与低维可视化 三.机器学习の学习范式 监督式学习 半监督式 ...
- 生物智能与AI——关乎创造、关乎理解(下)
无监督学习,迁移学习和工程设计 AI系统与人类学习之间的另一个主要差异在于AI系统所需的大量标记数据才可以达到人类级别的性能.例如,最近的语音识别系统在11940小时的语音训练后才能对齐转录.如果我们 ...
- 从零开始拼凑的_如何从零开始拼凑AI
从零开始拼凑的 by Christopher Phillips 克里斯托弗·菲利普斯(Christopher Phillips) 如何从零开始拼凑AI (How to Patch Together a ...
- 【AI初识境】从头理解神经网络-内行与外行的分水岭
文章首发于微信公众号<有三AI> [AI初识境]从头理解神经网络-内行与外行的分水岭 这是专栏<AI初识境>的第2篇文章.所谓初识,就是对相关技术有基本了解,掌握了基本的使用方 ...
- 有三AI小程序上线,把你的代码show给世界
文/编辑 | 言有三 五一期间不发技术文影响大家休假,不过经过有三这几天的折腾,今天有三AI小程序上线了,虽然是很粗糙的一个版本,但是哆哆嗦嗦,勉勉强强地也能用了,给大家介绍一下,体验码如上. 为什么 ...
- 广告点击率(CTR)预测经典模型 GBDT + LR 理解与实践(附数据 + 代码)
CTR 系列文章: 广告点击率(CTR)预测经典模型 GBDT + LR 理解与实践(附数据 + 代码) CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解 CTR深度学习模型之 ...
最新文章
- 【力扣网练习题】合并两个有序链表
- sequoiadb sdbexprt 导入工具进阶使用
- python3.6.5下载-python3.6.5下载
- 项目开发涉及循坏的小思路
- Opencv undefined reference to `cv::imread() Ubuntu编译
- Oracle PL/SQL块 多表查询(emp员工表、dept部门表、salgrade工资等级表)
- macaca使用中问题解决方法整理
- 使用MetalLB在您的Raspberry Pi家庭实验室上安装Kubernetes负载均衡器
- Ember.js 入门指南——番外篇,路由、模板的执行、渲染顺序
- koa2 mysql 中间件_koa2中间件
- Linux 命令(84)—— id 命令
- 连接部分蓝牙耳机播放音乐无声音(aptx)问题
- 12 序列化器Serializer的使用
- 一步步的教你安装UChome (UChome 安装教程)
- jQuery实现鼠标滑过图片放大效果
- 推荐基于.NetCore一款高性能敏感词检测开源库
- tig只看某个作者的提交
- windwos分区合并磁盘
- 【luogu P3946 ことりのおやつ】 题解
- 第三节 MapReduce(一)
热门文章
- Git 安装及常用操作配置
- Windows Phone UI控件
- 用sp_addlinkedserver建立链接服务器(sql server2008中通过测试)
- Customization larbin
- pack unpakc
- 使用Spyder生成动态二维码遇到的问题 ImportError 、ValueError 、OSError
- 初步了解Windows应用程序内存结构 - 使用VMMAP工具
- DirectX 向量点乘和叉乘
- 如何认识TOS----DSCP 对照表
- POJ3468--A Simple Problem with Integers--线段树/树状数组 改段求段