python如何做主成分分析

主成分分析(Principal Component Analysis,PCA)是一种常用的降维技术,它可以将高维数据转换为低维数据,同时保留原始数据的主要信息,在Python中,我们可以使用numpy和sklearn库来实现主成分分析,以下是详细的技术教学:

成都创新互联从2013年开始,先为平江等服务建站,平江等地企业,进行企业商务咨询服务。为平江企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

1、安装所需库

我们需要安装numpy和sklearn库,可以使用以下命令进行安装:

pip install numpy scikitlearn

2、导入所需库

在Python代码中,我们需要导入numpy和sklearn库的相关模块:

import numpy as np
from sklearn.decomposition import PCA

3、准备数据

在进行主成分分析之前,我们需要准备一组数据集,这里我们使用numpy生成一个随机数据集作为示例:

生成一个10x5的随机数据集
data = np.random.rand(10, 5)
print("原始数据集:")
print(data)

4、创建PCA对象并设置主成分个数

接下来,我们需要创建一个PCA对象,并设置需要保留的主成分个数,我们可以设置保留2个主成分:

创建PCA对象,设置主成分个数为2
pca = PCA(n_components=2)

5、拟合数据并进行降维

使用PCA对象的fit_transform方法对数据进行拟合和降维:

拟合数据并进行降维
reduced_data = pca.fit_transform(data)
print("降维后的数据:")
print(reduced_data)

6、查看主成分解释方差

我们可以使用PCA对象的explained_variance_ratio_属性查看每个主成分的解释方差:

查看主成分解释方差
print("主成分解释方差:")
print(pca.explained_variance_ratio_)

7、可视化结果

为了更直观地查看降维后的数据和主成分解释方差,我们可以使用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://www.hantingmc.com/qtweb/news8/259608.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联