数据规约
属性规约方法
|
方法描述
|
方法解析
|
---|---|---|
主要成分分析 | 用较少变量取解释原始数据中得大部分变量,即将许多相关型很高得变量转化成彼此相互独立或不相关得变量 | |
决策树归纳 | 利用决策树得归纳方法对初始数据进行分类归纳学习,获得一个初始决策树,所有没有出现再这个决策树上得属性均可认为是无关属性,因此将这些属性从初始集合中删除就可以获得一个较优得属性子集 | 初始属性集: {A1,A2,A3,A4,A5,A6} |
合并属性 | 将一些旧属性合并为新属性 |
初始属性集: {A1,A2,A3,A4,B1,B2,B3,C} {A1,A2,A3,A4} -→A {B1,B2,B3,B4}-→B ===>规约后属性集:{A, B, C} |
逐步向前选择 | 从一个空属性集开始,每次从原来属性集合中选择一个当前最优得属性添加到当前属性子集中.直到无法选择出最优属性或满足一定阈值约束为止 | 初始属性集: {A1,A2,A3,A4,A5,A6} {}=>{A1}=>{A1,A4} =>规约后属性集:{A, B, C} |
逐步向后删除 | 从一个全属性集开始,每次从当前属性子集真能干选择一个当前最优得属性添加到当前属性子集中.直到无法选择出最差属性为止或满足一定阈值约束为止 | 初始属性值: {A1,A2,A3,A4,A5,A6} {}=>{A1,A3,A4,A5,A6}=>{A1,A4,A5,A6}=>规约后属性集:{A1,A4,A6} |
import pandas as pd from sklearn.decomposition import PCA data = pd.read_csv("principal_component.csv", header=None) pca = PCA() # 实例化PCA这个类 pca.fit(data) # 训练数据 pca.components_ # 返回模型得各个向量特征 pca.explained_variance_ratio_ # 返回各个成分各自得方差百分比 得到相应得特征向量和各个方差得百分比(也称贡献率),其中方差备份逼越大,向量得权重越大,当选中其中得几个主要得成分时,累计贡献量达到97.37%, 说明选取这几个成分已经相当不错了,因此可以重新建立PCA模型,选取n_components=之前选取得成分数,从而计算出成分结 pca = PCA(3) pca.fit(data) low_d = pca.transform(data) # 降低原数据得维度 pd.DataFrame(low_d).to_csv("dimention_reducted.csv") # 保存结果 pca.inverse_transform(low_d) # 必要可以用inverse_trans_form()函数来复原数据
函数名
|
函数功能
|
所属扩展库
|
---|---|---|
interpolate | 一维,高维书插值 | scipy |
unique | 去除数据中得重复元素,得到单值元素列表,它是对象得方法名 | Pandas/Numpy |
isnull | 判断是否为空值 | pandas |
notnull | 判断是否非空值 | pandas |
PCA | 对指标表变量矩阵进行主成分分析 | Scikit-Learn |
random | 生成随机矩阵 | Numpy |
interpolate
# -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding("utf-8") import numpy as np from sklearn.decomposition import PCA D = np.random.rand(10, 4) pca = PCA() # 建立模型 pca.fit(D) # 训练模型 PCA(copy=True, n_components=None, whiten=False) print pca.components_ # 返回模型得各个特征向量 print pca.explained_variance_ratio_ # 返回各个成分各自得方差百分比
原文:https://www.cnblogs.com/ljc-0923/p/11751620.html