机器学习--决策树及泰坦尼克号生存预测

决策树是一个类似于流程图的树结构,分支节点表示对一个特征进行测试,根据测试结果进行分类,树叶节点代表一个类别。

要判断从哪个特征进行分裂,就要对信息进行量化,量化的方式有:

ID3: 信息增益

条件熵:

其中pi=P(X=xi),X,Y代表了两个事件,而它们之间有时有联系的(也就是联合概率分布),条件熵H(Y|X)代表了在一直随机变量X的情况下,Y的不确定性的大小。

信息增益:熵H(Y)和条件熵H(Y|X)的差。定义如下: 
I(Y,X)=H(Y)−H(Y|X)

熵越大,事物越不确定,信息增益越大,该特征越适合做分裂点。

C4.5: 信息增益比

CART: 基尼系数

实例:预测泰坦尼克号生存率

a. 数据处理

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# 数据预处理,丢弃无用数据、处理数据、填充缺失值
def read_dataset(fname):
    # 指定第一列为行索引
    data = pd.read_csv(fname,index_col=0)
    # 丢弃无用数据
    data.drop(['Name','Ticket','Cabin'],axis=1,inplace=True)
    # 处理性别数据,male为1,female为0
    data['Sex']=(data['Sex']=='male').astype(int)
    # 处理登船港口数据
    labels = data['Embarked'].unique().tolist()
    data['Embarked'] = data['Embarked'].apply(lambda s: labels.index(s))
    # 处理缺失值
    data = data.fillna(0)
    return data

train = read_dataset('train.csv')

train.head()
<
  Survived
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值