数据降维
数据降维方法:特征选择、主成分分析
- 进行数据降维的原因:
(1)冗余:部分特征的高度相关容易消耗计算性能;
(2)噪声:部分特征对预测结果有负影响 - 数据降维的定义:从提取到的所有特征中选择部分特征作为训练集特征。特征在选择前后可以改变值,也可以不改变值,但是选择后的特征维数肯定比选择前小。
注:这里的维数指的是特征的数量。
特征选择
特征选择的主要方法
(1)Filter(过滤式):VarianceThreshold
(2)Embedded(嵌入式):正则化、决策树
(3)Wrapper(包裹式)
(4)神经网络
sklearn特征选择API
sklearm.feature_selection.VarianceThreshold
注:Variance:方差
VarianceThreshold语法
- VarianceThreshold(threshold = 0.0)
设置门限,删除所有低方差特征(threshold默认为0) - VarianceThreshold.fit_transform(X)
X: numpy array 格式的数据[n_samples, n_features]
返回值:训练集方差低于threshold的特征将被删除
注:默认值(threshold=0)保留所有非零方差特征,即删除所有样本中具有相同值的特征。 - 流程:
(1)实例化VarianceThreshold,指定阈值方差;
(2)调用fit_transform
from sklearn.feature_selection import VarianceThreshold
def var():
"""
特征选择---删除低方差的特征
:return: None
"""
var= VarianceThreshold(threshold=0.0)
data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])
print(data)
return None
if __name__ == '__main__':
var()
运行结果:
主成分分析(PCA)
参考:https://blog.csdn.net/u010159842/article/details/52708906?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159858103719725219948352%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=159858103719725219948352&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v3~pc_rank_v3-4-52708906.pc_ecpm_v3_pc_rank_v3&utm_term=%E4%B8%BB%E6%88%90%E5%88%86%E5%9B%9E%E5%BD%92python&spm=1018.2118.3001.4187
主要思想:
PCA是一种分析、简化数据的技术,其目的是压缩数据的维数,达到用低维信息表示高维信息的目的——可以减少回归分析或者聚类分析中特征的数量。
高维度数据容易出现的问题
很可能一部分特征之间存在相关性(冗余),如:
因此,在特征数量达到上百的时候,考虑用PCA进行数据的简化(数据会改变,特征数量也会减少)
sklearn主成分分析API
sklearn.decomposition.PCA
- 语法
(1)PCA(n_components=)
n_components:
小数:0~1(百分比),保留多少信息,一般为90%-95%
整数:减少到的特征数量(一般不用整数)
(2)PCA.fit_transform(X)
X: numpy array格式的数据[n_samples,n_features]
返回值:按指定保留百分比降维后的array - PCA流程
(1)实例化PAC,指定减少后的维度;
(2)调用fit_transform
from sklearn.decomposition import PCA
def pca():
pca = PCA(n_components=0.9)
data = pca.fit_transform([[2, 8, 4, 5], [6, 3, 0, 8], [5, 4, 9, 1]])
print(data)
return None
if __name__ == '__main__':
pca()
运行结果:
机器学习开发流程
- 获取数据,明确问题(分类/回归);
- 数据的基本处理(用pd处理数据,合并表格等)
- 特征工程;
- 找到合适的算法并进行预测;
- 模型评估、判定效果;
- 上线使用(以API形式提供)
拜师教育学员文章:作者:1191-杨同学,
转载或复制请以 超链接形式 并注明出处 拜师资源博客。
原文地址:《机器学习4—数据的特征工程之数据降维(PCA)》 发布于2020-07-25
评论 抢沙发