国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > python中PCA的处理过程

python中PCA的处理过程

Python PCA

头像

小妮浅浅

2021-10-14 10:21:414941浏览 · 0收藏 · 0评论

1、输入矩阵归一化处理。

2、计算样本协方差矩阵。

3、求解协方差矩阵指定的特征值对应特征向量。

4、确定转换矩阵,求解降维数据。

实例

#/usr/nom/env python
# _*_coding:utf-8_*_
# @Time      :2021/9/3 10:04
# @Author    :A bigfish
# @FileName  :maindemo13.py
# @Software  :PyCharm
 
import matplotlib.pyplot as plt
import numpy as np
from pylab import *
 
# 首先导入数据,此部分为从存储列表或单元中读取分析数据
def loadDataSet(filename, delim='\t'):    #此处的'\t'表示不同变量间的分隔符,t表示tab键键入的空格
    fr = open(filename)
    stringArr = [line.strip().split(delim) for line in fr.readlines()]
    dataArr = [list(map(float, line)) for line in stringArr]
    return np.mat(dataArr)
 
 
# 定义pca分析函数
def pca(dataset, topNfeat = 99999):        #topNfeat特征值数目,通常不用设置,因为后续要进行可视化分析                
    meanVals = np.mean(dataset, axis=0)    #求均值
    meanRemoved = dataset - meanVals       #预处理
    covMat = np.cov(meanRemoved, rowvar=0) #求解输入数据协方差矩阵
    eigVals, eigVects = np.linalg.eig(np.mat(covMat))    #求解特征值,特征向量
    eigVaInd = np.argsort(eigVals)         #对特征值进行排序处理,默认为升序
    eigVaInd = eigVaInd[-1:-(topNfeat):-1] #根据指定数目进行逆序处理
    redEigVects = eigVects[:,eigVaInd]     #选取对应特征向量
    lowDataMat = meanRemoved * redEigVects #数据降维X*P
    recontMat = (lowDataMat * redEigVects.T) + meanVals #c处理进行了数据重构,非必须选项
    return lowDataMat, recontMat, eigVals  #返回数据
 
# 定义特值值绘制函数
def plotEig(dataset, numFeat=20):            
    mpl.rcParams['font.sans-serif'] = ['Times NewRoman']
    sumData = np.zeros((1, numFeat))
    dataset = dataset / sum(dataset)
    for i in range(numFeat):
        sumData[0, i] = sum(dataset[0:i])
 
    X = np.linspace(1, numFeat, numFeat)
    fig = plt.figure()
    ax = fig.add_subplot(211)
    ax.plot(X, (sumData*100).T, 'r-+')
    mpl.rcParams['font.sans-serif'] = ['SimHei']
    plt.ylabel('累计方差百分比')
 
    ax2 = fig.add_subplot(212)
    ax2.plot(X.T, (dataset[0:numFeat].T)*100, 'b-*')
    plt.xlabel('主成分数')
    plt.ylabel('方差百分比')
    plt.show()
 
# 定义原始数据及第一主成分绘制函数
def plotData(OrigData, recData):
    import matplotlib.pyplot as plt
    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.scatter(OrigData[:,0].flatten().A[0], OrigData[:, 1].flatten().A[0], c='blue',marker='^', s=90)
    ax.scatter(recData[:, 0].flatten().A[0], recData[:, 1].flatten().A[0], c='red', marker='o',s=90)
plt.show()

以上就是python中PCA的处理过程,希望对大家有所帮助。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

15岁的少女与狗高清电视| 菩菇短视频APP免费版本下载 | 无人区免费高清版观看| 朝铜光| 妈妈在家穿超薄内裤的注意事项 | 9.1快看| 啊…啊…啊快日出水了A片真人| 双男主MV大片| 女性三角毛毛区有片毛掉光正常吗| 《日本公与媳5》公妇伦| 《黏糊糊的你》动漫免费观看 | 俄罗斯少女2免费观看| 表妹的下面好湿好紧| 图书馆挺进她腿间湿润漫画| 空姐少女正版2| 蜜桃成熟时33D在线观看| 扌暴辶鬲和扌吴辶的区别| 星空无痕MV免费视频观看| 《男医生的特殊治疗》| 偷偷在线观看免费高清电视剧推荐| 苏软软汆肉的日常花卷| 日亚M码是日本的还是中国的 | 一妻二夫| 校服| 美女和帅哥一起努力生产豆浆的视. | 欧美人动物PPT免费模板大全| 我把刘姨俩腿扛在肩上是哪一集的| 桃色在线观看| 疯狂二人房间荷尔蒙爆发原声| 他的大手在秘密花园小说免费阅读| 成年二人世界免费观看电视剧| 亚洲一区在线| 肉多到炸的年下小狗(双南)| 公厕少年NASA动漫免费观看| 欧美片《肉欲进入》| 一边吃奶一边做边爱会得白血病吗 | 口咬的10个绝招图片| 瑜伽裤透明全毛露丁字裤| B站夫妻进入高峰期需要多久| 性之剧毒 电影| 男女做爰猛烈啪啪床戏