决策树算法 –
DecisionTreeClassifier(criterion=’entropy’)
criterion – 标准
entropy:基于信息熵 – 即ID3算法,实际结果与C4.5相差不大
gini:基尼系数 – 即CART算法
生存预测的关键流程
-
准备阶段
- 数据探索 – 分析数据质量
- info – 数据表的基本情况:行数、列数、每列的数据类型、数据完整度
- describe – 数据表的统计情况:总数、平均数、标准差、最小值、最大值
- describe(include = [ ‘O’ ] 字符串类型(非数字)的整体情况
- head – 前几行数据
- tail – 后几行数据
- 清洗数据
- 填充缺失值 – 均值/最高频值
df.fillna(df[‘XX’].mean(), inplace = True)
df.fillna(df[‘XX’].value_counts(), inplace = True)
- 填充缺失值 – 均值/最高频值
- 特征选择 – 数据降维,方便后续分类运算
- 筛选掉无意义的列
- 筛选掉缺失值较多的列
- 将剩下的特征放入特征向量
- 数据转换 – 字符型列转换成数值列,方便后续操作 – DictVectorizer类来转换
DictVectorizer:符号转化数字0/1进行表示- 实例化一个转换器
devc = DictVectorizer(sparse = False) – sparse=False意味着不使用稀疏矩阵,稀疏矩阵是指将非0值按照位置表示出来
one-hot 是为了让类别更公平一些,相互之间没有优先级 - 调用fit_transform()方法
to_dict(orient=’record’) – 转换成list形式
- 实例化一个转换器
- 数据探索 – 分析数据质量
-
分类阶段
- 决策树模型
1.导入决策树模型- 生成决策树
- 拟合生成决策树
- 模型评估&预测
- 预测 – 决策树输出预测结果
- 评估
已知预测值和真实结果 – clf.score(特征, 结果标签)
不知道真实预测结果 – K折交叉验证 – cross_val_score
- 决策树可视化
- 决策树模型
-
绘图阶段 – GraphViz
- 先安装graphviz
- 导入graphviz包 – import graphviz
- sklearn中导入 export_graphviz
- 先用export_graphviz 到处决策树模型中要展示的数据
- 再用graphviz获取数据源
- 数据展示
K折交叉验证
拿出大部分样本进行训练,少量用于分类器的验证 – 做K次交叉验证,每次选取K分之一的数据进行验证,其余作为训练,轮流K次,取平均值
-
将数据集平均分割成K个等份
-
使用1份数据作为测试数据,其余为训练数据
-
计算测试准确率
-
使用不同的测试集,重复2、3步骤
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END