泰坦尼克乘客生存预测

决策树算法 –

DecisionTreeClassifier(criterion=’entropy’)
criterion – 标准
entropy:基于信息熵 – 即ID3算法,实际结果与C4.5相差不大
gini:基尼系数 – 即CART算法

生存预测的关键流程

image.png

  1. 准备阶段

    1. 数据探索 – 分析数据质量
      1. info – 数据表的基本情况:行数、列数、每列的数据类型、数据完整度
      2. describe – 数据表的统计情况:总数、平均数、标准差、最小值、最大值
      3. describe(include = [ ‘O’ ] 字符串类型(非数字)的整体情况
      4. head – 前几行数据
      5. tail – 后几行数据
    2. 清洗数据
      1. 填充缺失值 – 均值/最高频值
        df.fillna(df[‘XX’].mean(), inplace = True)
        df.fillna(df[‘XX’].value_counts(), inplace = True)
    3. 特征选择 – 数据降维,方便后续分类运算
      1. 筛选掉无意义的列
      2. 筛选掉缺失值较多的列
      3. 将剩下的特征放入特征向量
      4. 数据转换 – 字符型列转换成数值列,方便后续操作 – DictVectorizer类来转换
        DictVectorizer:符号转化数字0/1进行表示

        1. 实例化一个转换器
          devc = DictVectorizer(sparse = False) – sparse=False意味着不使用稀疏矩阵,稀疏矩阵是指将非0值按照位置表示出来
          one-hot 是为了让类别更公平一些,相互之间没有优先级
        2. 调用fit_transform()方法
          to_dict(orient=’record’) – 转换成list形式
  2. 分类阶段

    1. 决策树模型
      1.导入决策树模型

      1. 生成决策树
      2. 拟合生成决策树
    2. 模型评估&预测
      1. 预测 – 决策树输出预测结果
      2. 评估
        已知预测值和真实结果 – clf.score(特征, 结果标签)
        不知道真实预测结果 – K折交叉验证 – cross_val_score
    3. 决策树可视化
  3. 绘图阶段 – GraphViz

    1. 先安装graphviz
    2. 导入graphviz包 – import graphviz
    3. sklearn中导入 export_graphviz
    4. 先用export_graphviz 到处决策树模型中要展示的数据
    5. 再用graphviz获取数据源
    6. 数据展示

K折交叉验证
拿出大部分样本进行训练,少量用于分类器的验证 – 做K次交叉验证,每次选取K分之一的数据进行验证,其余作为训练,轮流K次,取平均值

  • 将数据集平均分割成K个等份

  • 使用1份数据作为测试数据,其余为训练数据

  • 计算测试准确率

  • 使用不同的测试集,重复2、3步骤

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享