您的位置:首页 > 编程语言 > Python开发

数据预处理(3) ——数据归约 使用python(sklearn,pandas,numpy)实现

2016-11-09 17:46 961 查看
数据预处理的主要任务有:

一、数据预处理

1.数据清洗

2.数据集成

3.数据转换

4.数据归约

4.数据归约

数据规约技术可以用来得到数据集的规约表示,它小得多,但仍接近于保持原始数据的完整性。也就是说,在规约后的数据集挖掘将更加有效。

(1)数据立方体聚集:聚集操作用于数据立方体结构中的数据。

(2)属性子集选择:通过删除不相关或冗余的属性(或维)减小数据集。属性子集选择的目标是找出最小属性集,使得数据类的概率分布尽可能地接近使用所有属性得到的原分布。对于属性子集选择,一般使用压缩搜索空间的启发式算法。通常,这些方法是贪心算法,在搜索属性空间时,总是做看上去当时最佳的选择。策略是做局部最优选择,期望由此导致全局最优解。在实践中,这种贪心算法是有效地,并可以逼近最优解。



①逐步向前选择:该过程由空属性集作为归约集开始,确定原属性集中最好的属性,并将它添加到归约集中。在其后的每一次迭代步,将剩下的原属性集中最好的属性添加到该集合中。

②逐步向后删除:该过程由整个属性集开始。在每一步,删除尚在属性集中最差的属性。

③向前选择和向后删除的结合

(http://blog.csdn.net/daxiaofan/article/details/53118259)

④决策树归纳:决策树算法,如ID3、C4.5和CART最初是用于分类的。决
4000
策树归纳构造一个类似于流程图的结构,其中每个内部(非树叶)节点表示一个属性的测试,每个分枝对应于测试的一个输出;每个外部(树叶)节点表示一个类预测。在每个节点,算法选择最好的属性,将数据划分成类。

(3)维度归约:使用编码机制减小数据集的规模,例如:小波变换和主成分分析。

3.1 主成分分析

from sklearn.datasets import load_digits
digits=load_digits()
data=digits.data
from sklearn.decomposition import KernelPCA
pca=KernelPCA(n_components=2)
pca.fit(data)

x=pca.transform(data)
import matplotlib.pyplot as plt
color=['#FF0000','#FF6600','#FF6600','#33FF00','#09F7F7','#0066FF','#FF00FF','#FF0099','#F70968','#669971','#584A93','#AA6334','#8C518C','#4F2838','#21010E','#E2FAEC','#8F8FD6','#DA70D6','#7FFF00','#008B00']
tar=digits.target
for i in range(10):
xx=x[tar==i]
plt.scatter(x=xx[:,0],y=xx[:,1],c=color[i])

data.shape
#Out[40]: (1797L, 64L)

x.shape
#Out[41]: (1797L, 2L)


3.2小波变换(能力有限 ,学会了在补上)

离散小波变换是一种线性信号处理技术,用于数据向量x是,将它变换成不同数值小波系数向量x’。两个向量具有相同的长度。当这种技术用于数据规约时,每个元祖看作一个n维数据向量,描述n个属性在元组上的n个测量值。

(4)数值归约:用替代的、较小的数据表示替换或估计数据,如参数模型(只需要存放模型参数,不是实际数据)或非参数方法,如聚类、抽样和使用直方图。

挺抽象,没看懂

参考 http://www.doc88.com/p-184335765170.html

4.1 直方图

x=[1,1,5,5,5,5,8,8,10,10,10,10,14,14,14,14,15,15,15,15,15,15,18,18,18,18,18,18,18,18,18,20,2,20,20,20,20,20,20,21,21,21,25,25,25,25,25,28,28,30,30,30]
x=pd.Series(x)
count=x.value_counts()
count.plot(kind='bar')
plt.show()
s=pd.cut(x,bins=[0,10,20,30])
s.value_counts().plot(kind='bar')



4.2抽样

用pandas切片可以完成

43

参数模型 (不太懂)

很重要的是,用于数据归约的计算时间不应当超过或“抵消”对归约数据挖掘节省的时间。

参考文献:
https://www.douban.com/note/128949687/ http://www.cnblogs.com/jasonfreak/p/5448385.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: