① 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);