Scikit kümeleme atalet formülü öğrenmek


9

Pandalar ve scikit öğrenmek kullanarak python kümeleme bir kmeans kodlamak istiyorum. İyi k'yi seçmek için, Tibshirani ve al 2001'den ( Pdf ) Gap İstatistiğini kodlamak istiyorum .

Scikit'ten inertia_ sonucunu kullanıp kullanamayacağımı ve tüm istatistik hesaplamasını yeniden kodlamak zorunda kalmadan boşluk istatistik formülünü uyarlayıp uyarlayamayacağımı bilmek istiyorum .

Scikit / kullanılan atalet formülünü bilen var mı? Üst düzey mesafe fonksiyonlarını kullanarak boşluk istatistiğini yeniden kodlamanın kolay bir yolunu biliyor mu?


Bu sorunun CV için konuyla ilgili yeterli istatistiksel içeriğe sahip olduğunu düşünüyorum, ancak bunun oldukça karmaşık programlama ve Python bilgisi gerektirdiğini unutmayın. İyi bir cevap almak zor olabilir. Siz de sahte kod için yerleşmek isteyebilirsiniz / isteyebilirsiniz ve / veya bu soruyu Python programlama yönleri ile ilgili istatistiksel yönler hakkında 2 bölüme, 1 bölüme, burada 1 bölüme ayırmanız gerekebilir . (Ya da belki de bilmiyorum, emin değilim, ama size adil bir uyarı vermek istiyorum; nasıl gittiğini göreceğiz.)
gung - Monica'yı eski durumuna döndürün

1
Bu sorunun "atalet" teriminin tanımlanması gerekmektedir. İçindeki para gibi görünüyor python.
ttnphns

Yanıtlar:


6

Sanırım kmeans kümelenmesi için cevabımı buldum:

Git kaynak koduna bakarak, scikit öğrenmesi için ataletin en yakın sentroidine, yani atanmış kümeye her nokta için kare mesafenin toplamı olarak hesaplandığını buldum. Bu yüzden burada tahsis kümesinin ağırlık merkezi ve karesi mesafedir. I=i(d(i,cr))crd

Şimdi boşluk istatistiğinin formül kapsar küme içinde tüm noktaları arasındaki karesi mesafelerin toplamı .

Wk=r=1k1(2nr)Dr
Drr

Tanıtarak , (kare uzaklık formülde küme ağırlık merkezi olan koordinatları), bir terim olduğu (scikit gibi) Atalet karşılık gelir + nın her biri kaybolur bir terim her kümenin ağırlık merkezi olan (kmeans olması gerekiyordu). Yani aslında Scikit Atalet olduğunu.+cccrcWk

Hala iki sorum var:

  1. Analizimin doğru olduğunu mu düşünüyorsun? (Örneğin, hiyerarşik kümeleme için geçerli olup olmadığını bilmiyorum.)
  2. Yukarıda doğruysam, boşluk istatistiğini kodladım (tahmin ve kümeleme arasındaki günlük eylemsizliklerinin farkı olarak) ve özellikle iris veri kümesinde kötü performans gösteriyor, kimse denedi mi?

2
Cevaplarınızda soru sormamak en iyisidir. Bu gerçekten sorunuzun cevabı değilse de, gerçek soruyu açıklığa kavuşturmak için sadece kısmi bir çözümse, sorunuzu düzenlemek ve bu bilgileri içine yapıştırmak daha iyi olacaktır.
gung - Monica'yı eski

1
@Scratch, Iris veri kümesi üzerinde çalışmak için boşluk istatistiğinin bir python uygulamasını aldınız mı? Aynı sorunla mücadele ediyorum.
14:23

Evet, birkaç ay önce kodladım. Bunu size nasıl gönderebilirim?
Scratch

1
Formül olmamalı bu ?
Wk=r=1kDr(2nr)
Biswanath
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.