连续值和缺省值的处理

1. 连续值和缺省值的处理


决策树模型

决策树基于“树”结构进行决策

  • 每个“内部结点”对应于某个属性上的“测试”
  • 每个分支对应于该测试的一种可能结果(即该属 性的某个取值)
  • 每个“叶结点”对应于一个“预测结果”

学习过程: 通过对训练样本的分析来确定“划分属性”(即内部结点所对应的属性)

预测过程: 将测试示例从根结点开始,沿着划分属性所构成的“判定测试序列”下行,直到叶结点

总体流程: “分而治之”(divide-and-conquer)

  • 自根至叶的递归过程
  • 在每个中间结点寻找一个“划分”(split or test)属性

三种停止条件:

  1. 当前结点包含的样本全属于同一类别,无需划分;
  2. 当前属性集为空, 或是所有样本在所有属性上取值相同,无法划分;
  3. 当前结点包含的样本集合为空,不能划分.

决策树基本流程

[图片上传失败...(image-43a3a6-1530459814769)]

1.1 连续值处理

如果数据中有连续值,如何处理?

[图片上传失败...(image-58d933-1530459814769)]

基本思路: 连续属性离散化

常见做法: 二分法 (bi-partition)

  • n个属性值可形成(n-1)个候选划分
  • 把候选划分值当做离散属性处理,寻找最佳划分

[图片上传失败...(image-28aba0-1530459814769)]

1.2 缺省值处理

现实应用中,经常会遇到属性值“缺失”(missing)现象

只使用没有缺失值的样本/属性?

  • 会造成数据的极大浪费

如果使用带缺失值的样例,需解决几个问题:

基本思路: 样本赋权,权重划分

分辨西瓜的例子

仅通过无缺失值的样例来判 断划分属性的优劣

有缺失值的西瓜数据集

[图片上传失败...(image-93c06c-1530459814769)]

学习开始时,根结点包 含样例集 D 中全部17个样例,权重均为 1

以属性“色泽”为例,该属性上无缺失值的样例子集 包含14个样本,信息熵为

分辨西瓜的例子

[图片上传失败...(image-4303ae-1530459814769)]

[图片上传失败...(image-fec195-1530459814769)]

[图片上传失败...(image-72d0ac-1530459814769)]

从树到规则

  • 一棵决策树对应于一个“规则集”
  • 每个从根结点到叶结点的分支路径对应于一条规则

[图片上传失败...(image-4e3b3e-1530459814769)]

好处:

  • 改善可理解性
  • 进一步提升泛化能力

要点总结


  • 连续值处理
    • 二分思路
      • n 个属性值可形成 n-1 个候选划分,当做离散值来处理
  • 缺失值处理
    • 样本赋权,权重划分

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据挖掘DT机器学习

Tensorflow:基于LSTM轻松生成各种古诗

RNN不像传统的神经网络-它们的输出输出是固定的,而RNN允许我们输入输出向量序列。RNN是为了对序列数据进行建模而产生的。 样本序列性:样本间存在顺序关系,...

4146
来自专栏Jack-Cui

Caffe学习笔记(三):cifar10_quick_train_test.prototxt配置文件分析

运行平台: Ubuntu14.04     在上篇笔记中,已经记录了如何进行图片数据格式的转换和生成txt列表清单文件。本篇笔记主要记录如何计算图片数据的均值和...

2758
来自专栏利炳根的专栏

学习笔记CB010:递归神经网络、LSTM、自动抓取字幕

递归神经网络(RNN),时间递归神经网络(recurrent neural network),结构递归神经网络(recursive neural network...

5694
来自专栏机器之心

专栏 | 在PaddlePaddle上实现MNIST手写体数字识别

机器之心专栏 来源:百度PaddlePaddle 不久之前,机器之心联合百度推出 PaddlePaddle 专栏,为想要学习这一平台的技术人员推荐相关教程与资源...

2625
来自专栏ATYUN订阅号

马尔可夫链文本生成的简单应用:不足20行的Python代码生成鸡汤文

提到自然语言的生成时,人们通常认为要会使用高级数学来思考先进的AI系统,然而,并不一定要这样。在这篇文章中,我将使用马尔可夫链和一个小的语录数据集来产生新的语录...

2596
来自专栏深度学习思考者

目标检测:选择性搜索策略(C++ / Python)

导读:通过本教程,我们将彻底理解一个重要的概念:目标检测中的常用方法“Selective Search”。文末也会给出使用C++或者Python的Opencv代...

5117
来自专栏人工智能

使用Keras在训练深度学习模型时监控性能指标

Keras库提供了一套供深度学习模型训练时的用于监控和汇总的标准性能指标并且开放了接口给开发者使用。

1.3K10
来自专栏数据派THU

从零开始用Python构造决策树(附公式、代码)

? 来源:Python中文社区 作者:weapon 本文长度为700字,建议阅读5分钟 本文介绍如何不利用第三方库,仅用python自带的标准库来构造一个决策...

2578
来自专栏AI研习社

Github 项目推荐 | 100+ Chinese Word Vectors 上百种预训练中文词向量

该项目提供了不同表征(密集和稀疏)上下文特征(单词,ngram,字符等)和语料库训练的中文单词向量。开发者可以轻松获得具有不同属性的预先训练的向量,并将它们用于...

1412
来自专栏大数据挖掘DT机器学习

如何用TensorFlow和TF-Slim实现图像标注、分类与分割

本文github源码地址: 在公众号 datadw 里 回复 图像 即可获取。 笔者将和大家分享一个结合了TensorFlow和slim库的小应用,来实现...

4684

扫码关注云+社区