Bir kümeleme yöntemi seçme


73

Benzer vakaları gruplandırmak için ayarlanmış bir veri üzerinde küme analizi kullanılırken, çok sayıda kümeleme yöntemi ve uzaklık ölçüsü arasından seçim yapılması gerekir. Bazen bir seçim diğerini etkileyebilir, ancak birçok olası yöntem kombinasyonu vardır.

Çeşitli kümeleme algoritmaları / yöntemleri ve mesafe ölçütleri arasından nasıl seçim yapılacağı konusunda herhangi bir tavsiyesi olan var mı ? Bunun değişkenlerin (örneğin kategorik veya sayısal) niteliği ve kümelenme problemi ile ilgisi nedir? Optimal bir teknik var mı?


1
Kümelemek istediklerinizin daha ayrıntılı bir tanımını yapmayı deneyebilir misiniz? ya da sadece kümelenmedeki ihtiyacınız olan bir sanat eseri midir?
Robin Girard

2
Aklımda hemen bir uygulama yok. Ben sadece kümeleme yöntemi ve benzerlik ölçüsü seçmek için genel bir yaklaşımla ilgileniyorum.
Brett,

Bu benzer soruyu da kontrol edin .
ttnphns,

Ve bazı uyarılar özellikle hiyerarşik kümeleme yöntemleri wrt.
ttnphns

Yanıtlar:


43

Sorunuza kesin bir cevap yoktur, çünkü aynı yöntem içinde bile bireyleri (dis) benzerliği temsil etme mesafesinin seçimi, örneğin hiyerarşik kümelemede öklid ve kare öklid kullanırken, farklı sonuçlar doğurabilir. Diğer bir örnek olarak, ikili veriler için, benzerlik ölçütü olarak Jaccard endeksini seçebilir ve klasik hiyerarşik kümelemeye devam edebilirsiniz; fakat Mona ( Monothetic Analysis) gibi alternatif yaklaşımlar var.) bir seferde sadece bir değişken olarak kabul edilen algoritma, diğer hiyerarşik yaklaşımlar (örneğin klasik HC, Agnes, Diana) her değişkenin tüm değişkenlerini kullanır. K-aracı yaklaşımı, medoidlerin (PAM) etrafına ayrılma veya centroidler yerine temsili nesneler (Kaufman ve Rousseuw, 1990) veya bulanık kümeleme (Chung ve Lee, 1992) dahil olmak üzere çeşitli şekillerde genişletildi. Örneğin, k-ortalamaları ve PAM arasındaki ana fark, PAM'in bir kare öklid mesafesinin toplamından ziyade bir miktar farklılığı en aza indirmesidir; Bulanık kümeleme, “kısmi üyeliğin” dikkate alınmasına izin verir (her gözlem için sınıf üyeliğini yansıtan bir ağırlık ilişkilendiririz). Ve olasılıksal bir çerçeveye dayanan veya model tabanlı kümelemeye (veya gizli profil analizi) dayanan yöntemler içinPsikometristler için), harika bir paket var: Mclust . Kesin olarak, bireylerin birbirine benzemesinin yanı sıra bireyleri birbirine bağlama yönteminin (özyinelemeli veya yinelemeli kümelenme, katı veya bulanık sınıf üyeliği, denetimsiz veya yarı denetimli yaklaşım vb.) Nasıl tanımlanacağını düşünmeniz gerekir.

Genellikle, küme kararlılığını değerlendirmek için, temelde bazı benzerlikleri "paylaşan" birkaç algoritmayı karşılaştırmak ilginçtir (örneğin, k-ortalamaları ve hiyerarşik kümeleme, çünkü her ikisi için de öklid mesafesi çalışır). İki küme çözümü arasındaki uyumu değerlendirmek için, bu soruya cevaben bazı işaretçiler önerildi, Bir dendrogram nerede kesilir? (ayrıca bu web sitesindeki diğer linkler için referanslara bakınız). R kullanıyorsanız, bazı paketlerin Küme Analizi'ndeki Görev Görünümü'nde zaten mevcut olduğunu göreceksiniz ve bazı paketlerde belirli yöntemleri açıklayan veya vaka çalışmaları sağlayan vinyetlerin bulunduğu görülecektir.

