机器学习 第二周 (决策树)

决策树

在这里插入图片描述
1.属性选择的先后顺序

  • 熵值
  • 信息增益
  • 信息增益率
    在这里插入图片描述
    2.纯度的概念
    图1:0;图2:介于1与0之间;图3:1。
    在这里插入图片描述
    熵(entropy):熵越少越好
    在这里插入图片描述
    信息增益(gain):对纯度提升的纯度
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

决策树算法家族

1.ID3算法实现

ID3算法的详细实现步骤如下:

  • 对当前样本集合,计算所有属性的信息增益;
  • 选择信息增益最大的属性作为拆分属性,把拆分属性取值相同的样本划为同一个子样本集;
  • 若子样本集的类别属性只含有单个属性,则分支为叶子节点,判断其属性值并标上相应的符号之后返回调用出;否则对子样本集递归调用本算法
    在这里插入图片描述
    在这里插入图片描述
    参考阅读:决策树

决策树实例(实现决策树可视化)

import pandas as pd
from sklearn.tree import DecisionTreeClassifier,export_graphviz
from sklearn.metrics import classification_report
import graphviz

data = pd.read_csv('titanic_data.csv')
data.drop('PassengeID',axis=1,inplace=True)  #删除PassengeID这一列

data.loc[data['Sex'] == 'male','Sex'] =1     #用数值1来代替male,用0来代替female
data.loc[data['Sex'] == 'female','Sex'] =0

data.fillna(data['Age'].mean(),inplace=True)   #用均值来填充缺失值
Dtc = DecisionTreeClassifier(max_depth=5,random_state=8)  #构建决策树模型
Dtc.fit(data.iloc[:,1:],data['Survived'])  #模型训练
pre = Dtc.predict(data.iloc[:,1:])          #模型预测
pre == data['Survived']     #比较模型预测值与样本实际值是否一致
classification_report(data['Survived'],pre)  #模型分类报告

dot_data = export_graphviz(Dtc,feature_names=['Pclass','Sex','Age'],class_names='Survived')
graph = graphviz.Source(dot_data)
graph

作业

选择题
操作题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值