Peringatan MATLAB - Davies-Bouldin Gagal Menyatu

Saat ini saya mencoba menjalankan Evaluasi Davies-Bouldin pada kumpulan data menggunakan fungsi bawaan pada MATLAB versi R2014a. Saat menjalankan fungsi pada sampel data yang lebih besar, saya terus menerima Peringatan serupa dengan yang berikut:

"Warning: Failed to converge in 100 iterations during replicate 5. 
> In kmeans>loopBody at 397
  In smartForReduce at 128
  In kmeans at 299
  In ClusterCriterion>@(X,NC)(kmeans(X,NC,'EmptyAction','singleton','rep',5)) at 466
  In ClusterCriterion>ClusterCriterion.evalFun at 309
  In DaviesBouldinEvaluation>DaviesBouldinEvaluation.evalklist at 105
  In DaviesBouldinEvaluation>DaviesBouldinEvaluation.DaviesBouldinEvaluation at 81
  In evalclusters at 176"

Saya rasa saya mengerti dari mana asalnya dan tebakan saya adalah saya perlu meningkatkan jumlah maksimum iterasi untuk menghilangkannya, dan kemudian mendapatkan jawaban yang lebih baik.

Pertanyaan saya adalah, apakah ada parameter yang dapat saya ubah untuk meningkatkan jumlah iterasi maksimum? Saya tahu Anda dapat melakukan ini untuk rutinitas k-means di MATLAB tetapi sayangnya tidak dapat menemukan apa pun di indeks Davies-Bouldin.

Terima kasih banyak,

Iga


person user154553    schedule 17.07.2014    source sumber


Jawaban (1)


Daripada menentukan string sebagai algoritme pengelompokan, Anda dapat meneruskan suatu fungsi menangani. Dengan cara itu Anda memberi tahu algoritma kmeans jumlah maksimum iterasi (100 secara default) . Contoh:

% clustering algorithm
clustFcn = @(X,K) kmeans(X, K, ...
    'EmptyAction','singleton', 'Replicates',5, ...
    'Options',statset('MaxIter',100));

load fisheriris
eva = evalclusters(meas, clustFcn, 'DaviesBouldin', 'KList',2:6)
person Amro    schedule 17.07.2014