Küme Analizi: Temel Kavramlar ve Algoritmalar Küme Analizinde kullanılan çeşitli tekniklere iyi bir genel bakış sağlar. R resimli iyi bir kitap için, İzenman'ın Modern Çok Değişkenli İstatistik Teknikleri bölüm 12'sini tavsiye ederim (Springer, 2008). Aşağıda birkaç standart referans daha verilmiştir:

  • Cormack, R., 1971. Sınıflandırmanın gözden geçirilmesi. Kraliyet İstatistik Kurumu Dergisi, A 134, 321–367.
  • Everitt, B., 1974. Küme analizi . Londra: Heinemann Educ. Kitabın.
  • Gordon, A., 1987. Hiyerarşik sınıflamanın gözden geçirilmesi. Kraliyet İstatistik Kurumu Dergisi, A 150, 119–137.
  • Gordon, A., 1999. Sınıflandırma , 2. Baskı. Chapman ve Salonu.
  • Kaufman, L., Rousseuw, P., 1990. Verilerde Grup Bulma: Küme Analizine Giriş . New York, Wiley.

30

Hastie, Tibshirani ve Friedman'dan bir alıntı , İstatistiki Öğrenmenin Öğeleri , s. 506:

“Kümelemede başarı elde etmede uygun bir farklılık ölçütü, kümeleme algoritması seçiminden çok daha önemlidir. Sorunun bu yönü ... alana özgü bilgiye dayanır ve genel araştırmaya daha az uygundur.”

(Bu, (wibni) öğrencilerin birkaç küçük standart veri kümesinde birkaç algoritma ve ölçüm deneyebileceği bir site olsaydı iyi olmaz mıydı?) Dedi.


Teşekkürler chi; "örnekler web üzerinde çalıştırılabilir" için bir etiket önerebilir misiniz?
denis,

Soruyu tekrar etiketlemek için mi demek istiyorsunuz (OP, çevrimiçi kıyaslama araçlarından sonra IMO olmadığından iyi bir fikir olduğunu düşünmüyorum) veya sormak istediğiniz yeni bir soru için mi? Her neyse, şu anda iyi bir etiket hakkında hiçbir fikrim yok. Meta'ya sor?
chl

1
Bu alıntı yanıltıcı olabilir - açıkça wikipedia'daki (şüphesiz ki) örnekleri için geçerli değildir . İkinci veri setindeki güçlü doğrusal olmayan küme nedeniyle, bağlantı ve yoğunluk kümeleme algoritmaları herhangi bir centroid tabanlı yöntemden çok daha iyi çalışır. Bir centroid kümeleme düzeninin daha iyi çalışmasını sağlayacak bir benzerlik ölçütü yoktur. Bu alıntı yalnızca kümelerin kabaca doğrusal olduğunu varsayıyorsanız geçerlidir (bazen güvenli bir varsayım). Mümkünse önce verilerinizi görsel olarak incelemeyi öneririm.
na1101

emin @ naught101, - verileri görsel olarak kontrol etmek bkz farklılık çok önemlidir / benzerlik, ama daha kolay yapılır daha bahsedilen
Denis

Bu alıntı hangi baskıdan? alıntı türünü verebilir misiniz
MonsterMMORPG 14

12

Hangi kümeleme algoritmasının daha iyi olacağını önceden bilemezsiniz, ancak bazı ipuçları vardır; örneğin, görüntüleri kümelemek istiyorsanız, önce Fuzzy Art gibi denemeniz gereken bazı algoritmalar varsa veya yüzleri gruplamak istiyorsanız, başlamalısınız. (GGCI) ile görüntü için global geometrik kümeleme.

