ماشین لرنینگ

دوره آموزش ماشین لرنینگ – قسمت دوم

محاسبه قیمت خانه با الگوریتم درخت تصمیم ماشین لرنینگ

در این مطلب قصد داریم تا یک مثال از نوع سوپروایزد ماشین لرنینگ را با استفاده از الگوریتم درخت تصمیم (Decision tree) مرحله به مرحله با هم اجرا کنیم.
در قسمت قبل (اول) از دوره آموزشی ماشین لرنینگ، با مفاهیم پایه مثل تعریف هوش مصنوعی، یادگیری ماشین و یادگیری عمیق یا دیپ لرنینگ آشنا شدیم و همانطور که گفته شد الگوریتم های ماشین لرنینگ به سه گروه زیر تقسیم می شوند:

  • یادگیری با ناظر (Supervised Learning – Inductive)
  • یادگیری بدون ناظر (Unsupervised Learning – Inductive)
  • یادگیری نیمه نظارتی (Semi Supervised Learning – Inductive)

لینک مشاهده دوره آموزش ماشین لرنینگ – قسمت اول

الگوریتم های ماشین لرنینگ
الگوریتم های ماشین لرنینگ

 

الگوریتم درخت تصمیم

یکی از روش های بسیار کاربردی در داده کاوی درخت تصمیم یا به اختصار (DTs) است. اساس کار درخت تصمیم به این صورت است که در مرحله یک پرسش مطرح می شود و متناسب با جواب، مرحله بعدی اجرا می شود.

مثال برای درخت تصمیم گیری

امروز هوا ابری است؟
اگر جواب بله بود، پس چتر برمی دارم.
اگر جواب خیر بود، پس عینک آفتابی برمی دارم.

عمق این درخت می تواند بر اساس بله و خیرها ادامه پیدا کند.

مثال برای درخت تصمیم گیری
مثال برای درخت تصمیم گیری

 

مثال محاسبه قیمت خانه در املاک با استفاده از ماشین لرنینگ و درخت تصمیم

به نظر شما یک متخصص ملک، چگونه قیمت خانه را برآورد می کند؟ اگر مفهوم درخت تصمیم را در نظر بگیرید، اغلب متخصصین املاک نیز هنگام برآورد قیمت، در ذهن خود یک درخت تصمیم را برای خانه مورد نظر ایجاد می کنند و در پایان قیمت متناسب با آن خانه را پیشنهاد می دهند. برای مثال در سطح اول این سوال مطرح می شود آیا خانه نوساز است؟ و در سطوح بعدی تعداد اتاق خواب، داشتن آسانسور و… . در شکل زیر نمونه ای از این مثال را مشاهده می کنید.

مثال محاسبه قیمت خانه در املاک با استفاده از ماشین لرنینگ و درخت تصمیم
مثال محاسبه قیمت خانه در املاک با استفاده از ماشین لرنینگ و درخت تصمیم

 

نمونه کد درخت تصمیم در یادگیری ماشین

 
import pandas as pd
from sklearn.tree import DecisionTreeRegressor

file_path = 'train.csv'

home_data = pd.read_csv(file_path)
home_data.head()

y = home_data.SalePrice
feature_columns = ['LotArea', 'YearBuilt', '1stFlrSF', '2ndFlrSF', 'FullBath', 'BedroomAbvGr', 'TotRmsAbvGrd']
X = home_data[feature_columns]

mytest_model = DecisionTreeRegressor()
mytest_model.fit(X, y)

print("First in-sample predictions:", mytest_model.predict(X.head()))
print("Actual target values for those homes:", y.head().tolist())

نتیجه اجرای کد بالا به صورت زیر است.

First in-sample predictions: [208500. 181500. 223500. 140000. 250000.]

Actual target values for those homes: [208500, 181500, 223500, 140000, 250000]

 

محاسبه قیمت خانه در املاک با استفاده از ماشین لرنینگ و درخت تصمیم

 

فایل های مرتبط:

تمامی کدهای نوشته شده در این مطلب، به صورت یکجا از لینک زیر قابل دریافت هستند:
دانلود کدها و فایل train.csv

دانلود فایل train.csv از Kaggle

علی فلاحی

علاقه مند به ماشین لرنینگ و ریکامندر سیستم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


The reCAPTCHA verification period has expired. Please reload the page.

دکمه بازگشت به بالا