连续值和缺省值的处理

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 条评论
登录 后参与评论

相关文章

来自专栏PaddlePaddle

转载|PaddleFluid和TensorFlow基本使用概念对比

介绍:Paddle Fluid 是用来让用户像 PyTorch 和 Tensorflow Eager Execution 一样执行程序。在这些系统中,不再有模型...

1232
来自专栏机器之心

CVPR2018 | 让AI识别语义空间关系:斯坦福大学李飞飞组提出「参考关系模型」

选自arXiv 作者:Ranjay Krishna 等 机器之心编译 参与:张倩、路雪 图像不仅仅是一组目标集合,同时每个图像还代表一个相互关联的关系网。在本文...

3095
来自专栏人工智能LeadAI

命名实体识别 | NLP系列学习

在自然语言处理中,分词,词性标注,命名实体识别和句法情感分析是非常关键的分支,因为最近需要对此有一些应用,便去了解了一下特定领域目前使用的方法以及一些困难,特此...

960
来自专栏智能算法

SVM的R语言实战

在R中,可以使用e1071软件包所提供的各种函数来完成基于支持向量机的数据分析与挖掘任务。请在使用相关函数之前,安装并正确引用e1071包。该包中最重要的一个函...

3044
来自专栏决胜机器学习

机器学习(十) ——使用决策树进行预测(离散特征值)

机器学习(十)——使用决策树进行预测(离散特征值) (原创内容,转载请注明来源,谢谢) 一、绘制决策树 决策树的一大优点是直观,但是前提是其以图像形式展示。如...

3386
来自专栏marsggbo

KNN实现手写数字识别

KNN实现手写数字识别 博客上显示这个没有Jupyter的好看,想看Jupyter Notebook的请戳KNN实现手写数字识别.ipynb 1 - 导入...

2159
来自专栏人工智能

构建基于JAVA的朴素贝叶斯文本分类器

在前面的文章中,我们讨论了朴素贝叶斯文本分类器的理论背景以及在文本分类中使用特征选择技术的重要性。在本文中,我们将结合两种方法,用JAVA简单实现朴素贝叶斯文本...

3636
来自专栏ATYUN订阅号

Python机器学习的练习八:异常检测和推荐系统

在这篇文章中,将会涉及两个话题——异常检测和推荐系统,我们将使用高斯模型实现异常检测算法并且应用它检测网络上的故障服务器。我们还将看到如何使用协同过滤创建推荐系...

7307
来自专栏鸿的学习笔记

写给开发者的机器学习指南(七)

Classifying email as spam or ham (NaiveBayes)

1001
来自专栏IT派

用DaPy进行机器学习

DaPy自带了少量著名的数据集,比如用于分类问题的红酒分类和鸢尾花数据集。 接下来,我们首先启动一个Python Shell并加载作为例子的红酒数据集:

913

扫码关注云+社区