一、实验目的
本实验利用Iris鸢尾花数据集进行探索性数据分析以及可视化研究,以便选择合适的数据预处理和数据分析技术。
二、实验内容
编写matlab程序,读入数据文件iris.xls,产生散布图矩阵(如下所示)。
三、实验要求
本实验提供iris.xls文件,鸢尾花数据集包含150种鸢尾花的信息,每50种取自三个鸢尾花种之一:Setosa,Versicolour和Virginica。每个花的特征用5种属性描述:萼片长度,萼片宽度,花瓣长度,花瓣宽度,鸢尾花种类。通过给定数据,研究鸢尾花数据集的每对属性的关系,并画出散布图。不同的鸢尾花种类使用不同的标记进行表示。
四、算法描述
利用matlab中的gplotmatrix函数根据数据集中的类属性对数据进行分组,为数据集中的每个变量组合创建散点图矩阵。对角线的直方图显示了不同花对应属性长度值的分布
五、调试过程及实验结果
设置不同种类鸢尾花的标记颜色和标记种类在散布图矩阵中显示:
六、关键代码
clear;clc,close
data = xlsread("hw1-iris\iris-data.xls");
[~,species] = xlsread("hw1-iris\iris-data.xls",1,'E1:E151');
% 初始化绘图窗口
hf2=figure;
hf2.Units='pixels';
hf2.Position=[50 50 800 800];
%绘制散点图矩阵
speciesNum = grp2idx(species)
[H,AX,BigAx] = gplotmatrix(data,[],speciesNum,['b' 'g' 'r'],['x' '+' 'o']);
legend(AX(13+3),{'Setosa 山鸢尾','Versicolor 多色鸢尾','Virginica 弗吉尼亚鸢尾'},'Location','northwest','FontWeight','Bold','Fontsize',10)
title(BigAx,'鸢尾花数据特征散点图矩阵','FontWeight','Bold','Fontsize',16)
%横坐标标题
xlabel(AX(4),{'Sepal Length';'萼片长度'},'FontWeight','Bold','Fontsize',12)
xlabel(AX(8+1),{'Sepal Width';'萼片宽度'},'FontWeight','Bold','Fontsize',12)
xlabel(AX(12+2),{'Petal Length','花瓣长度'},'FontWeight','Bold','Fontsize',12)
xlabel(AX(16+3),{'Petal Width','花瓣宽度'},'FontWeight','Bold','Fontsize',12)
% 纵坐标标题
ylabel(AX(1),{'Sepal Length';'萼片长度'},'FontWeight','Bold','Fontsize',12)
ylabel(AX(2),{'Sepal Width';'萼片宽度'},'FontWeight','Bold','Fontsize',12)
ylabel(AX(3),{'Petal Length','花瓣长度'},'FontWeight','Bold','Fontsize',12)
ylabel(AX(4),{'Petal Width','花瓣宽度'},'FontWeight','Bold','Fontsize',12)