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); % 降维后的数据
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))]);
(参考:scatter3)
(参考:numel)