Decision Tree Regression

Kategori: Machine Learning , 03 Aralık 2019 , JanFranco


Decision tree, yani karar ağacı algoritması ünlü, bilinen bir algoritmadır. Support vector gibi hem regression hem de classification için kullanılmaktadır. Bu yazımızda çok basit bir anlatımla regression için kullanacağız. Classification için ayrıntılı bir yazı yazılacaktır. Direk bir örnek üzerinden anlatalım. Daha önce kullandığımız boy, kilo, yaş, üllke verisetini düşünelim. Bu verisetinde boy ve kiloyu kullanarak yaş tahmini yapacağız. Algoritma aşağıdaki gibi bir ağaç oluşturur:


							    --- Yaş = 31.16
					    --- Kilo 85 ---|
			   ---- Boy 183 ---|		    --- Yaş = 26
	   --- Kilo 75 ---|		    --- Yaş = 31.5
	  |		   ---- Boy 165 --- ...
Boy 145---|
	   --- Yaş = 10.4
Veriyi direk parçalara ayırır ve alanlar yaratır. Burada yaş değerleri ortalama değerlerdir. Şöyle anlayabiliriz. Boyu 145'ten küçük olanların yaşlarının ortalaması 10.4'tür. Ve eğer bu ağaç modeline boyu 145'ten küçük bir veri geldiğinde direk olarak yaşını 10.4 olarak tahmin edecektir. Python üzerinden decision tree regression algoritmasını kullanalım:


import pandas as pd
import matplotlib.pyplot as plt
from sklearn.tree import DecisionTreeRegressor

df = pd.read_csv('salaries.csv')
print(df)

level = df.iloc[:, [1]]
salary = df.iloc[:, [2]]
dtReg = DecisionTreeRegressor(random_state=0)
dtReg.fit(level, salary)

plt.scatter(level, salary)
plt.plot(level, dtReg.predict(level))
plt.show()
decision tree

Burada fazla iyi bir sonuçla karşı karşıyayız. Bu verilerden kaynaklanıyor. Her bir pozisyonu bölüyor. Örneğin level olarak 15 tarzı bir veri girseydik sonuç 50.000 çıkacaktı. 20 girseydik de 50.000 çıkacaktı.


Sonraki Yazı: Random Forest
Yorumlar

Henüz bir yorum bulunmuyor.