特征提取从初始的一组测量数据开始,并建立旨在提供信息和非冗余的派生值(特征),从而促进后续的学习和泛化步骤,并且在某些情况下带来更好的可解释性。本节主要讲述2种特征提取方法:PCA主成分分析法用于特征提取、非负矩阵分解用于特征提取。 ![]() 对人脸数据集进行特征提取 PCA主成分分析法用于特征提取基本思想从一组特征中计算出一组按照重要性的大小从大到小依次排列的新特征,它们是原有特征的线性组合,并且新特征之间不相关, 我们计算出原有特征在新特征上的映射值即为新的降维后的样本。 mlp=MLPClassifier(hidden_layer_sizes=[100,100], random_state=62, max_iter=400)mlp.fit(X_train, y_train)print('模型识别准确率:{:.2f}'.format(mlp.score(X_test, y_test)))pca = PCA(whiten=True, n_components=0.9, random_state=62).fit(X_train)X_train_whiten = pca.transform(X_train)X_test_whiten = pca.transform(X_test)print('白化后数据形态:{}'.format(X_train_whiten.shape))mlp.fit(X_train_whiten, y_train)print('数据白化后模型识别准确率:{:.2f}'.format(mlp.score(X_test_whiten, y_test))) 模型识别准确率:0.55 非负矩阵分解用于特征提取非负矩阵分解是指矩阵中所有元素均为非负数约束条件之下的矩阵分解方法。
nmf处理后模型准确率:0.54 |
|