دوره آموزش ماشین لرنینگ – قسمت دوم
محاسبه قیمت خانه با الگوریتم درخت تصمیم ماشین لرنینگ
در این مطلب قصد داریم تا یک مثال از نوع سوپروایزد ماشین لرنینگ را با استفاده از الگوریتم درخت تصمیم (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