-2
我從mvnrnd生成多數據。我可以使用K-means將這些數據聚類爲2組。我也想知道K-means的準確性,但我不知道如何計算。我怎麼知道k-均值聚類的正確性與結果進行比較並獲得準確性?!K-means和SVM的多數據
我有一個多數據和類,我知道我可以做SVM。然而,SVM的準確度太低,約72%至83%。我可能犯了一些錯誤。我想聽聽一些反饋。謝謝
n=1;mu1=[0,0,0];mu2=[1,1,1]; mu3=[2,2,2]; mu4=[3,3,3]; m=0.9;s=[1 m m ;m 1 m ; m m 1];
data1 = mvnrnd(mu1,s,1000); data2 = mvnrnd(mu2,s,1000);data3 = mvnrnd(mu3,s,1000);data4 = mvnrnd(mu4,s,1000);
all_data = [data1;data2;data3;data4];
[idx,ctrs,sumD,D] = kmeans(all_data,2,'distance','sqE','start','sample');
model = svmtrain(idx,all_data);
mu7=[0,0,0];mu8=[1,1,1];mu9=[2,2,2];mu10=[3,3,3];
data7=mvnrnd(mu7,s,1000);data8=mvnrnd(mu8,s,1000);data9=mvnrnd(mu9,s,1000);data10=mvnrnd(mu10,s,1000);
test_data = [data7;data8;data9;data10]; value = svmpredict(idx,test_data,model);
我想知道我的錯誤或我的代碼錯誤的地方。我不知道爲什麼我的準確性太低。我真的想改進我的代碼。謝謝 !!
您不準確的最可能原因是最初的聚類中心。當它們應該屬於另一個羣集時,您可能擁有屬於其他羣集成員的點。嘗試運行'kmeans'多次,然後在將其分類到SVM之前找到平均分類。 – rayryeng 2014-10-09 03:11:33