机器学习-决策树

本文介绍了决策树,一种监督学习算法,常用于分类问题。主要内容包括ID3算法的工作原理,信息增益的概念以及构建决策树的过程。通过信息增益选择最佳属性,逐步构建准确的决策树模型,并提到了数据预处理、分类拟合、预测、评估和可视化等步骤。
摘要由CSDN通过智能技术生成

决策树

在这里插入图片描述
决策树是什么
它是一种监督学习算法,主要用于分类问题,适用于可分类的、连续的输入和输出变量。
决策树是这样的一种树,这棵树的每个分支节点表示多个可以选择的选项,并且每个叶节点表示最终所做的决策。

决策树算法:ID3
ID3代表的是Iterative Dichotomizer 3。它的基本思想是,通过在给定集合中使用自上而下的贪婪搜索算法来构造决策树,以测试每个树节点处的每个属性。
听起来很简单 - 但是我们应该选择哪个节点来构建正确且最精确的决策树呢?我们该如何决定呢?好吧,有一些措施可以帮助我们作出最佳选择!


   循环:
    	A — > 最好的属性;
		将A分配给每个节点的决策属性;
		对于A的每个值,创建一个字节点;
		将训练示例排序
		如果  示例被很好地分类:
			 停止;
		否则:
			 继续迭代		

信息增益
什么是最好的属性呢?那就是能带给我们最大信息增益的属性。从广义上讲,这是一种数学方法,它可以通过选择特定属性来获得我们想要的信息量。但它的真正意义是,基于已知的特定属性的值,数据集表格的随机性会逐渐减少。信息增益定义如下:在这里插入图片描述
S = 训练集
A = 特定属性
|Sv| = Sv中元素的数量
|S| = S中元素的数量
v = 属性的所有可能值


机器学习中的熵也具有与热力学力几乎相同的含义,如果是随机性度量的话。
在这里插入图片描述
v = 属性的所有可能值

步骤:
1、计算数据集的熵;
2、对于每个属性/ 特征:
(1)计算所有分类值的熵;
(2)取当前属性的平均信息熵;
(3)计算当前属性的增益;
3、选择最高增益属性;
4、重复,直到得到我们想要的树。

第1步:数据预处理

#导入相关库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#导入数据集
dataset = pd.read_csv('Social_Network_Ads.csv')
X = dataset.iloc[:, [2, 3]].values
y = dataset.iloc[:, 4].values
#将数据集拆分为训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)
#特征缩放
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值