本文主要记录使用sklearn库对数据集进行降维等相关操作,通过了解相关知识,运行已有的代码来进行新内容的学习
降维这里指降低特征的数量
-
sklearn的特征选择API
1.filter过滤式 : variancethreshold
from sklearn.feature_selection import VarianceThreshold
def var():
var = VarianceThreshold(threshold=1.0)
data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])
print(data)
return None
2.embedded嵌入式 : 正则化,决策树
3.wrapper包裹式
-
sklearn主成分分析的API
数据位数压缩,降低原始数据的维数当特征数量达到上百的时候,要考虑要不要用PCA简化特征,这个简化不是单独的删除或者舍去,而是对应的特征值也会发生变化。
高维数据通常具有相关性
PCA(n_components=0.9)小数表示保留90%的信息量,一般范围在0.9-1之间,通常使用0.95-1之间。整数表示减少到的特征数量。
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
pca.components_返回模型的各个特征向量
pca.explained_variance_ratio_返回各个成分各自的方差百分比
当特征数量过多几十种上百种时,就要考虑主成分分析了