Decision Tree(Karar Ağacı)
Decision Tree(Karar Ağacı) hem sınıflandırma hemde regression işlemini gösterebilen makine öğrenmesi algoritmaların’dan biridir. Kullanımı çok basit olan bir algoritmadır. Decision tree’de karar en başta verilen değerlere göre hareket edilerek devam edilir. En başta verilen root(kök) koşullarla 2 kol’a ayrılır ve buradan sağlanan koşul ile devam edilir.
Şimdi Decision Tree(Karar Ağacı) kullanarak bir tahminleme yapmak istiyorum. Benim elimde bir kişinin iş tecrübesi yıllarına göre sahip olduğu maaşı gösteren veriler var. Ben bu verileri kullanarak küsuratlı iş deneyimine sahip olan kişinin alabileceği maaş miktarını tahmin ettirmeye çalışacağım.
import numpy as np import pandas as pd import matplotlib.pyplot as plt data=pd.read_csv("salary.csv",sep=";") print(data.head()) x=data.iloc[:,0].values.reshape(-1,1) y=data.iloc[:,1].values.reshape(-1,1)
İlk olarak yukarıda gördüğünüz gibi kütüphaneleri projeme ekliyorum daha sonra pandas’ı kullanarak csv tipinde olan verimi ekliyorum. Bu veri 2 sütun’dan oluştuğu için x ve y değerlerini atama işlemini iloc kullanarak atıyorum.
from sklearn.tree import DecisionTreeRegressor tree_regression=DecisionTreeRegressor() tree_regression.fit(x,y) x2=np.arange(min(x),max(x),0.01).reshape(-1,1) y_head=tree_regression.predict(x2)
Sklearn kütüphanesini kullanarak Decision Tree Regressor‘u projeme ekliyorum daha sonra bu regression modelini kullanarak verilerimi fit ediyorum. Daha sonra yıl değerlerini tahmin edebilmem için en az deneyim sahip olduğu 1. yıl ile en yüksek deneyime sahip olduğu 10. yıl arasında ne kadar gelir elde ettiğini öğrenmek için bir değişken atıyorum ve bu değişkeni 1 ile 10 arasında 0.01 arttırarak değerlerini tahmin etmeye çalışıyorum. En son olarak’da verinin grafiğini ekrana çizdiren kodu yazıyorum.
plt.scatter(x,y,color="red") plt.plot(x2,y_head,color="green") plt.xlabel("Years Experience") plt.ylabel("Salary")
Yukarıdaki gibi bir görüntü elde ediyoruz. Soru ve görüşlerinizi e-mail veya yorum olarak belirtebilirsiniz.