降维

概念

降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组 “不相关” 主变量的过程

维数

维数:嵌套的层数

  • 0维 标量
  • 1维 向量
  • 2维 矩阵
  • 3维
  • n维

特征选择

定义

数据中包含 冗余 或者 相关变量(或称为 特征、属性、指标等),旨在从原有特征中找出主要特征

方法

Filter(过滤式)
Embeded(嵌入式)

Filter(过滤式)

主要探究特征本身特点、特征与特征和目标值之间关联

  • 方差选择法:低方差特征过滤

特征方差小:某个特征大多样本的值比较接近

特征方差大:某个特征很多样本的值都有差别

  • 相关系数
    衡量特征与特征之间的相关性

API

sklearn.feature_selection.VarianceThreshold( threshold = 0.0 )
	# 删除所有低方差特征
	Variance.fit_transform(x)
		# x:numpy  array格式的数据[n_samples , n_features]
		# 返回值: 训练集差异低于threshold的特征将被删除。默认值		  # 是保留所有非零方差特征,即删除样本中具有相同值的特征。

相关系数

皮尔逊相关系数( Pearson Correlation Coefficient)

反应变量之间相关关系密切程度的统计指标

公式:

resnet34 特征维度_数据

举例:

resnet34 特征维度_API_02

最终结果:0.9942

所以最终得出结论:广告投入费与月平均销售额之间有高度的正相关关系

特点

相关关系的值介于 [ -1 ,1 ] 之间,性质如下:

  • 当 r > 0 时,表示两变量正相关,r < 0 时,表示两变量负相关
  • 当 | r | = 1时,表示两变量完全相关,当 r = 0时,表示两变量间无关
  • 当 0 < | r | < 1 时,表示两变量有一定程度的相关
  • 一般分为三个等级:
    | r | < 0.4 为低度相关
    0.4 ≤ | r | ≤ 0.7 为显著性相关
    0.7 ≤ | r | < 1 为高度线性相关

API

计算特征与目标变量之间的相关度

from scipy.stats improt pearsonr
  pearsonr(x,y)
	# x : 特征
	# y : 目标变量
	# 返回:r: 相关系数 [-1,1]之间,p-value: p值。
	#注: p值越小,表示相关系数越显著,一般p值在500个样本以上		时有较高的可靠性

Embeded(嵌入式)

主成分分析(PCA)

定义: 高维数据转化为低维数据的过程,在此过程中可能会舍弃原有数据、创造新的变量

作用:数据维数压缩,尽可能降低原数据的维数 (复杂度),损失少量的信息

应用:回归分析或者聚类分析

API

sklearn.decomposition.PCA(n_components = None)
	#将数据分解为较低维数空间
	# n_components:如果你传整数或者浮点数
		# 小数:表示保留百分之几的信息
		# 整数:减少到多少特征
		
	PCA.fit_transform(x)
		#x: numpy  array格式的数据
		#[n_samples , n_features]
		# 返回值: 转换后指定维度的array

举例

from sklearn.decomposition import PCA
def pca_demo():
    # 传入数据
    data = [[2,8,4,5],[6,3,0,8],[5,4,9,1]]
    # 实例化一个对象
    transfer = PCA(n_components=2)	#转换为2维
    # 调用fit_transform
    data_n = transfer.fit_transform(data)
    print("data_n:\n",data_n)
    
if __name__ == "__main__":
    pca_demo()

resnet34 特征维度_方差_03

把4个变量降成了2个

拓展

merge()函数

用于合并表