doudou0o blog

沉淀知识 分享知识


  • Home

  • Archives

  • Tags

  • About

  • Search

特征处理之(三):离散化

Posted on 2018-08-12 Views:

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已!
离散化简化了模型训练的复杂性,降低模型过拟合的风险,对异常数据有更强的鲁棒性。另外离散化之后可以进行特征编码,提升训练时间,也能模型提升表达能力。是个非常重要的特征处理方式。

特征处理之离散化

一、什么是离散化

将连续型的特征进行离散处理,得到有限的离散值。

如图:

离散化

另外再借用哑编码的图片:

离散化

二、离散化有什么作用

  1. 简化了模型训练的复杂性,降低模型过拟合的风险(离散化带来的优势)
  2. 离散化后的特征对异常数据有很强的鲁棒性(离散化带来的优势)
  3. 稀疏向量内积乘法运算速度快,因为稀疏矩阵有实数的值很少,做内积运算时就会有很多优化手段
  4. 线性模型表达能力受限,单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合能力;
  5. 离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力

红色部分是离散化带来的作用或者说优点,蓝色部分是离散化后的哑编码带来的作用和优点。

三、 如何离散化(无监督)

假设有一串连续的数值,我们需要对其进行离散化:以下都会使用这份数据作为例子。

1
例子: 1    3    4    5    5    6    7    7    8    10    11    13    15

3.1 等距/等频离散

(1)等距离散

用相等的距离作为范围,使得在同一范围内的数值,被认定为同一类别。

假设距离为5,那么就有A:(0,5],B:(5,10],C:(10,15]三个离散范围

于是,我们将上面的例子进行离散:

等距离散:

1
2
3
范围选择 A:[1 3 4 5 5], B:[6 7 7 8 10], C:[11 13 15]
例子: 1 3 4 5 5 6 7 7 8 10 11 13 15
离散: A A A A A B B B B B C C C

(2)等频离散

用相等选择频度作为范围,使得在同一频度内的数值,被认定为同一类别。

假设距离为3,

于是,我们将上面的例子进行离散:

等距离散:

1
2
3
步频选择 A:[1 3 4], B:[5 5 6], C:[7 7 8], D:[10 11 13], E:[15]
例子: 1 3 4 5 5 6 7 7 8 10 11 13 15
离散: A A A B B B C C C D D D E

3.2 KMeans离散

借助于KMeans聚类的思路,将数值进行聚类,最终聚为一类的则被认定为同一类别。

这里不太好举例子,咱们用数轴来表述,数轴上蓝色蛋蛋更大意味着数据在这里的数据越多。

离散化

然后咱们开始,K=3的聚类,首先随机散落三个点作为中心点

离散化

所有的数值,选择离散落的三个点最近的点作为第一次聚类结果

离散化

以聚类结果的中心,作为新的三个中心点,重新重复上述过程。

最终会收敛聚类结果不再变化。

离散化

四、如何离散化(有监督)

有监督的离散化,主要利用了已有的类别标注来将特征进行更好地离散。为了表达方便,将上面使用的例子标注一行类目。

1
2
例子: 1    3    4    5    5    6    7    7    8    10    11    13   
离散: C1 C1 C2 C1 C1 C2 C1 C1 C2 C2 C1 C2

4.1 基于信息增益的离散

这种方式是一种二分方式的离散方式,每一步只离散两份,然后再在这两份中用同样的方式进行离散,直到达到离散个数的目标或者层数的目标。

离散化

那么每一步是如何找到最佳的离散点的,就是基于信息增益率的最大化。

为每一个可能的离散点,都计算一次信息增益率,选择信息增益率最大的那个离散点,作为本次离散的点。

如何计算信息增益率,偷个懒直接截图PPT了,这里列出了信息熵到信息增益率的公式表达:

离散化

公式没有说明白,那么用一个例子来进行计算,如下图

信息熵: 因为有12个数据,其中有5个C2,7个C1,因此Y的信息熵为$H(Y)=0.9798$

条件熵: 如果离散的分割线在红色位置,那么离散后红色之前都是X1,红色之后都是X2,因此条件就是X。因为X1有5个数据,因此$p_xi=\frac{5}{12}$,其中有1个C2和4个C1,因此$H(Y|X=X1)=-\frac{1}{5}log\frac{1}{5}-\frac{4}{5}log\frac{4}{5}$

离散化

剩下的基本已经很简单了,可以直接自行计算。

4.2 基于Gini增益的离散

与基于信息增益的离散,唯一的区别就是衡量方式由信息增益率变成了Gini增益。Gini增益的计算如下:

离散化

结语

特征处理是在机器学习中占据非常重要的地位,特征工程决定了整个模型的上限,而特征工程中最基础的就是特征处理。本篇主要回顾下特征处理中的离散化。最后最后拿出成果:

  1. 什么是离散化
  2. 离散化有什么作用
  3. 如何进行无监督离散
  4. 如何进行有监督离散

离散化

附录

特征处理PPT

doudou0o WeChat Pay

WeChat Pay

doudou0o Alipay

Alipay

# Algorithm
特征处理之(二):无量纲化和哑编码
特征处理之(四):缺失值和组合
  • Table of Contents
  • Overview
doudou0o

doudou0o

Never forget what you are, for surely the world will not. Make it your strength. Then it can never be your weakness. Armor yourself in it, and it will never be used to hurt you.
15 posts
5 tags
  1. 1. 特征处理之离散化
    1. 1.1. 一、什么是离散化
    2. 1.2. 二、离散化有什么作用
    3. 1.3. 三、 如何离散化(无监督)
      1. 1.3.1. 3.1 等距/等频离散
        1. 1.3.1.1. (1)等距离散
        2. 1.3.1.2. (2)等频离散
      2. 1.3.2. 3.2 KMeans离散
    4. 1.4. 四、如何离散化(有监督)
      1. 1.4.1. 4.1 基于信息增益的离散
      2. 1.4.2. 4.2 基于Gini增益的离散
  2. 2. 结语
  3. 3. 附录
© 2022 doudou0o
Powered by Hexo v3.9.0
|
Theme – NexT.Gemini v7.3.0