实验目的
学会使用Python进行数据规约
实验原理
在大数据集上进行复杂的数据分析将需要很长的时间,数据规约可以产生更小的但保持原数据完整行的新数据及,在规约后的数据集上进行分析和挖掘将更有效率。
实验步骤
属性规约:合并属性,逐步向前选择,逐步向后删除,决策树归纳,主成分分析。
主成分分析步骤:
1、设原始变量
的n次观测数据矩阵为:
2、将数据矩阵按列进行中心标准化
求相关系数矩阵R,
其中,
3、求R的特征方程
的特征根
4、确定主成分个数m:
根据实际问题确定,一般取0.8
计算m个相应的单位特征向量:
计算主成分:
实现代码如下:
- `import pandas as pd
- `
- `from sklearn.decomposition import PCA
- `
- `#参数初始化
- `
- `inputfile = '../data/principal_component.xls'
- `
- `outputfile = '../tmp/dimention_reducted.xls' #降维后的数据
- `
- `data = pd.read_excel(inputfile, header = None) #读入数据
- `
- `pca = PCA()
- `
- `pca.fit(data)
- `
- `print pca.components_ #返回模型的各个特征向量
- `
- `print pca.explainedvariance_ratio #返回各个成分各自的方差百分比
- `
- `#由上面可以看出前4个已经占了97%
- `
- `pca = PCA(3)
- `
- `pca.fit(data)
- `
- `low_d = pca.transform(data) #降低唯独
- `
- `pd.DataFrame(low_d).toexcel(outputfile) #保存结果
- `
`pca.inverse_transform(low_d) #复原数据
`
数值规约:通过选择替代的、较小的数据来减少数据量。