机器学习特征工程之数据降维

降维示意图

数据降维,望文生义它便是将数据的维度削减,这儿维度便是往期文章所提特征如人肤色、头发长度、性别等。数据降维有两种办法:1.特征挑选 2. 主成分剖析

特征挑选

特征挑选从字面的了解便是从很多的特征选标签14择机器学习特征工程之数据降维特征。

特征挑选深化单纯地从提取到的一切特征中挑选部机器学习特征工程之数据降维分特征作为练习集特征,特征在挑选前和挑选后能够改动值、也不改动值,可是挑选后的特征维数必定比挑选前小,究竟只挑选了其间的一部分特征。


特征挑选的原因

冗余:部分特征的相关度高,简单耗费核算功能

噪声:部分特征对猜测成果有负影响

比方说咱们要从身高,体重,肤色,头发长度特征中筛选出性别女的人,这个肤色就能够拿掉,关于筛选出性别并没有协助。当然实际中这种维度的挑选并不是像上面所说用肉眼看出来,而是从数据中判别剖析出来的。

特征挑选的首要办法:

1.Filter(过滤式):VarianceThreshold

2. Embedded(嵌入式):正则化、决议计划机器学习特征工程之数据降维树

3. Wrapper(包裹式)标签14

这篇文章首要介绍Filter(过滤式),Embedded后续文章会介绍,Wrapper实际很少运用暂时不介绍。


Filter(过滤式)VarianceThre标签3shold语法

包:

sklearn.feature_selection.VarianceThreshold

办法:

VarianceThreshold(threshold = 0.0)

删去一切低方差特征

Variance.fit_transform(X,y)

X:numpy array格局的数据[n_samples,n_feat标签3ures]

返回值:练习集差异低于thre机器学习特征工程之数据降维shold的特征将被删去

默认值是保存一切非零方差特征,即删去一切样本中

具标签19有相同值的特征

事例:

from sklearn.feature_selection import VarianceThreshold
def var():
var = VarianceThreshold(threshold=0.0)
data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [标签140, 1, 1, 3]])
print(data)

履行成果:方差为0的特征将会被删去

PCA 主成分剖析

实质:PCA是一种剖析、简化数据集的技能

意图:是数据维数紧缩,尽可能下降原数据的维数(复杂度),丢失少数信息

效果:能够削减回归剖析或许聚类剖析中特征的数量。降维并削减维度里的特征值。

假如特征过多,成百上千的特征,将会呈现一个状况特征之间通常是线性相关的。

特征1和特征50有什么区别,特征1乘标签172是不是就挨近特征50。假如交给pca处理,将会将他们当成一个特征进行处理。下面机器学习特征工程之数据降维进一步了解pca它是怎么对数据进行精简的。

如上图,怎么将这个二维的数据简化成一维?假如将数据全投到x轴机器学习特征工程之数据降维,那么这上面点将会5个点会变成3个点。假如将数据全投到y轴,成果也是5个点也会变成3个点,可是假如让pca来处理这个问题,它会怎么处理?

pca的处理的办法如上图,它会降维的一起尽可能削减的数据的损机器学习特征工程之数据降维失。这便是pca会将高纬度的数据降成低纬度,并将数据精简。


核算公式

了解即可,高考不考

上面文章所说到的图2维为转1维,就好像公式核算出的Y的五个点。


语法

包:

sklearn. decomposition标签14.PCA

办法:

PCA(n_components=None)
将数据分解为较低维数空间
PCA.fit_transform(X)
X:numpy array格局的数据[n_samples,n_features]
返回值:转化后指定维度的array

n_components 可输入小数和整数。填写小数据如0.9则会削减百分之十的特征值的数据。一般填写0.9~0.95。填写整数如1标签170,是削减到特征数量,一般不必这个办法。

事例

fr标签20om sklearn.decom标签10position 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)

履行成果

后续会继续更新由浅入深机器学习的技能文章,重视我随时了解人工智能

发表评论

电子邮件地址不会被公开。 必填项已用 *标注