R语言︱噪声数据处理、数据分组—分箱法(离散化、等级化)

标签:
数据分析r语言数据分析师大数据挖掘 |
分箱法在实际案例操作过程中较为常见,能够将一些数据离散化,等级化,比如年龄段,我们并不想知道确切的几岁,于是乎可以将其分组、分段。
基础函数中cut能够进行简单分组,并且可以用于等宽分箱法。
cut函数:cut(x,
n):将连续型变量x分割为有着n个水平的因子.(参考来自:
分箱法分为等深分箱(样本量一致,比等宽好)、等宽分箱(cut函数可以直接获取)。
http://cda.pinggu.org/uploadfile/image/20170717/20170717065012_29098.png
着重看一下等深分箱法,笔者在这根据课程code之上,自己编译了一个等深分箱函数sbdeep。
[html]view plaincopyprint?
该函数是对单个序列数据进行等深分箱,可以返回四类:
一个基于L1L2L3....的每个指标标签序列degree;
标签序列值degreevalue,
每个百分位数对应的变量值value,
不同百分点的数量number。
应用一:R语言等宽分箱小案例R语言的等宽分箱法一般都是用cut来获取,但是用法来说在网上还是比较少见的。譬如这里有一个需求就是把连续数列,根据等宽分箱的办法切分开来。这个应该怎么做呢?
来看一个cut的案例:
可以从案例中看到,labels=F之后,就变成了一系列等级型的分组序号,就像聚类一样,模型跑出来之后,就给数列打了一个标签。那么就可以这样选择你想要的,譬如我要选择连续变量的数值上的前10%的数值: