【20211208】【Matlab】使用Matlab中的pca函数实现数据降维,并将数据可视化

  1. pca函数使用方法

[coeff, score] = pca(data);

(1)输入参数

data:待降维的数据集

(2)输出参数

coeff:主成分分量,即样本协方差矩阵的特征向量;

score:主成分,即样本在低维空间的投影,也就是降维后的数据。

注意:score 的维度和原始样本 data 的维度一致,如果想要降到 k 维,只需选取 score 的前 k 列即可~

%%
clear; clc; close all; warning off;

%% 加载数据集
load('DataSet_UCIwine');

%% PCA降维
[coeff, score]= pca(data);  % coeff是主成分分量,即样本协方差矩阵的特征向量;score是主成分,即data在低维空间的投影,也就是降维后的数据,维度和data相同,若想降维到k维,只需要取前k列即可。
res = score(:, 1:3);  % 降维后的数据

【20211208】【Matlab】使用Matlab中的pca函数实现数据降维,并将数据可视化
  1. wine数据可视化

因为数据是三维数据,所以使用 scatter3() 实现数据可视化。

%% 原始数据可视化
figure(1);
s = 50 * ones(numel(label), 1);  % numel():求数组元素的数目
color = label;  % 设置散点的颜色为标签颜色,label为数据标签(三分类数据展示出三种不同的颜色,方便观察数据集)
scatter3(res(:, 1), res(:, 2), res(:, 3), s, color);
xlabel('dim-1'); ylabel('dim-2'); zlabel('dim-3');
title(['PCA降维后的数据分布   数据集样本个数=', num2str(numel(label))]);

【20211208】【Matlab】使用Matlab中的pca函数实现数据降维,并将数据可视化

(参考:利用Matlab中的pca函数进行数据降维

(参考:scatter3

(参考:numel

Original: https://blog.csdn.net/weixin_40583722/article/details/121801717
Author: Satisfying
Title: 【20211208】【Matlab】使用Matlab中的pca函数实现数据降维,并将数据可视化

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/625160/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球