# coding=utf-8
from sklearn.feature_selection import VarianceThreshold
from sklearn.decomposition import PCA
def var():
"""
特征值过滤
根据方差进行过滤,某列方差小于设定值则认为该特征值无用
:return:
"""
# threshold即是设定的方差值
var = VarianceThreshold(threshold=0.0)
data = var.fit_transform([[3,1,2,4],[3,4,5,4],[3,5,2,4]])
print(data)
def pca():
"""
PCA主动降维
根据算法,将特征值降低到某一个范围内
:return:
"""
# n_components可以为小数或者整数
# 小数则为降低到原来特征值数量的百分之多少,根据经验一般为0.9~0.95
# 整数则为降低到多少个特征值
pca = PCA(n_components=0.9)
data = pca.fit_transform([[3,1,2,4],[3,4,5,4],[3,5,2,4]])
print(data)
return None
if __name__ == '__main__':
pca()
数据降维可以使得特征值减少,去除效果相仿的特征值