标签:取值 聚类分析 features 特殊 范围 none 矩阵 == 使用
# coding = utf-8 from sklearn.feature_selection import VarianceThreshold from sklearn.decomposition import PCA ‘‘‘ 数据降维:特征的数量减少(即columns减少) 1、特征选择原因: 1、数据冗余:部分特征的相关度高,容易消耗计算机性能 2、噪声:部分特征对预测结果有影响 2、特征选择 方式1: Filter(过滤式 VarianceThreshold): 从方差大小考虑样本的数据情况 Api:VarianceThreshold.fit_transform() Embedded(嵌入式):正则化、决策树 Wrapper(包裹式) 其他方式:神经网络 方式2: 主成分分析(PCA):使得数据会改变,同时特征维度也减少 公式:Y =PX,其中Y为降维后数据,P为映射矩阵,X为原始矩阵 作用:可以削减回归分析或者聚类分析中特征的数量 API: PCA(n_components=None) ,n_components取值范围为(90%-95%) 将数据分解为较低维数空间 PCA.fit_transform(X) X:numpy array格式的数据[n_samples,n_features] 返回值:转换后指定维度的array 其他降维方法:线性判别法 Pandas合并表,一般使用merge() 交叉表:特殊的分组工具 pd.crosstab(mt["user_id"],mt["aisle"]),其中mt["user_id"]作为index ,mt["aisle"]作为columns ‘‘‘ def var(): """ 特征选择--删除低方差的特征,低方差表明数据相近,没有意义不大 :return: """ var = VarianceThreshold(threshold=0.0) #一般在(0-10)之间范围取值 data = var.fit_transform([[0,2,0,3],[0,1,4,3],[0,1,1,3]]) print(data) return None def pca(): """ 主成分分析进行特征降维 :return: """ p = PCA(n_components=0.9) data = p.fit_transform([[0,2,0,3],[0,1,4,3],[0,1,1,3]]) print(data) return None if __name__ == ‘__main__‘: var() pca()
标签:取值 聚类分析 features 特殊 范围 none 矩阵 == 使用
原文地址:https://www.cnblogs.com/ywjfx/p/10847154.html