Her neyse, bu en iyi sonucu garanti etmiyor, bu yüzden yapacağım şey, weka, RapidMiner veya hatta R (görsel olmayan) gibi farklı küme algoritmalarını metodik olarak çalıştırmanıza izin veren bir program kullanmak. Tüm farklı kümeleme algoritmalarını başlatabildim, mümkün olan tüm farklı mesafelerle ve parametrelere ihtiyaç duyarlarsa, her birini farklı parametre değerleriyle deneyimleyin (ayrıca küme miktarını bilmezsem de sayıları). Deneyi hallettikten sonra çalışmasını bekleyin, ancak her kümelenme işleminin sonuçlarını bir yerde saklamayı unutmayın.

Daha sonra en iyi sonuçtaki kümelemeyi elde etmek için sonuçları karşılaştırın. Bu çok zordur, çünkü karşılaştırabileceğiniz birçok ölçüm vardır ve bunların tümü her algoritma tarafından sağlanmaz. Örneğin bulanık kümelenme algoritmalarının bulanık olmayandan farklı ölçümleri vardır, ancak yine de bulanık sonuç grupları bulanık olmayanlar göz önüne alınarak karşılaştırılabilirler. Klasik metriklerle karşılaştırmak için yapışacağım:

• SSE: her kümenin öğelerindeki kare hatanın toplamı.

• Kümeler arası mesafe: her küme centroid arasındaki kare mesafenin toplamı.

• Her küme için küme içi mesafe: her kümenin öğelerinden merkeze giden kare mesafenin toplamı.

• Maksimum Yarıçap: bir örnekten küme merkezine olan en büyük mesafe.

• Ortalama Yarıçap: bir örnekten küme centroidine kadar olan en büyük mesafenin küme sayısına bölünmesi.


4

Doğru mesafeyi seçmek temel bir görev değildir. Bir veri kümesi üzerinde küme analizi yapmak istediğimizde, farklı mesafeler kullanılarak farklı sonuçlar ortaya çıkabiliyordu, bu nedenle hangi mesafeyi seçeceğinize dikkat etmek çok önemlidir çünkü değişkenliği iyi yakalayan, ancak aslında olmadan iyi bir yanlışlık yapabilir. sorunumuzda duyu.

Öklit mesafesi Ben sürekli sayısal değişkenler var ve mutlak mesafeleri yansıtmak istediğinizde uygundur. Bu mesafe her değişkeni hesaba katar ve fazlalıkları ortadan kaldırmaz, bu yüzden aynı şeyi açıklayan üç değişkenim olsaydı (korelasyonlu), bu etkiyi üçe çıkarırım. Dahası, bu mesafe değişmez bir ölçek değildir, bu yüzden genellikle mesafeyi kullanmak için daha önce ölçeklendirmem gerekir.
Örnek ekoloji: Uzmanların bazı mikrobiyolojik, fiziksel ve kimyasal faktörlerden örnekler aldığı birçok bölgeden farklı gözlemlerimiz var. Ekosistemlerde kalıplar bulmak istiyoruz. Bu faktörlerin yüksek bir korelasyonu vardır, ancak herkesin alakalı olduğunu biliyoruz, bu yüzden bu fazlalıkları kaldırmak istemiyoruz. Birimlerin etkisini önlemek için Öklid mesafesini ölçeklenmiş verilerle kullanıyoruz.

Mahalanobis mesafe ben sürekli sayısal değişkenler var ve mutlak mesafeleri yansıtmak istiyoruz ama biz fazlalıklar kaldırmak istediğinizde uygundur. Değişkenleri tekrarladıysak, tekrar eden etkileri ortadan kalkar.

