0
我在r中使用kmodes集羣。每次我運行下面的代碼,我得到不同的簇大小我找,即使再次乳寧同樣代碼後不改變輸出,即使設立種子Kmodes集羣大小在每次運行時相當變化
set.seed(11)
c1 = kmodes(data, 3, iter.max = 1000, weighted = FALSE)
後..我明白kmodes使用安靜的相同的技術K均值爲初始隨機點..如果我們設置種子然後K均值給予相同的簇大小輸出,但不Kmodes ..
感謝
拉胡爾
改變「證明由例如」從來就不是一個好主意......不這樣做。也許你的數據集太簡單了,所以它總會找到相同的最小值?您可能需要更難的數據集(而不是數字數據集?)... –
@ Anony-Mousse在發佈此示例之前,我仔細檢查了'kmodes'內的代碼,並且沒有發現導致結果不可重複的任何原因。算法中唯一的隨機性元素似乎是'sample'命令:'modes < - unique(data)[sample(nrow(unique(data)))[1:k]'。這就是我發佈這個例子的原因。 –
謝謝這是一個很好的幫助...問題出現在我的R我猜。因爲在設置種子後,我用不同的迭代獲得不同的輸出,但其他系統中的相同代碼gettin同樣不。輸出集羣..不知道爲什麼... – user3454746