日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【机器学习算法-python实现】PCA 主成分分析、降维

發布時間:2025/4/5 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习算法-python实现】PCA 主成分分析、降维 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.背景

PCA(Principal Component Analysis),PAC的作用主要是降低數據集的維度,然后挑選出主要的特征。 PCA的主要思想是移動坐標軸,找到方差最大的方向上的特征值,什么叫方差最大的方向的特征值呢。就像下圖中的曲線B,一樣,它的覆蓋范圍最廣。

基本步驟:(1)首先計算數據集的協方差矩陣 (2)計算協方差矩陣的特征值和特征向量 (3)保留最重要的n個特征

what is 協方差矩陣:定義是變量向量減去均值向量,然后乘以變量向量減去均值向量的轉置再求均值。例如x是變量,μ是均值,協方差矩陣等于E[(x-μ)(x-μ)^t],物理意義是這樣的,例如x=(x1,x2,...,xi)那么協方差矩陣的第m行n列的數為xm與xn的協方差,若m=n,則是xn的方差。如果x的元素之間是獨立的,那么協方差矩陣只有對角線是有值,因為x獨立的話對于m≠n的情況xm與xn的協方差為0。另外協方差矩陣是對稱的。 可以參考wiki:(http://zh.wikipedia.org/wiki/%E5%8D%8F%E6%96%B9%E5%B7%AE%E7%9F%A9%E9%98%B5)


2.代碼實現

偽代碼如下(摘自機器學習實戰):
''' @author: Garvin ''' from numpy import * import matplotlib.pyplot as pltdef 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)meanRemoved = dataMat - meanVals #remove meancovMat = cov(meanRemoved, rowvar=0)eigVals,eigVects = linalg.eig(mat(covMat))eigValInd = argsort(eigVals) #sort, sort goes smallest to largesteigValInd = eigValInd[:-(topNfeat+1):-1] #cut off unwanted dimensionsredEigVects = eigVects[:,eigValInd] #reorganize eig vects largest to smallestlowDDataMat = meanRemoved * redEigVects#transform data into new dimensionsreconMat = (lowDDataMat * redEigVects.T) + meanValsreturn lowDDataMat, reconMatdef plotBestFit(dataSet1,dataSet2): dataArr1 = array(dataSet1)dataArr2 = array(dataSet2)n = shape(dataArr1)[0] n1=shape(dataArr2)[0]xcord1 = []; ycord1 = []xcord2 = []; ycord2 = []xcord3=[];ycord3=[]j=0for i in range(n):xcord1.append(dataArr1[i,0]); ycord1.append(dataArr1[i,1])xcord2.append(dataArr2[i,0]); ycord2.append(dataArr2[i,1]) fig = plt.figure()ax = fig.add_subplot(111)ax.scatter(xcord1, ycord1, s=30, c='red', marker='s')ax.scatter(xcord2, ycord2, s=30, c='green')plt.xlabel('X1'); plt.ylabel('X2');plt.show() if __name__=='__main__':mata=loadDataSet('/Users/hakuri/Desktop/testSet.txt') a,b= pca(mata, 2)
loadDataSet函數是導入數據集。PCA輸入參數:參數一是輸入的數據集,參數二是提取的維度。比如參數二設為1,那么就是返回了降到一維的矩陣。PCA返回參數:參數一指的是返回的低維矩陣,對應于輸入參數二。參數二對應的是移動坐標軸后的矩陣。

上一張圖,綠色為原始數據,紅色是提取的2維特征。


3.代碼下載

下載地址:請點擊我



/********************************

* 本文來自博客 ?“李博Garvin“

* 轉載請標明出處:http://blog.csdn.net/buptgshengod

******************************************/


總結

以上是生活随笔為你收集整理的【机器学习算法-python实现】PCA 主成分分析、降维的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜久久视频 | 中国农村一级片 | 亚洲视频在线观看一区二区三区 | 狠狠干导航 | 日本 片 成人 在线 九色麻豆 | 一级作爱视频 | 亚洲污网站 | 日韩欧美国产成人 | 日韩1区2区3区 | 特种兵之深入敌后高清全集免费观看 | 久久久久人妻精品一区二区三区 | 日韩3区 | 美女黄18以下禁止观看 | 上海毛片 | 久久精品国产亚洲AV黑人 | 一级欧美黄色片 | 蜜桃久久精品 | 国产第56页 | 狠狠伊人 | 小镇姑娘高清播放视频 | 天天艹夜夜艹 | 日本一区二区三区在线观看 | 青青视频免费看 | 久久婷色 | 手机免费av | www.狠狠插 | 久久久在线视频 | 欧美第二区 | 超碰www| 亚洲+小说+欧美+激情+另类 | 奇米色影视 | 国产精品久久久久久久一区探花 | 欧美色图亚洲视频 | 欧美123区| 国产视频一区二区在线播放 | 玖玖爱av | 国产精品伦一区二区三级视频 | 久久久精品影视 | 瑟瑟视频在线看 | 91超碰在线观看 | 特a级黄色片 | 91精品在线视频观看 | 久久久久久久久久久久久久av | 高清久久 | 国产精品美女久久久久久久 | 丰满大乳国产精品 | 小h片在线观看 | 男人天堂中文字幕 | 亚洲综合av一区二区 | 成年人av电影| 老牛嫩草二区三区观影体验 | 亚洲AV无码一区二区三区蜜桃 | 五月婷婷,六月丁香 | 一级黄色伦理片 | 波多野结衣一区二区三区 | 久久久com| 一级特黄录像免费看 | 天天色天天射综合网 | 让男按摩师摸好爽 | 中文字幕一区二区三区免费视频 | 91精品国产99久久久久久红楼 | 国产精品丝袜黑色高跟鞋 | 精产国品一区二区三区 | 探花国产精品一区二区 | free黑人多人性派对hd | 亚洲精品国产91 | 久久精品一区二区三区不卡牛牛 | 亚洲一区精品视频 | 亚洲精品一二 | 一本到在线观看 | 欧美一区二区三区在线观看视频 | 欧美激情首页 | 亚洲免费一区二区 | 99久久99久久 | 精品少妇人妻AV无码专区在线 | 91成人短视频在线观看 | 国产精品免费一区二区三区四区 | 国产成人综合视频 | 中文字幕无码日韩专区免费 | 免费看aaaaa级少淫片 | 好爽…又高潮了毛片免费看 | 欧美怡红院视频一区二区三区 | 国产资源精品 | 亚洲男人天堂网站 | 国产精品久久国产精品 | 黄色亚洲视频 | 国产欧美一区二区三区白浆喷水 | 爱爱视频网站 | 国产精品久久久久久久久久久久久久久久 | 国产夜夜夜 | 国产高清不卡av | 污污视频免费观看 | 亚洲九九九 | 男人的天堂a在线 | 国产黄色片免费 | aaaaa黄色片| 欧美日韩视频在线播放 | 亚洲午夜久久久久久久国产 | 激情综合网五月激情 |