Hellinger , Tür Profili ve Akor mesafesi ailesi , profilleri ayırt etmek istediğimizde değişkenler arasındaki farklara vurgu yapmak istediğimizde uygundur. Bu mesafeler, her bir gözlemin toplam miktarlarına göre ağırlıklandırır, öyle ki, değişkenler tarafından değişkene göre mesafeler küçüktür, bireyler daha benzerdir, ancak mutlak büyüklükler çok farklıdır. Dikkat et! Bu mesafeler, profiller arasındaki farkı çok iyi yansıtıyor, fakat büyüklük etkisini kaybetti. Farklı örneklem büyüklüklerine sahip olduğumuzda çok faydalı olabilirler. Örnek ekoloji: Birçok ülkenin faunasını incelemek istiyoruz ve gastropod envanterinin bir veri matrisine sahibiz (satırlardaki örnekleme yerleri ve sütunlardaki tür isimleri). Matris, birçok sıfır ve farklı büyüklüklere sahip olmasıyla karakterize edilir, çünkü bazı yerlerde bazı türler, bazılarında başka türler vardır. Hellinger mesafesini kullanabiliriz.

Bray-Curtis oldukça benzer, ancak profilleri farklılaştırmak ve göreceli büyüklükleri hesaba katmak istediğimizde daha uygundur.


1
Lütfen hesaplarınızı kaydedin ve / veya birleştirin 1 2 (bunun nasıl yapılacağı hakkında yardım merkezimizin Hesabım bölümünde bulabilirsiniz ). Daha sonra cevaplarınızı, bunlara verilen yanıtları, vb. Ve diğer yararları takip edebileceksiniz. Burada yeniyken , yeni kullanıcılar için bilgi sahibi olan turumuza katılmak isteyebilirsiniz .
gung

Benzer bir konuda daha önce aynı yanıt istatistik.stackexchange.com/a/253268/3277 yayınladınız . Cevapları çoğaltmak adil sayılmaz. Mevcut olanı silmenizi öneririm. Ancak, bir OP sorusunun altındaki yorum olarak veya şu anki bir konudaki bazı cevaplar nedeniyle diğer cevaplarınıza / linklerinize bir link gönderebilirsiniz.
ttnphns

2

Endişelendiğim kadarıyla, güvenli bir seçim yapmak istiyorsanız, spektral kümeleme yöntemleri son yıllarda en yüksek doğruluk oranlarını elde ediyor - en azından görüntü kümelemede.

Mesafe ölçümü için, verilerinizin nasıl organize edildiğine çok bağlıdır. Güvenli seçim basit öklid mesafesidir, ancak verilerinizin manifold içerdiğini biliyorsanız, noktaları çekirdek yöntemleriyle eşlemelisiniz.

Not: Hepsi sayısal değil, kategorik değil. Birinin kategorik verileri nasıl toplayacağına emin değilim.


2

İşte soruyu cevaplamaya yardımcı olabilecek birkaç kümeleme algoritmasının bir özeti

"hangi kümeleme tekniğini kullanmalıyım?"

Nesnel olarak "doğru" kümeleme algoritması yoktur Ref

Kümeleme algoritmaları "küme modeline" göre kategorize edilebilir. Belirli bir model için tasarlanmış bir algoritma genellikle farklı bir modelde başarısız olacaktır. Örneğin, k-araçları dışbükey olmayan kümeleri bulamaz, yalnızca dairesel şekilli kümeleri bulabilir.

Bu nedenle, bu “kümelenme modellerini” anlamak, çeşitli kümelenme algoritmaları / yöntemleri arasından nasıl seçileceğini anlamak için bir anahtar haline gelir. Tipik küme modelleri şunları içerir:

[1] Bağlantı modelleri: Uzaktan bağlantıya bağlı modeller oluşturur. Hiyerarşik kümeleme. Ağaç kesim yüksekliğine göre farklı bölümlere ihtiyaç duyduğumuzda kullanılır. R fonksiyonu: istatistik paketinde hclust.

[2] Centroid modelleri: Her kümeyi tek bir ortalama vektör ile temsil ederek modeller oluşturur. Keskin bölümlere ihtiyaç duyduğumuzda kullanılır (daha sonra tarif edilen bulanık kümelemenin aksine). R fonksiyonu: istatistik paketinde km.

[3] Dağıtım modelleri: Beklenti maksimizasyon algoritması tarafından kullanılan çok değişkenli normal dağılımlar gibi istatistiksel dağılımlara dayalı modeller oluşturur. Küme şekilleri, dairesel kümeleri varsayan k araçlarından farklı olarak keyfi olduğunda kullanılır. R fonksiyonu: emcluster paketindeki emcluster.

