① matlab如何导入Iris数据集,并计算样本间的欧氏距离
欧氏距离
function distance=euclideandis(x,y)%x and y:two
vectors to be tested.
if(max(size(x))-----max(size(y)))%label l
error(’Array sizes do not match.’);
end
if((rain(size(x))--=1)l(min(size(y))-一-1))
error(’Both x and Y are vectors’);
end%label2
distance=sqrt(sum((x·y).^2))/max(size(x));
② 请高手帮忙编写关于K—mediods算法的MATLAB程序用于处理Iris数据集的聚类处理,得到迭代次数图形和准确率
我把K-mediods的matlab代码贴出来,你好好学习一下
function label = kmedoids( data,k,start_data )
% kmedoids k中心点算法函数
% data 待聚类的数据集,每一行是一个样本数据点
% k 聚类个数
% start_data 聚类初始中心值,每一行为一个中心点,有cluster_n行
% class_idx 聚类结果,每个样本点标记的类别
% 初始化变量
n = length(data);
dist_temp1 = zeros(n,k);
dist_temp2 = zeros(n,k);
last = zeros(n,1);
a = 0;
b = 0;
if nargin==3
centroid = start_data;
else
centroid = data(randsample(n,k),:);
end
for a = 1:k
temp1 = ones(n,1)*centroid(a,:);
dist_temp1(:,a) = sum((data-temp1).^2,2);
end
[~,label] = min(dist_temp1,[],2);
while any(label~=last)
for a = 1:k
temp2 = ones(numel(data(label==a)),1);
temp3 = data(label==a);
for b = 1:n
temp4 = temp2*data(b,:);
temp5 = sum((temp3-temp4).^2,2);
dist_temp2(b,a) = sum(temp5,1);
end
end
[~,centry_indx] = min(dist_temp2,[],1);
last = label;
centroid = data(centry_indx,:);
for a = 1:k
temp1 = ones(n,1)*centroid(a,:);
dist_temp1(:,a) = sum((data-temp1).^2,2);
end
[~,label] = min(dist_temp1,[],2);
end
end
③ 在R语言中什么命令可以与Matlab中的subplot类似函数
如果用build-in function里的plot,没有完全一致的subplot函数做对应,但是思路跟matlab是一样的:就是将画布分为你需要subplot的数量,举例如下:
attach(iris)
par(mfrow=c(1,2))#将画布分为一行两列
plot(iris$Sepal.Length,iris$Sepal.Width)
plot(iris$Petal.Length,iris$Petal.Width)
结果如下:
望采纳,谢谢!
④ 关于matlab解决支持向量机的问题~~~
这个学的全还给老师了。。。
⑤ matlab提示未定义变量
貌似要改成 function output = KNN_density(train,a)吧,你之前写的没有函数,只有自变量,添一个output变量作为函数的输出就行了吧。
⑥ 在MATLAB中导入Fisher的Iris数据集TXT文档出现 ,急,谢谢大神!
对应这个程序,数据文件中要把各分类名称要用数字代替, 如"Iris-setosa" 用1 代替等等
⑦ matlab怎么对线性判别分析lda作图plot
主 help classify; 在里面输入就可以看到这个函数的作用了。 次 贝叶斯判别:对象(总体)在抽样前已有一定的认识,常用先验分布来描述这种认识,然后给予抽取的样本再对先验认识作修正,得到后验分布,而各种统计推断均基于后验分布进行
⑧ matlab软件有自带的数据库吗,比如说iris
matlab本身没有数据库,你说的数据集应该有,存放在一些独有的文件里面了。
⑨ matlab fishriris是什么数据
fisheriris数据是一个叫费舍得生物学家对150片鸢尾花花瓣做的测量,setosa个种类好像偏宽一点,另两种类似。
可以在命令栏中输入一面的代码:
load fisheriris
gscatter(meas(:,1), meas(:,2), species,'rgb','osd');
xlabel('Sepal length');
ylabel('Sepal width');
N = size(meas,1);