Bir dizi kümeyi seçerken, K'nin farklı değerleri için bir dirsek noktası aramanız gerektiğini öğrendim. 1'den 10'a kadar k değerleri için withinss değerlerini çizdim, ancak net görmüyorum dirsek. Böyle bir durumda ne yaparsınız?
Bir dizi kümeyi seçerken, K'nin farklı değerleri için bir dirsek noktası aramanız gerektiğini öğrendim. 1'den 10'a kadar k değerleri için withinss değerlerini çizdim, ancak net görmüyorum dirsek. Böyle bir durumda ne yaparsınız?
Yanıtlar:
Belki probleminiz için yanlış algoritma kullanıyorsunuzdur.
K-araçları ön işlemeye son derece duyarlıdır. Bir özellik diğerlerinden çok daha büyük bir ölçekte ise, çıktıya hakim olur. Çıktınız daha sonra etkili bir şekilde 1 boyutlu olacaktır
Ne yaparsanız yapın, sonuçlarınızı SSQ gibi bir sayıdan başlamaktan başka bir şeyle doğrulamanız gerekir. Bunun yerine görselleştirmeyi düşünün .
Görselleştirme ayrıca verilerinizde yalnızca tek bir küme olduğunu söyleyebilir .
Bunun bir yolu, gruplandırmaların anlamlı olup olmadığını görmek için kümelerinizdeki üyeleri belirli bir k için manuel olarak incelemektir (ayırt edilebilir mi?). Bu durum tabloları ve koşullu yollarla yapılabilir. Bunu çeşitli k'ler için yapın ve hangi değerin uygun olduğunu belirleyebilirsiniz.
Daha az öznel bir yol, Silhouette Değerini kullanmaktır:
/programming/18285434/how-do-i-choose-k-when-using-k-means-clustering-with-silhouette-function
Bu, en sevdiğiniz yazılım paketiyle hesaplanabilir. Bağlantıdan:
Bu yöntem sadece grup içi benzerliği en yakın grup benzerliği ile karşılaştırır. Aynı kümenin diğer üyelerine olan herhangi bir veri üyesi ortalama mesafesi, diğer bazı küme üyelerine olan ortalama mesafeden yüksekse, bu değer negatiftir ve kümeleme başarılı olmaz. Diğer yandan, 1'e yakın silhuette değerleri başarılı bir kümeleme işlemini gösterir. 0.5, kümelenme için kesin bir ölçü değildir.
contingency tables and conditional means
Bu daha mistik. Onlarla ne yapmalıyım ki iyi bir k "öznel olarak" varır?
Genel olarak şunları düşünebilirsiniz:
En uygun k değerini bulmak için NbClust paketini kullanabiliriz. Küme sayısını belirlemek için 30 endeks sağlar ve en iyi sonucu önerir.
NbClust (veri = df, mesafe = "öklid", min.nc = 2, max.nc = 15, yöntem = "kmeans", dizin = "tümü")