[4] Yoğunluk modelleri: Veri alanındaki yoğun bölgeler olarak bağlı kümelere dayalı modeller oluşturur. Örneğin DBSCAN ve OPTİK. Küme şekilleri, dairesel kümeleri varsayan k-araçlarından farklı olarak keyfi olduğunda kullanılır. R dbscan paketinde R işlevi dbscan.

[5] Alt uzay modelleri: Hem küme üyelerine hem de ilgili özelliklere dayalı modeller oluşturur. Örneğin kümeleme (birlikte kümeleme veya iki modlu kümeleme olarak da bilinir). Eşzamanlı satır ve sütun kümelemesi gerektiğinde kullanılır. Biclust paketinde R fonksiyonu biclust.

[6] Grup modelleri: Gruplama bilgilerine göre modeller oluşturur. İşbirlikçi filtreleme (öneri algoritması). R fonksiyonu recomenderlab paketinde Tavsiye.

[7] Grafik tabanlı modeller: Klibe dayalı modeller oluşturur. Topluluk yapısı algılama algoritmaları, yönlendirilmiş veya yönlendirilmemiş grafiklerde yoğun altyazıları bulmaya çalışır. Örneğin, igraph paketindeki R işlevi cluster_walktrap.

[8] Kohonen Kendi Kendini Düzenleyen Özellik Haritası: Sinir ağına dayalı modeller oluşturur. R, kohonen paketinde som işlevi görür.

[9] Spektral Kümeleme: Dışbükey olmayan küme yapısına dayalı olarak veya merkezin bir ölçüsü tüm kümenin uygun bir açıklaması olmadığında modelleri oluşturur. Kernlab paketindeki R fonksiyonu specc.

[10] alt uzay kümelenmesi: Yüksek boyutlu veriler için mesafe işlevleri problemli olabilir. küme modelleri küme için ilgili özellikleri içerir. Örneğin, R paketi HDclassif'teki hddc işlevi.

[11] Dizi kümeleme: İlişkili olan grup dizileri. rBlast paketi.

[12] Afinite yayılımı: Veri noktaları arasında geçen mesaja dayalı modeller oluşturur. Algoritmayı çalıştırmadan önce küme sayısının belirlenmesini gerektirmez. Bazı bilgisayar vizyonu ve hesaplamalı biyoloji görevleri için, örneğin insan yüzlerinin resimlerinin kümelenmesi ve düzenlenmiş transkriptlerin tanımlanması, k-araçlarından Ref Rpackage APCluster'dan daha iyidir.

[13] Akış kümelenmesi: Telefon kayıtları, finansal işlemler vb. Sürekli olarak gelen verilere dayalı modeller oluşturur. Ör R BIRCH paketi [ https://cran.r-project.org/src/contrib/Archive/birch/]

[14] Doküman kümeleme (veya metin kümeleme): SVD'yi temel alan modeller oluşturur. Konu çıkarmada kullandı. Örneğin, Havuç [ http://search.carrot2.org] , belgeleri tematik kategorilere ayırabilen açık kaynak kodlu bir arama motorudur.

[15] Gizli sınıf modeli: Gözlemlenmiş çok değişkenli değişkenlerin bir dizi gizli değişkenle ilişkilendirilmesiyle ilgilidir. LCA işbirlikçi filtrelemede kullanılabilir. R fonksiyonu recomenderlab paketinde bulunan Tavsiye edici, işbirlikçi filtreleme işlevine sahiptir.

[16] Biclustering: İki modlu verilerin satırlarını ve sütunlarını aynı anda kümelemek için kullanılır. Örneğin paket biclust'taki R fonksiyonu biclust.

[17] Yumuşak kümeleme (bulanık kümeleme): Her nesne, her kümeye belirli bir dereceye aittir. Örneğin, fclust paketindeki R Fclust işlevi.

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.