网站制作网站开发公司,做网站现在好弄么,邳州网页定制,建设银行网上银行网站打不开目录特征降维概念特征选择过滤式①低方差特征过滤②相关系数③主成分分析特征降维
0维 标量
1维 向量
2维 矩阵
概念
降维是指在某些限定条件下#xff0c;降低随机变量#xff08;特征#xff09;个数#xff0c;得到一组“不相关”主变量的过程
注#xff1a;正是…
目录特征降维概念特征选择过滤式①低方差特征过滤②相关系数③主成分分析特征降维
0维 标量
1维 向量
2维 矩阵
概念
降维是指在某些限定条件下降低随机变量特征个数得到一组“不相关”主变量的过程
注正是因为在进行训练的时候我们都是使用特征进行学习如果特征本身存在问题或者特征之间相关性较强对于算法学习预测会影响较大
降维的两种方式
特征选择主成分分析可以理解为一种特征提取的方式
特征选择
①定义
数据中包含冗余或相关变量或称特征、属性、指标等旨在从原有特征中找出主要特征。
②方法
Filter(过滤式)主要探究特征本身特点、特征与特征和目标值之间关联 方差选择法低方差特征过滤相关系数 Embedded(嵌入式)算法自动选择特征特征与目标值之间的关联 决策树信息熵、信息增益正则化:L1、L2深度学习卷积等
③模块
sklearn.feature_selection
过滤式
①低方差特征过滤 删除低方差的一些特征 特征方差小某个特征很多样本的值比较相近特征方差大某个特征很多样本的值都有差别 API
sklearn.feature_selection.VarianceThreshold(threshold0.0)-删除所有低方差特征
-Variance.fit_transform(X)X:numpy array格式的数据[n_samples,n_features]返回值训练集差异低于threshold的特征将被删除。默认值是保留所有非零方差特征即删除所有样本中具有相同值的特征代码演示
from sklearn.feature_selection import VarianceThreshold
import pandas as pd
def variance_demo():#1.获取数据datapd.read_csv(data.TXT)print(data:\n, data)#2.实例化一个转换器类transferVarianceThreshold(threshold7)#3.调用fit_transformresulttransfer.fit_transform(data)print(result:\n, result,result.shape)return None②相关系数 皮尔逊相关系数Pearson Correlation Coefficient 反映变量之间相关关系密切程度的统计指标 公式 特点 相关系数的值介于-1与1之间即-1r1,其性质如下 当r0时表示两变量正相关r0时两变量为负相关当|r|1时表示两变量为完全相关当r0时表示两变量间无相关关系当0|r|1时表示两变量存在一定程度的相关。且|r|越接近1两变量间线性关系越密切|r|越接近于0表示两变量的线性相关越弱一般可按三级划分|r|0.4为低度相关0.4|r|0.7为显著性相关0.7|r|1为高度线性相关 API
from scipy.stats import pearsonr-x:array
-y:array
-Returns:(Pearsons correlation coefficient,p-value)代码演示
from scipy.stats import pearsonr
def p_demo():# 1.获取数据data pd.read_csv(data.TXT)print(data:\n, data)# 2.计算两个变量之间的相关系数rpearsonr(data[one],data[two])print(相关系数:\n, r)return None如果特征与特征之间相关性很高通过以下方法处理 ①选取其中一个 ②加权求和 ③主成分分析
③主成分分析 定义 高维数据转化为低维数据的过程在此过程中可能会舍弃原有数据、创造新的变量 作用 是数据维数压缩尽可能降低原数据维数复杂度损失少量信息 应用 回归分析或者聚类分析当中 API
sklearn.decomposition.PCA(n_componentsNone)-将数据分解为较低维数空间
-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]]#1.实例化一个转换器类transferPCA(n_components2)#2.调用fit_transformresulttransfer.fit_transform(data)print(result:\n,result)return None