Karar ağacı ile KNN karşılaştırması


15

Hangi durumlarda bir Karar ağacı ve diğer durumlarda bir KNN kullanmak daha iyidir?

Neden belirli durumlarda bunlardan birini kullanıyorsunuz? Peki ya diğer durumlarda? (İşleyişine bakarak algoritmaya değil)

Bununla ilgili bazı açıklamalar veya referanslar var mı?


2
KNN denetimsiz DEĞİLDİR. Belki de cevap k-araçlarını düşünüyordu?

2
Karar ağacı öğrenimi de denetlenmez. en.wikipedia.org/wiki/Supervised_learning .
Valentas

Yanıtlar:


9

Farklı amaçlara hizmet ederler.

KNN denetlenmez, Karar Ağacı (DT) denetlenir. ( KNN denetlenmemişken KNN öğrenmeye denetlenir, sanırım bu cevap biraz karışıklığa neden olur. ) KNN kümeleme için kullanılır, sınıflandırma için DT. ( Her ikisi de sınıflandırma için kullanılır. )

KNN mahalleleri belirler, bu yüzden bir mesafe metriği olmalıdır. Bu, tüm özelliklerin sayısal olması gerektiği anlamına gelir. Mesafe metrikleri, nitelikler ve ayrıca yüksek boyutlu alan arasında değişen ölçeklerden etkilenebilir.

DT ise, belirli bir giriş vektörü için bir sınıf öngörür. Nitelikler sayısal veya nominal olabilir.

Yani, benzer örnekler bulmak istiyorsanız KNN kullanabilirsiniz. Örnekleri sınıflandırmak istiyorsanız DT'yi kullanabilirsiniz.


Açıklama: Kümeleme, ancak belirli bir girdi vektörü çevresinde tek bir k boyutlu küme. Tüm özelliklerin sayısal olması gerektiği doğru değildir. Örneğin, özelliklerin nominal olduğu bir mesafeyi tanımlamak için Jaccard benzerliğini kullanabilirsiniz.

10
Aslında ikisi de denetleniyor. Denetlenen, öğrencinin etiketli bir eğitim setine erişimi olduğu anlamına gelir. Denetimsiz algoritmalar, etiket tahmini değil, kümeleme gibi şeyler yapar.
Ürdün A

1
KNN ile tam olarak K komşularınızın çoğuna göre de sınıflandırabilirsiniz
Jekaterina Kokatjuhha

3
-1 knnve k-meansfarklı algoritmalar ve bu cevap maalesef (ve yanlışlıkla) bu iki prosedürü kaçırıyor. knnne denetimsiz ne de kümeleme için kullanılmaz! Bkz. S: Diff kNN ve kMean
SebNag

@SebNag, bilimkurgu kitinin "Denetimsiz En Yakın Komşular" bölümünün gerçekten sadece kılık değiştirmiş k-araçlarından bahsettiğini söylemek adil mi? scikit-learn.org/stable/modules/neighbors.html Görünüşe göre bu bölüm knn kullanıyor ama etiket bilgisi olmayan kümeleri belirlemek için bir çeşit mesafe ölçüsü kullanıyor gibi görünüyor. yani bu k-araçları gibi geliyor.
Frikster

8

Karar Ağacı, Bayesian, Geri Yayılma, Destek Vektör Makinesi gibi sınıflandırıcılar , "Eager Learners" kategorisine girerler, çünkü test veri kümesinden [görünmeyen] bir gözlemi gerçekten sınıflandırmadan önce eğitim veri kümesinde bir sınıflandırma modeli oluştururlar . Öğrenilen model şimdi daha önce görülmemiş gözlemleri, dolayısıyla adı sınıflandırmak için "istekli" (aç okumak).


Bununla birlikte, KNN tabanlı sınıflandırıcı herhangi bir sınıflandırma modeli oluşturmaz. Eğitim örneklerinden (gözlemler) doğrudan öğrenir. Sadece sınıflandırmak için bir test gözlemi verildikten sonra verileri işlemeye başlar. Böylece, KNN "Tembel Öğrenci" yaklaşımları kategorisine girer .

Yukarıdaki temel farklılıklara dayanarak, aşağıdakileri sonuçlandırabiliriz: -

  1. KNN yerinde öğrenme gerçekleştirdiğinden, sık sık veritabanı aramaları gerektirir, bu nedenle, hesaplama açısından pahalı olabilir. Karar Ağacı Sınıflandırıcısı, bellek içi sınıflandırma modeline hazır olduğu için arama gerektirmez.

  2. KNN örnek tabanlı öğrenme gerçekleştirdiğinden, iyi ayarlanmış bir K, Karar Ağaçları gibi diğer "istekli" öğrenciler tarafından kolayca modellenemeyen, keyfi olarak karmaşık karar sınırlarına sahip karmaşık karar alanlarını modelleyebilir.

  3. "İstekli" öğrenciler, bir seferde bir grup eğitim gözlemini modelleyerek gruplar halinde çalışır. Bu nedenle, artımlı öğrenme için uygun değildirler. Ancak KNN, örnek tabanlı bir öğrenci olduğu için doğal olarak artımlı öğrenmeyi (veri akışları) destekler.

  4. Ayrıca, KNN sınıflandırıcısı Bayesian sınıflayıcısına (altın standart) yakın olan hata oranlarını verir. ISLR'de belirtildiği gibi :

Bayes hata oranı indirgenemez hataya benzer


4

Sebastian Raschka'nın Python Makine Öğrenmesinden :

Bu tür bir bellek tabanlı yaklaşımın [KNN] temel avantajı, sınıflandırıcının yeni eğitim verilerini toplarken hemen uyum sağlamasıdır. Bununla birlikte, dezavantajı, yeni örnekleri sınıflandırmak için hesaplama karmaşıklığının, en kötü senaryoda eğitim veri kümesindeki örnek sayısı ile doğrusal olarak artmasıdır - veri kümesi çok az boyut (özellik) içermiyorsa ve algoritma verimli veriler kullanılarak uygulanmıyorsa KD ağaçları gibi yapılar. Friedman, JL Bentley ve RA Finkel. Beklenen logaritmik zamanda en iyi eşleşmeleri bulmak için bir algoritma. Matematiksel Yazılımda ACM İşlemleri (TOMS), 3 (3): 209–226, 1977. Ayrıca, herhangi bir eğitim basamağı olmadığından eğitim örneklerini atamayız. Bu nedenle, büyük veri kümeleriyle çalışıyorsak, depolama alanı zor olabilir.

Ancak karar ağacı yeni örnekleri hızla sınıflandırabilir. Sadece bir dizi boole karşılaştırması yapıyorsunuz.


2

Karar ağaçlarının hem sınıflandırma hem de regresyon görevleri için kullanılabileceğini ekliyorum. DT ise, kabul edilen cevaptaki bir sınıfın , teknik olarak genel DT kavramının bir alt türü olan Sınıflandırma ağaçlarını tanımlayarak daha spesifik olacağını öngörmektedir . Bir referans (belirli uygulamaları tartışan alt katmanları yok sayarak):
karar ağacı türleri Buradan: http://www.simafore.com/blog/bid/62482/2-main-differences-between-classification-and-regression-trees

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.