Bu ikisi arasında birçok fark vardır, ancak pratikte dikkate alınması gereken üç ana şey vardır: hız, yorumlanabilirlik ve doğruluk.
Karar ağaçları
- Eğitildikten sonra daha hızlı olmalıdır (her iki algoritma da tam algoritmaya ve verilerin miktarına / boyutuna bağlı olarak yavaşça çalışabilir). Bunun nedeni, bir karar ağacının doğal olarak yararlı bulamadığı giriş özelliklerini "atması "dır, oysa bir sinir ağı, ön işleme adımı olarak bazı özellik seçimi yapmadığınız sürece hepsini kullanacaktır.
- Modelin ne yaptığını anlamak önemliyse, ağaçlar çok yorumlanabilir.
- Sadece verinin eksen-paralel bölmeleri olan model modeller, durum böyle olmayabilir.
- Aşırı oturmayı önlemek için muhtemelen ağacı budamak istediğinizden emin olmak istersiniz .
Sinir Ağları
- Daha yavaş (hem eğitim hem de sınıflandırma için) ve daha az yorumlanabilir.
- Verileriniz bir akışa ulaşırsa, stokastik degrade iniş ile artımlı güncellemeler yapabilirsiniz (doğası gereği toplu öğrenme algoritmaları kullanan karar ağaçlarının aksine).
- Daha fazla keyfi veri (doğrusal olmayan etkileşimler vb.) Modelleyebilir ve bu nedenle yeterli eğitim verisi olması koşuluyla daha doğru olabilir. Ancak aşırı uyuma da eğilimli olabilir.
Hangisinin daha iyi olduğunu ve çalışma sürelerini kıyaslamak için her ikisini de uygulamayı deneyip verileriniz üzerinde bazı denemeler yapmayı deneyebilirsiniz. Veya, her iki yöntemi de test etmek için verilerinizin temsili bir örneğiyle aydınlatılan Weka GUI gibi bir şey kullanabilirsiniz .
Karar ağaçlarıyla "torbalama" veya "artırma" algoritmalarının kullanılması, bir miktar basitliği ve hızı korurken doğruluğu artırabilir. Fakat kısacası, hız ve yorumlanabilirlik gerçekten önemliyse, ağaçlar muhtemelen nereden başlayacaktır. Aksi takdirde, duruma bağlıdır ve yapmanız gereken bazı ampirik keşifler olacaktır.