【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张图片

2. 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函数实现数据降维,并将数据可视化_第2张图片

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

        (参考:scatter3)

        (参考:numel)

你可能感兴趣的:(Matlab,matlab,开发语言,深度学习)