05特征提取2,降维
from sklearn.feature_selection import VarianceThreshold
from sklearn.decomposition import PCA
import numpy as np
#删除低方差的特征
def var():
var = VarianceThreshold(threshold=0.0)#设置方差的范围
x = [[0,2,0,3],[0,1,4,3],[0,1,1,3]]
data = var.fit_transform(x)
print(x)
print(data)
return None
#主成分分析
def pca():
pca = PCA(n_components=0.9)
x = [[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]]
y = [[2,8,4,5],[6,3,0,8],[5,4,9,1]]
data = pca.fit_transform(x)
print(data)
data1 = pca.fit_transform(y)
print(data1)
return None
if __name__ == "__main__":
var()
print("-----------------------------------------")
pca()
print("-----------------------------------------")
[[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]]
[[2 0]
[1 4]
[1 1]]
-----------------------------------------
[[-1.76504522]
[ 2.35339362]
[-0.58834841]]
[[-3.13587302e-16 3.82970843e+00]
[-5.74456265e+00 -1.91485422e+00]
[ 5.74456265e+00 -1.91485422e+00]]
-----------------------------------------
删除方差较小的特征
图片进行降维之后
https://github.com/szt852/python_note.git