Machine Learning — Prediction Algorithms — Decision Tree —Random Forest — Part 5

Ekrem Hatipoglu
3 min readJul 7, 2018

--

Decision Tree ( Karar ağacı ) yöntemi hem classification ( Sınıflandırma ) hem de regression ( regresyon ) problemlerinde kullanılan makine öğrenmesinin en popüler algoritmalarından biridir. Aynı zamanda veri madenciliği alanındada sıkça kullanılır. Karar ağaçları genellikle insan seviyesinde düşünülebilecek düzeydedir, böylece verileri anlamak ve bazı iyi yorumlar yapmak ve görselleştirmek çok basittir.

Karar ağacı recursively ( yenilemeli ) bir işlemdir, adından da anlaşılacağı üzere bir ağaç yapısı kullanılır. Tek bir düğüm ile başlar ve yeni sonuçlara dallanarak bir ağaç yapısı oluşturulur. Algoritma çalıştığında girilen değer düğümlere bakılarak belli bir yolda ilerler ve bir sonuç verir.

3 çeşit düğüm çeşidi vardır.

  1. Chance Node ( Şans Düğümü ): Daire ile gösterilir. Birden çok olası yol belirtir.
  2. Decision Node ( Karar Düğümü ): Dikdörtgen ile gösterilir. Bir karar verileceğini belirtir.
  3. End Node ( Uç Düğümü ): Üçgen ile gösterilir. Bir sonuç belirtir.
Decision, Chance ve End düğümleri

Not : Yapıcağımız örnekteki veri dosyasını buraya tıklayarak indirebilirsiniz.

Daha önceki Giriş, Linear Regression, Multiple Linear Regression ve Polynomial Regression yazılarına buradan ulaşabiliriz.

Sonuç : Kırmızı = Gerçek Değerler, Mavi =Tahminler

Not : Decision Tree algoritmasında sonuçlar belli bir aralık değerlerine göre verilir.

Örneğin yukarıdaki kod bloğu çalıştırıldığında ekranda True yazmasını beklenmektedir. Algoritma 8 ile 8.5 ya da 10 ile 19.4 değerleri için aynı tahmin değerlerini üretir. Veri setimiz ne kadar fazlaysa sonuç o kadar daha sağlıklı olur.

Random Forest ( Rassal Orman )

Random Forest algoritması decision tree ( Karar ağacı ) gibi hem classification ( Sınıflandırma ) hem de regression ( Regresyon ) problemlerinde kullanılabilir. Regression için çalışma mantığı veri seti küçük parçalara ayırarak karar ağaçları oluşturur. Daha sonra bir tahmin yapılacağı zaman bu karar ağaçlarındaki tahminlerin ortalaması alınır.

Örneğin yaş tahmini yapacağımız bir veri setinden 3 tane karar ağacı oluşturulduğunu düşünelim. Bu karar ağaçlarındaki tahmin değerlerinin 15, 25 ve 20 olduğu varsayalım. Random forest algoritması bir tahmin sonucu üreteceği zaman bu üç değerin ortalamasını alır. Sonuç olarak tahmin değeri

( 15 +25 + 20 ) / 3 = 20 çıkar.

Not : Yapıcağımız örnekte aynı veri seti kullanılmıştır. Yazının üst bölümünde yer alan not kısmından indirebilirsiniz.

Sonuç : Kırmızı = Gerçek Değerler, Mavi =Tahminler

Random Forest algoritmasında bu tahminleri yapılmasını istersek sonuç Decision Tree’ den farklı olacaktır. 8 ile 8.4 karşılaştırması için False 10 ile 19.4 değerleri için ise True sonucunu verir.

Sonuç

Hepsi bu kadar. Bu yazıda, Tahmin algoritmalarından Decision Tree ve Random Forest algoritmalarının ne olduğunu ve Python dili ile nasıl kodlanacağını öğrendiniz.

Okuduğunuz için teşekkürler

--

--