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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用pca进行坐标系转换、降维

發布時間:2024/3/13 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用pca进行坐标系转换、降维 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

利用PCA進行坐標系轉換

pca是一種常用的數據降維的方法,而其中的降維的步驟就是:

  • 選取前 k 個特征值。

如果我們不選擇這個步驟,那么就不會進行降維了,反而會進行坐標系的轉換。

具體步驟

1、首先生成高斯二維分布的數據

matlab代碼

mul = [1 2]; SIGMA = [1 0.81; 0.81 1]; data1 = mvnrnd(mul,SIGMA,500); plot(data1(:,1),data1(:,2),'*'); axis equal

2. 使用PCA進行坐標軸的選取

新坐標的優化目的:使得坐標軸正交,并且沿著這些坐標方向的數據的方差最大。

clear;clc;close all; mul = [1 2]; SIGMA = [1 0.81; 0.81 1]; data1 = mvnrnd(mul,SIGMA,500); [pc,score,latent] = pca(data1); figure(1) axis equal plot(data1(:,1),data1(:,2),'*'); hold on quiver(1,2,pc(1,1),pc(2,1),5) quiver(1,2,pc(1,2),pc(2,2),5) plot(sore(:,1),score(:,2))


這樣就可以建立出新的坐標系。

3.m代碼主要流程介紹

  • 生成高斯二維分布的隨機數據
  • pca函數的使用
  • 在坐標上畫向量
  • PCA進行多維降維以及降維效果的評價

    有時候pca降維的時候會損失數據的局部的流形,造成不好的效果。

    1、生成數據

    先定義一個函數,用來生成一系列有規律的點

    %生成一系列園點 function [x1,y1] = creat_circle(r1 , r1_ratio,sita_ratio) sita = 0:0.05:2*pi; all_num = size(sita); all_num = all_num(1,2); %rand : sita sita_p = randperm(all_num,floor(sita_ratio*all_num)); %rand : r r_p = rand(1,floor(sita_ratio*all_num))*r1*r1_ratio; r1_p = repmat(r1,1,floor(sita_ratio*all_num)); r1_p = r1_p - r_p; x1 = r1_p.*cos(sita_p); y1 = r1_p.*sin(sita_p); scatter(x1,y1)

    然后運行下列代碼:

    % 建立坐標點 clear;clc;close all; [x1,y1] = creat_circle(3,0.05,0.95); [x2,y2] = creat_circle(5,0.05,0.95); [x3,y3] = creat_circle(9,0.05,0.95); num = size(x1); z1 = normrnd(5,1,1,num(1,2))+x1; z2 = wgn(1,num(1,2),1)+4+y2; z3 = rand(1,num(1,2))+2+x3; % 畫 figure(1) scatter(x1,y1,'r') hold on scatter(x2,y2,'b') scatter(x3,y3,'g') figure(2) scatter3(x1,y1,z1,'r') hold on scatter3(x2,y2,z2,'b'); scatter3(x3,y3,z3,'g');

    生成好以后,我們可以看看這些點的分布。
    換個角度,可以看出規律。我們希望降維后也保存這種規律。
    然而實際上,使用PCA進行降維后(降到2維)是這樣的:
    這樣一來降維的效果就不好了。

    總結

    以上是生活随笔為你收集整理的使用pca进行坐标系转换、降维的全部內容,希望文章能夠幫你解決所遇到的問題。

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