成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

?Numpy中怎么實(shí)現(xiàn)PCA

本篇內(nèi)容主要講解“Numpy中怎么實(shí)現(xiàn)PCA”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Numpy中怎么實(shí)現(xiàn)PCA”吧!

創(chuàng)新互聯(lián)公司是專業(yè)的魯?shù)榫W(wǎng)站建設(shè)公司,魯?shù)榻訂?提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行魯?shù)榫W(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

Numpy中實(shí)現(xiàn)PCA

from numpy import *

'''
10.235186	11.321997
10.122339	11.810993
9.190236	8.904943
9.306371	9.847394
8.330131	8.340352
10.152785	10.123532
10.408540	10.821986
...
...
'''
def loadDataSet(fileName, delim='\t'):
    fr = open(fileName)
    stringArr = [line.strip().split(delim) for line in fr.readlines()]
    datArr = [map(float,line) for line in stringArr]
    return mat(datArr)

def pca(dataMat, topNfeat=9999999):
    meanVals = mean(dataMat, axis=0)                    #計(jì)算列均值
    print meanVals                                      # [[ 9.06393644  9.09600218]]
    print '======'
    meanRemoved = dataMat - meanVals #remove mean       # 每一列都減去均值
    covMat = cov(meanRemoved, rowvar=0)                 # 計(jì)算新矩陣(減去均值)協(xié)方差
    print covMat                                        # [
                                                            [ 1.05198368  1.1246314 ]
                                                            [ 1.1246314   2.21166499]
                                                          ]
                                                          
                                                        #協(xié)方差
    print '======'
    eigVals,eigVects = linalg.eig(mat(covMat))          #計(jì)算協(xié)方差矩陣的特征值和特征向量
    print eigVals                                       # [ 0.36651371  2.89713496]
    print '======'
    print eigVects                                      #  [
                                                            [-0.85389096 -0.52045195]
                                                            [ 0.52045195 -0.85389096]
                                                           ]  
    print '======'
    eigValInd = argsort(eigVals)                        #按照特征值從大到小排序。選擇topN
    eigValInd = eigValInd[:-(topNfeat+1):-1]  
    redEigVects = eigVects[:,eigValInd]               
    print redEigVects
    print '======'                                      #[
                                                            [-0.52045195]
                                                            [-0.85389096]
                                                         ]
    lowDDataMat = meanRemoved * redEigVects             # N x 2  * 2 x 1 ==> N x 1 
                                                          即把N x 2的矩陣轉(zhuǎn)化成N x 1 的矩陣,維度降到1  
    reconMat = (lowDDataMat * redEigVects.T) + meanVals
    return lowDDataMat, reconMat

均值: mean(X) = (x0 + x1 + ... + xn) / n

標(biāo)準(zhǔn)差:std = Math.sqrt([x0 - mean(x)]^2/(n-1),2)

方差:var=[x0 - mean(x)]^2/(n-1)

比如兩個(gè)集合[0,8,12,20]、[8,9,11,12] 均值都是10.但是兩個(gè)集合的差別很大。計(jì)算兩個(gè)標(biāo)準(zhǔn)差,前者是8.3和后者是1.8.

顯示后者比較集中。標(biāo)準(zhǔn)差描述了數(shù)據(jù)的“散布度”。之所以除以n-1而不是n。是因?yàn)槟苁刮覀円暂^小的樣本更好的逼近總體的標(biāo)準(zhǔn)差。即“無偏估計(jì)”

為什么需要協(xié)方差?

標(biāo)準(zhǔn)差和方差一般是用來描述一維的數(shù)據(jù)。但是現(xiàn)實(shí)生活中,我們常常遇到含有二維數(shù)據(jù)的數(shù)據(jù)集。最簡單的是大家上學(xué)免不了的統(tǒng)計(jì)多個(gè)學(xué)科的考試成績。多維數(shù)據(jù)之間的關(guān)系。協(xié)方差就是這樣一種度量兩個(gè)隨機(jī)變量關(guān)系的統(tǒng)計(jì)量

var(X) = {Math.pow(xi-mean(X),2)}/(n-1) = {xi-mean(X)}{xi-mean(X)}/(n-1)

仿照方差的定義:

cov(X,Y)= {xi-mean(X)}{yi-mean(Y)}/(n-1)

來度量各個(gè)維度偏離其均值的程度。

協(xié)方差結(jié)果的意義:

如果是正值,則說明兩者是正相關(guān),如果結(jié)果是負(fù)值,則說明兩者是負(fù)相關(guān)。如果是0,表示兩者沒有關(guān)聯(lián),相互獨(dú)立。

多維協(xié)方差:矩陣來表示

    cov(x,x) cov(x,y) cov(x,z)

C=cov(y,x) cov(y,y) cov(y,z)      ===> 可見協(xié)方差矩陣是一個(gè)對(duì)稱矩陣,而且對(duì)角線是各個(gè)維度的方差。 是3*3

    cov(z,x) cov(z,y) cov(z,z)

到此,相信大家對(duì)“Numpy中怎么實(shí)現(xiàn)PCA”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

新聞標(biāo)題:?Numpy中怎么實(shí)現(xiàn)PCA
本文路徑:http://jinyejixie.com/article38/ggchpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站企業(yè)建站、品牌網(wǎng)站制作ChatGPT、App開發(fā)、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
巴林左旗| 益阳市| 晴隆县| 会同县| 文水县| 玉龙| 永靖县| 兴仁县| 郁南县| 鱼台县| 平乐县| 沁水县| 内江市| 敖汉旗| 苗栗县| 沂源县| 开江县| 晋州市| 铅山县| 大荔县| 邢台市| 江西省| 鲁甸县| 延川县| 静宁县| 柳林县| 台东县| 金湖县| 六安市| 桐城市| 达拉特旗| 河北区| 元氏县| 夏河县| 宣汉县| 宜丰县| 天台县| 辽源市| 达尔| 富川| 咸丰县|