python实现数据离散化
来源:互联网 发布:C# js escape 编辑:程序博客网 时间:2024/06/06 02:22
数据挖掘中有些算法,特别是分类算法,只能在离散型数据上进行分析,然而大部分数据集常常是连续值和离散值并存的。因此,为了使这类算法发挥作用,需要对数据集中连续型属性进行离散化操作。
那么,如何对连续型属性离散化呢?常见的有等宽分箱法,等频分箱法:
等宽分箱法的思想是,将数据均匀划分成n等份,每份的间距相等。
等频分箱法的思想是,将观察点均匀分成n等份,每份的观察点数相同。
在对数据离散化前,需要先处理异常点敏感问题,即我们需要首先设定一个阈值将异常数据移除。有两种思路:
1.设定阈值为90%,将数据从小到大排序,移除全部数据最小的5%和最大的5%数据
2. 设定阈值为90%,将数据从小到大排序,然后对所有数据求和,并计算每个数据占总和的比例,移除占比10%的数据
在这里,我们实现的方法是等宽分箱法,针对连续型数据集,代码比较简单基础,在此抛砖引玉,大家可以在代码的基础上增添自己需要的功能。
def dataDiscretize(dataSet): m,n = shape(dataSet) #获取数据集行列(样本数和特征数) disMat = tile([0],shape(dataSet)) #初始化离散化数据集 for i in range(n-1): #由于最后一列为类别,因此遍历前n-1列,即遍历特征列 x = [l[i] for l in dataSet] #获取第i+1特征向量 y = pd.cut(x,10,labels=[0,1,2,3,4,5,6,7,8,9]) #调用cut函数,将特征离散化为10类,可根据自己需求更改离散化种类 for k in range(n): #将离散化值传入离散化数据集 disMat[k][i] = y[k] return disMat
阅读全文
1 2
- python实现数据离散化
- [Python--]用Python实现时间离散化
- python 数据离散化和面元划分
- 数据预处理(2) ——数据变换与数据离散化 使用python(sklearn,pandas,numpy)实现
- 数据的离散化
- 数据的离散化
- 数据的离散化
- 数据的离散化
- 数据离散化杂谈
- 数据离散化
- 数据离散化
- 数据的离散化
- 数据离散化
- 数据的离散化
- 数据的离散化
- 数据离散化
- 数据离散化
- 【学习】数据离散化
- 我要15天消化掉Android官方API指南--第三天
- thymeleaf 学习笔记
- POJ3750 小孩报数问题【模拟】
- 写在前面
- 嵌入式C语言基础—杂记一
- python实现数据离散化
- 信任报道
- 扩展gcd
- 【FUTURE】麻省理工科技评论-年度10大突破性技术-导读
- Windows下TypeError numpy.float64 object cannot be interpreted as an index的解决
- 13.常用的函数
- 设计模式之策略模式
- java基础(二)
- 【Arch】Android input系统之input命令