决策树原理
改进算法
但使用信息增益作为特征选择指标(ID3算法)容易造成过拟合。举一个简单例子,每个类别如果都有一个唯一ID,通过ID这个特征就可以简单分类,但这并不是有效的。为了解决这个问题,有了C4.5和CART算法,其区别如下所示:
ID3 是信息增益划分
C4.5 是信息增益率划分
CART 做分类工作时,采用 GINI 值作为节点分裂的依据
实战——泰坦尼克号生还预测
数据导入与预处理
该数据可在kaggle网站下载,这里我们先通过pandas读入数据。
import numpy as np
import pandas as pd
df = pd.read_csv('data/titanic/train.csv',index_col=0)
df.head()
首先,对于一些不重要的信息进行删除(例如Name);我们都知道,机器学习是没法对字符串进行计算的,这里需要把Sex、Embarked转换为整数类型。
# 删除列
df.drop(['Name', 'Ticket',