新聞中心
主成分分析(Principal Component Analysis,PCA)是一種常用的降維技術(shù),它可以將高維數(shù)據(jù)轉(zhuǎn)換為低維數(shù)據(jù),同時保留原始數(shù)據(jù)的主要信息,在Python中,我們可以使用numpy和sklearn庫來實現(xiàn)主成分分析,以下是詳細的技術(shù)教學:

成都創(chuàng)新互聯(lián)從2013年開始,先為平江等服務(wù)建站,平江等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為平江企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
1、安裝所需庫
我們需要安裝numpy和sklearn庫,可以使用以下命令進行安裝:
pip install numpy scikitlearn
2、導入所需庫
在Python代碼中,我們需要導入numpy和sklearn庫的相關(guān)模塊:
import numpy as np from sklearn.decomposition import PCA
3、準備數(shù)據(jù)
在進行主成分分析之前,我們需要準備一組數(shù)據(jù)集,這里我們使用numpy生成一個隨機數(shù)據(jù)集作為示例:
生成一個10x5的隨機數(shù)據(jù)集
data = np.random.rand(10, 5)
print("原始數(shù)據(jù)集:")
print(data)
4、創(chuàng)建PCA對象并設(shè)置主成分個數(shù)
接下來,我們需要創(chuàng)建一個PCA對象,并設(shè)置需要保留的主成分個數(shù),我們可以設(shè)置保留2個主成分:
創(chuàng)建PCA對象,設(shè)置主成分個數(shù)為2 pca = PCA(n_components=2)
5、擬合數(shù)據(jù)并進行降維
使用PCA對象的fit_transform方法對數(shù)據(jù)進行擬合和降維:
擬合數(shù)據(jù)并進行降維
reduced_data = pca.fit_transform(data)
print("降維后的數(shù)據(jù):")
print(reduced_data)
6、查看主成分解釋方差
我們可以使用PCA對象的explained_variance_ratio_屬性查看每個主成分的解釋方差:
查看主成分解釋方差
print("主成分解釋方差:")
print(pca.explained_variance_ratio_)
7、可視化結(jié)果
為了更直觀地查看降維后的數(shù)據(jù)和主成分解釋方差,我們可以使用matplotlib庫進行可視化:
import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.datasets import make_blobs from sklearn.pipeline import make_pipeline from sklearn.preprocessing import StandardScaler, PCA from sklearn.decomposition import PCA, IncrementalPCA, SparsePCA, MiniBatchSparsePCA, TruncatedSVD, FastICA, NMF, PCA as RandomizedPCA, PLSRegression, PLSCanonical, PLSDiscriminantAnalysis, PLSSVD, KernelPCA, CovarianceMatrixEstimator, DictionaryLearning, IndependentComponentAnalysis, CCA, ARDPCA, FastICA, MultiVariateNormalMixture as MNM, BayesianPCA, OrthogonalPCA, tSNE, UMAP, Isomap, LocallyLinearEmbedding, SpectralEmbedding, MDS, HessianLLE, LaplacianActionModel, LLE, OPTICS, DBSCAN, MeanShift, SpectralClustering, AgglomerativeClustering, KMeans, MiniBatchKMeans, AffinityPropagation, Birch, SpectralClustering, OPTICS, DBSCAN, MeanShift, AffinityPropagation, SpecCluster, HDBSCAN, TSNEClustering, Autoencoder, MiniBatchDictionaryLearning, MiniBatchSparsePCA, MiniBatchCCA, SparseCoder, SparseLDA, NMF, GroupLassoCV, OneVsRestClassifier, LogisticRegressionCV as LogisticRegressionCVBase, PassiveAggressiveClassifierCV as PassiveAggressiveClassifierCVBase, PassiveAggressiveClassifier as PassiveAggressiveClassifierBase, Perceptron as PerceptronBase, MultiLabelBinarizer as MultiLabelBinarizerBase, ClassLabelBinarizer as ClassLabelBinarizerBase from sklearn.base import clone as base_clone from sklearn.utils import check_X_y_type from sklearn.exceptions import NotFittedError from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score from sklearn.metrics import mean_squared_error from sklearn.metrics import r2_score from sklearn.metrics import mean_absolute_error from sklearn.metrics import make_scorer from sklearn.metrics import fbeta_score from sklearn.metrics import zero_one_loss from sklearn.metrics import hinge_loss from sklearn.metrics import log_loss from sklearn.metrics import hamming_loss from sklearn.metrics import zero_one_loss from sklearn.metrics import brier_score from sklearn.metrics import log_loss from sklearn.metrics import precision_score from sklearn.metrics import recall_score from sklearn.metrics import f1_score from sklearn.metrics import classification_report from sklearn.metrics import confusion_matrix from sklearn.metrics import plot_confusion_matrix from sklearn.metrics import plot_roc_curve from sklearn.metrics import plot_precision_recall_curve from sklearn.metrics import plot_learning_curve from sklearn.metrics import plot_mean_squared_error from sklearn.metrics import plot_mean_absolute_error from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib import rcParams from matplotlib import font_manager from matplotlib ============================ ImportError: cannot import name 'make'
分享文章:python如何做主成分分析
文章出自:http://m.5511xx.com/article/cogocih.html


咨詢
建站咨詢
