آموزش دیتاساینس و ماشین‌لرنینگ
1.9K subscribers
161 photos
9 videos
134 links
🔴 آموزش مباحث حوزه دیتا شامل علم داده، یادگیری ماشین و تحلیل داده (رضا شکرزاد)

🌀 کانال اخبار و منابع هوش مصنوعی:
@DSLanders

🌀 مشاوره و ارتباط مستقیم:
https://t.iss.one/dslanders_admin

یوتیوب:
Youtube.com/@RezaShokrzad

دوره‌ها:
cafetadris.com/datascience
Download Telegram
👨‍🎓 کرنل در SVM

کرنل یک تابعه که اندازه‌گیری شباهت (یا همبستگی) بین دو نقطه داده در فضای ورودی رو فراهم می‌کنه. به زبان ساده، کرنل تکنیکیه برای تبدیل فضای ویژگی‌های غیرخطی به فضایی که در اون جداسازی خطی امکان‌پذیره.

🔵نحوه عملکرد کرنل‌

کرنل‌ با محاسبه نقطه‌ای (dot product) بین دو نقطه داده در فضای ویژگی، به ما کمک می‌کنه تا درک کنیم که چطور داده‌های مختلف نسبت به هم قرار گرفتن. این کار باعث می‌شه تا الگوریتم SVM بتونه مرزهای تصمیم‌گیری پیچیده‌تری رو در فضاهای با بعد بالاتر تعریف کنه.

🔵انتخاب کرنل مناسب

انتخاب کرنل مناسب بسیار مهمه چون باید بر اساس نوع داده‌ها، میزان پیچیدگی مسئله، و محدودیت‌های محاسباتی صورت بگیره. برای مثال، کرنل RBF در بسیاری از موارد خوب عمل می‌کنه اما ممکنه در مواردی که داده‌ها به شدت پیچیده نیستن، کرنل خطی کافی باشه.

🔵تنظیم پارامترهای کرنل

برای بهینه‌سازی عملکرد SVM، تنظیم پارامترهای کرنل اهمیت بالایی دارد. برای مثال، در کرنل RBF، پارامترهایی مانند gamma و C باید به دقت تنظیم شن تا از overfitting یا underfitting جلوگیری شه.

🔵کاربردهای پیشرفته

در سطح پیشرفته، کرنل‌ها می‌تونن برای مسائل خاص مثل شناسایی الگوها، تجزیه و تحلیل متن، و پردازش تصویر به کار برن. همچنین توسعه کرنل‌های سفارشی برای موارد خاص هم ممکنه که به درک عمیق‌تری از داده‌ها و مسئله نیاز داره.

#Machine_Learning
#SVM

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🤔1👨‍💻1
کوئیز شماره ۵۲: در SVM با استفاده از کرنل RBF، اگر پارامتر gamma بسیار زیاد شه، چه اتفاقی برای مرز تصمیم‌گیری مدل می‌افته؟
Anonymous Quiz
18%
مرز تصمیم‌گیری به صورت Soft Margin تعریف میشه
15%
مرز تصمیم‌گیری به صورت Soft Margin تعریف میشه
8%
تأثیری نداره
59%
مدل دچار overfitting می‌شه
👍6😎2🤔1
💡چرا از Kernel Trick استفاده میکنم؟

تابع کرنل به ما امکان می‌ده داده‌ها رو به فضایی با ابعاد بالاتر تبدیل کنیم، در حالی که ترفند کرنل (Kernel Trick) این تبدیل رو بدون نیاز به محاسبات پیچیده ممکن می‌کنه.

زمانیکه تعداد ابعاد بالا می‌ره، محاسبات بیش از حد پیچیده و پرهزینه می‌شن. در چنین مواردی، Kernel Trick به ما امکان می‌ده در فضای ویژگی اصلی عمل کنیم بدون اینکه مختصات داده‌ها رو در فضای بعدی بالاتر محاسبه کنیم و روشی کارآمدتر و کم هزینه‌تر برای تبدیل داده‌ها به فضاهای با بعد بالاتر هست.

#Machine_Learning
#SVM

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👨‍💻2👌1
👨‍🎓 انواع کرنل

تابع هسته در SVM به ما امکان می‌ده تا داده‌ها رو از فضای ویژگی اولیه به یک فضای ویژگی با ابعاد بیشتر (معمولاً با بعد بی‌نهایت) تبدیل کنیم، در اینجا به بررسی انواع مختلف توابع Kernel در SVM می‌پردازیم:

🔵Polynomial Kernel Function

تابع هسته چندجمله‌ای به ما امکان می‌ده تا ویژگی‌های داده‌ها رو در درجات مختلف چندجمله‌ای بررسی کنیم. این تابع برای داده‌هایی که ویژگی‌هاشون روابط پیچیده و درجه‌دار هستن، مناسبه.

🔵Gaussian RBF Kernel Function

این تابع به شکل گسترده‌ای برای مواردی که الگو دقیق و یا توزیع داده‌ها مشخص نیست، استفاده می‌شه. این تابع می‌تونه داده‌ها رو در فضایی با بعد بی‌نهایت نمایش بده.

🔵Sigmoid Kernel Function

تابع هسته سیگموئید معمولاً برای شبکه‌های عصبی استفاده می‌شه و می‌تونه برای تبدیل فضای ویژگی اولیه به فضای ویژگی‌هایی که شباهت به نورون‌های عصبی دارن به کار برده شه.

🔵Linear Kernel Function

تابع هسته خطی ساده‌ترین تابع هسته است که فقط میزان شباهت یا همپوشانی دو ویژگی رو اندازه‌گیری می‌کنه و برای داده‌هایی که از قبل قابل جداسازی با یک مرز خطی هستن، مناسبه.

🔵Hyperbolic Tangent Kernel Function

این تابع هسته، مثل تابع سیگموئید، برای شبیه‌سازی نورون‌های عصبی استفاده می‌شه و می‌تونه روابط پیچیده بین داده‌ها رو نشان بده.

🔵Graph Kernel Function

برای داده‌هایی که به صورت گرافیکی هستن، مثل شبکه‌های اجتماعی یا ساختار مولکول‌ها، می‌تونه مفید باشه.

🔵String Kernel Function

برای داده‌هایی که به صورت رشته‌هایی از کاراکترها هستن، مثل دی‌ان‌ای یا متن، کاربرد داره.

🔵Tree Kernel Function

این تابع هسته برای داده‌هایی که دارای ساختار درختی هستن، مثل ساختارهای زبانی یا سلسله مراتب فایل‌ها، مناسبه.

انتخاب تابع هسته مناسب برای یک مسئله خاص، می‌تونه تأثیر زیادی روی کارایی مدل SVM داشته باشه. به همین دلیل، لازمه تا با استفاده از روش‌های مختلف اعتبارسنجی مثل اعتبارسنجی متقابل، توابع هسته مختلف رو آزمایش و بهترین تابع رو برای داده‌ها انتخاب کرد. در تصویر، اعمال چهار نوع اصلی توابع Kernel روی دیتاست Iris قابل مشاهده است.

#Machine_Learning
#SVM

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👌42
👨‍🎓 حاشیه در Sklearn

پارامتر C در کتابخانه sklearn نقش مهمی برای تعیین حاشیه و نحوه در نظر گرفتن نویز داده‌هاست. در کد زیر پارامتر C به عنوان penalty در نظر گرفته شده. Kernel در اینجا linear انتخاب شده چون در حال کار با حاشیه‌های خطی هستیم. تصویر پست نتیجه اجرای کد زیره:

import matplotlib.pyplot as plt
import numpy as np
from sklearn import svm

np.random.seed(0)
X = np.r_[np.random.randn(20, 2) - [2, 2], np.random.randn(20, 2) + [2, 2]]
Y = [0] * 20 + [1] * 20

fig, axes = plt.subplots(1, 2, figsize=(10, 5))

for i, (name, penalty) in enumerate([("unreg", 1), ("reg", 0.05)]):
clf = svm.SVC(kernel="linear", C=penalty)
clf.fit(X, Y)

w = clf.coef_[0]
a = -w[0] / w[1]
xx = np.linspace(-5, 5)
yy = a * xx - (clf.intercept_[0]) / w[1]

margin = 1 / np.sqrt(np.sum(clf.coef_**2))
yy_down = yy - np.sqrt(1 + a**2) * margin
yy_up = yy + np.sqrt(1 + a**2) * margin

axes[i].plot(xx, yy, "k-")
axes[i].plot(xx, yy_down, "k--")
axes[i].plot(xx, yy_up, "k--")
axes[i].scatter(clf.support_vectors_[:, 0], clf.support_vectors_[:, 1], s=80, facecolors="none", zorder=10, edgecolors="k")
axes[i].scatter(X[:, 0], X[:, 1], c=Y, zorder=10, edgecolors="k")
axes[i].set_xlim(-4.8, 4.2)
axes[i].set_ylim(-6, 6)
axes[i].set_title(f"C = {penalty}")

plt.tight_layout()
plt.show()


#Machine_Learning
#SVM

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2👨‍💻2
💡قضیه مرسر چیه و چه ارتباطی با SVM داره؟

قضیه مرسر (Mercer's Theorem) یک نتیجه نظری در ریاضیاته که اساس کار هسته‌ها (kernels) در SVM رو تشکیل می‌ده. قضیه مرسر میگه اگه یک تابع هسته‌ای خاصیت خوبی مثل مثبت بودن و تقارن داشته باشه، می‌تونیم ازش به عنوان یک ابزار برای مقایسه نقاط داده در یک فضای پیچیده و بزرگ‌تر استفاده کنیم.

در SVM از قضیه مرسر برای تبدیل داده‌ها به فضای ویژگی با بعد بالاتر استفاده می‌شه تا در اون فضا امکان جداسازی خطی داده‌ها فراهم شه، حتی اگه داده‌ها در فضای ورودی اصلی به صورت خطی جدا نشدنی باشن.

#Machine_Learning
#SVM

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
5👌3🔥1
👨‍🎓 کرنل در Sklearn

در SVM، هدف پیدا کردن یک صفحه (یا هایپرپلین) هست که داده‌های دو کلاس مختلف رو از هم جدا کنه. کرنل یک تابعه که برای محاسبه شباهت بین دو نقطه در فضای ویژگی استفاده می‌شه. کرنل‌ها به ما این امکان رو می‌دن که مسائل غیر خطی رو با تبدیل داده‌ها به یک فضای ویژگی با ابعاد بیشتر به صورت خطی قابل جداسازی کنیم.

🔵 انواع کرنل‌ها در sklearn

کتابخانه sklearn چندین کرنل مختلف رو پیاده‌سازی می‌کنه:

🔵کرنل خطی (Linear): ساده‌ترین کرنل که در مسائل جداسازی خطی استفاده می‌شه.

🔵کرنل چندجمله‌ای (Polynomial): این کرنل به ما اجازه می‌ده تا روابط غیرخطی بین داده‌ها رو مدل کنیم.

🔵کرنل RBF (Radial Basis Function): این کرنل برای مسائلی که در اونها فضای ویژگی‌ها واضح نیست یا بسیار پیچیده‌ست، مفیده.

🔵کرنل سیگموید (Sigmoid): این کرنل بیشتر در شبکه‌های عصبی استفاده می‌شه.

🔵 پارامترهای کرنل‌ها

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

🔵کرنل خطی: C یا پارامتر تنظیم، که نشون‌دهنده میزان اهمیت طبقه‌بندی نادرسته.

🔵کرنل چندجمله‌ای
- degree: درجه کرنل چندجمله‌ای
- gamma: تعیین‌کننده میزان تاثیر یک نمونه واحد
- coef0: مستقل از کرنل، که در تابع کرنل چندجمله‌ای استفاده می‌شه

🔵کرنل RBF: پارامتر gamma در اینجا هم مثل کرنل چندجمله‌ای، تعیین‌کننده میزان تاثیر یک نمونه واحده.

🔵کرنل سیگموید: دارای پرامترهای gamma و coef0 که براساس تعریف گفته شده عمل می‌کنن.

🔵 انتخاب و تنظیم کرنل

انتخاب کرنل و تنظیم پارامترهاش بر اساس نوع داده‌ها و مسئله‌ای که می‌خوایم حل کنیم، متفاوته. به طور کلی، می‌تونیم از روش‌های ارزیابی متقاطع (Cross Validation) و جستجوی شبکه‌ای (Grid Search) برای پیدا کردن بهترین ترکیب کرنل و پارامترهاش استفاده کنیم. مثال کد SVM با کرنل RBF در sklearn:

from sklearn.svm import SVC
model = SVC(kernel='rbf', gamma=0.1, C=1)
model.fit(X_train, y_train)


#Machine_Learning
#SVM

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81👨‍💻1
💡ماشین بردار پشتیبان ساختاریافته چیه؟

ماشین بردار پشتیبان ساختاریافته (Structured SVM) یک توسعه از مدل‌های SVM استاندارده که برای پیش‌بینی خروجی‌هایی با ساختارهای پیچیده مثل دنباله‌ها، درخت‌ها یا گراف‌ها به کار می‌ره. به جای پیش‌بینی برچسب‌های ساده، SVM ساختاریافته می‌تونه برای حل مسائلی استفاده شه که در اونها خروجی‌ها دارای وابستگی‌های درونی هستن.

برای مثال، در تشخیص دستور زبان در پردازش زبان طبیعی یا در تشخیص اشیاء در پردازش تصویر که هر عنصر در خروجی به عناصر دیگه وابسته‌ست. SVM ساختاریافته از یک تابع هزینه استفاده می‌کنه که اختلاف بین خروجی پیش‌بینی شده و خروجی واقعی رو بر اساس ساختارشون اندازه‌گیری می‌کنه. در نتیجه امکان تعمیم مدل رو به مسائل پیچیده‌تر از دسته‌بندی استاندارد فراهم می‌کنه.

#Machine_Learning
#SVM

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61🔥1
پست‌های هفته‌ای که گذشت رو این‌جا پیدا کنین!

🔺 آموزشی

🔵تعریف SVM و مرز تصمیم گیری
👉🔗 https://t.iss.one/data_ml/177

🔵بررسی کامل Margine در SVM
👉🔗 https://t.iss.one/data_ml/180

🔵کرنل در SVM
👉🔗 https://t.iss.one/data_ml/184

🔵انواع کرنل
👉🔗 https://t.iss.one/data_ml/187

🔵حاشیه در Sklearn
👉🔗 https://t.iss.one/data_ml/189

🔵کرنل در Sklearn
👉🔗 https://t.iss.one/data_ml/192

🔺 کوئیز

🔵کوئیز شماره ۵۰: تابع هسته در SVM
👉🔗 https://t.iss.one/data_ml/178

🔵کوئیز شماره ۵۱: تابع هزینه در SVM
👉🔗 https://t.iss.one/data_ml/182

🔵کوئیز شماره ۵۲: پارامتر gamma در کرنل RBF
👉🔗 https://t.iss.one/data_ml/185

🔵کوئیز شماره ۵۳: مسئله دوگانه
👉🔗 https://t.iss.one/data_ml/188

🔵کوئیز شماره ۵۴: داده‌های نامتعادل در SVM
👉🔗 https://t.iss.one/data_ml/190

🔵کوئیز شماره ۵۵: پارامتر coef0 در کرنل polynomial
👉🔗 https://t.iss.one/data_ml/193

🔺 نکته

🔵محاسبه احتمال توسط SVM
👉🔗 https://t.iss.one/data_ml/179

🔵متغییر Slack در ماشین بردار پشتیبان
👉🔗 https://t.iss.one/data_ml/183

🔵بررسی Kernel Trick در SVM
👉🔗 https://t.iss.one/data_ml/186

🔵قضیه مرسر در SVM
👉🔗 https://t.iss.one/data_ml/191

🔵ماشین بردار پشتیبان ساختاریافته
👉🔗 https://t.iss.one/data_ml/194

#Weekend
#Machine_Learning
#SVM

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1
👩‍🎓 برنامه آموزشی هفته: الگوریتم درخت تصمیم یا Decision Tree

🟠شنبه: تعریف درخت تصمیم

🔵یک‌شنبه: اصول و مفاهیم سودمندی (Gain)

🟢دوشنبه: مقایسه شاخص Gini و Entropy

🔴سه‌شنبه: کاربردها و مزایای درخت تصمیم

🟠چهارشنبه: کد درخت تصمیم از پایه (Scratch)

🔵پنج‌شنبه: درخت تصمیم در Sklearn

🟢جمعه: جمع بندی

#Machine_Learning
#Decision_Tree

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1
Audio
🟡 توضیحات وبینار رایگان یادگیری ماشین لرنینگ و تحلیل داده با ChatGPT

🔺 سرفصل‌ها

🔵نحوه اصولی پرامپت نویسی در ChatGPT
🔵شخصی سازی ChatGPT
🔵یادگیری ماشین لرنینگ با کمک ChatGPT
🔵تحلیل داده با ChatGPT
🔵دریافت برنامه مطالعاتی بلند و کوتاه مدت

📆 یکشنبه، ۸ بهمن ساعت ۱۹

🟢 رایگان ثبت‌نام کنین:‌
👉📎 https://ctdrs.ir/cr15311

@DSLanders | دی‌اس‌لندرز
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1
👨‍🎓 تعریف درخت تصمیم

درخت تصمیم به عنوان یکی از قدرتمندترین الگوریتم‌های یادگیری نظارت‌شده، در هر دو زمینه Classification و Regression کاربرد داره.

این الگوریتم برای تصمیم‌گیری‌ها و پیش‌بینی‌ها از ساختار درخت‌ مانند استفاده می‌کنه و در الگوریتم‌های پیچیده‌تر مثل جنگل تصادفی برای آموزش روی زیرمجموعه‌های مختلف داده‌های آموزشی استفاده می‌شه.

🔵 مفاهیم پایه در درخت تصمیم

🔵گره ریشه (Root Node): نقطه شروع درخت که مجموعه داده کامل رو نشون می‌ده و بهترین ویژگی داده‌ها رو مشخص می‌کنه.

🔵گره تصمیم/داخلی (Decision/Internal Node): نقاطی که در اونها تصمیم‌گیری‌ها بر اساس ویژگی‌های خاص انجام می‌شن و به گره‌های برگ یا سایر گره‌های داخلی متصل می‌شن.

🔵گره برگ/پایانی (Leaf/Terminal Node): نقاط پایانی درخت که نتیجه نهایی یا پیش‌بینی الگوریتم رو نشون می‌دن و گره فرزند ندارن.

🔵 مراحل ساخت درخت تصمیم

🔵انتخاب ویژگی (Feature Selection): بهترین ویژگی بر اساس معیارهایی مانند شاخص Gini، Entropy و بهره اطلاعاتی (Information Gain) انتخاب می‌شه.

🔵شاخه‌زنی (Branching): داده‌ها بر اساس ویژگی انتخاب شده به زیرمجموعه‌هایی تقسیم می‌شن که هر کدوم نشون دهنده یک تصمیم ممکن هستن.

🔵هرس کردن (Pruning): برای جلوگیری از بیش‌برازش، بخش‌هایی از درخت که به بهبود مدل کمک نمی‌کنن حذف می‌شن.

🔵 اصطلاحات و مفاهیم پیشرفته در درخت تصمیم

🔵ناخالصی میزان پراکندگی یا تفاوت‌های داده‌ها در یک زیرمجموعه رو نشون می‌ده. شاخص Gini و Entropy دو روش رایج برای سنجش ناخالصی در درخت‌های تصمیم هستن و در تعیین بهترین تقسیم‌ها برای دسته‌بندی داده‌ها کاربرد دارن.

🔵تغییرپذیری اندازه‌گیری می‌کنه که چقدر متغیر‌های پیش‌بینی‌شده و هدف در نمونه‌های مختلف یک مجموعه داده متغیر هستن. این برای مشکلات رگرسیون در درخت‌های تصمیم استفاده می‌شه و با استفاده از معیارهایی مثل MSE و MAE اندازه‌گیری می‌شه.

🔵بهره اطلاعاتی معیاری برای سنجش کاهش ناخالصی در زمان تقسیم داده‌ها بر اساس یک ویژگی در درخت تصمیمه. این شاخص کمک می‌کنه تا ویژگی‌هایی رو انتخاب کنیم که زیرمجموعه‌های دقیق‌تر و خالص‌تری ایجاد می‌کنن.

#Machine_Learning
#Decision_Tree

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥1
💡مفهوم Tree Bagging چه تعریفی داره؟

مفهوم Tree Bagging که به عنوان Bootstrap Aggregating هم شناخته می‌شه، یک روش یادگیری جمعی هست که در اون چندین مدل درخت تصمیم به طور مستقل از هم روی زیرمجموعه‌های مختلفی از داده‌ها آموزش می‌بینن و بعد نتایج‌شون ترکیب می‌شه.

هدف از این روش بهبود عملکرد و کاهش خطای مدل با کاهش واریانس پیش‌بینی‌هاست. Bagging به خصوص در جلوگیری از Overfitting موثره، چون با ترکیب پیش‌بینی‌های چندین درخت، حساسیت مدل نسبت به نوسانات تصادفی داده‌های آموزشی کاهش پیدا می‌کنه. جنگل تصادفی (Random Forest) یکی از معروف‌ترین الگوریتم‌هاییه که از Tree Bagging استفاده می‌کنه.

#Machine_Learning
#Decision_Tree

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52👌2
👨‍🎓 اصول و مفاهیم بهره اطلاعاتی (Information Gain)

یکی از مفاهیم کلیدی در طراحی و بهینه‌سازی درختان تصمیم، محاسبه و استفاده از "سود" (Gain) هست. سود در الگوریتم درخت تصمیم به معنی کاهش ناخالصیه که در نتیجه تقسیم یک گره بر اساس یک ویژگی خاص به دست میاد.

🔵نحوه محاسبه سود

محاسبه بهره اطلاعاتی که از طریق تقسیم داده‌ها بر مبنای ویژگی‌های خاص به دست می‌آید، به ما اجازه می‌ده تا درک کنیم چقدر این تقسیم می‌تونه مفید باشه. این مقدار، که به عنوان بهره اطلاعاتی شناخته می‌شه، به صورت اختلاف بین انتروپی گره والد و میانگین وزن‌دار انتروپی‌های گره‌های فرزندی که از تقسیم حاصل می‌شن، تعریف میشه.

بهره اطلاعاتی = انتروپی(والد) - [میانگین وزن‌دار] * انتروپی(فرزندان)

که در این فرمول:

🔵انتروپی(والد): انتروپی گره والد قبل از تقسیم.

🔵انتروپی(فرزندان): انتروپی هر یک از گره‌های فرزند بعد از تقسیم.

🔵میانگین وزن‌دار: میانگین وزن‌دار انتروپی‌های گره‌های فرزند هست بر اساس نسبت تعداد نمونه‌ها در هر گره فرزند.

هر وقت مقدار بهره اطلاعاتی که از تقسیم داده‌ها بر اساس یک ویژگی خاص به دست می‌آید بیشتر باشه، نشون می‌ده که ویژگی مورد نظر اطلاعات بیشتری رو برای تمایز قرار دادن بین دسته‌های مختلف فراهم می‌کنه.

به عبارت دیگه، ویژگی‌ای که بهره اطلاعاتی بالاتری داره، در تقسیم‌بندی داده‌ها و ایجاد شاخه‌های مشخص‌تر و دقیق‌تر در درخت تصمیم، مؤثرتره. این موضوع به بهبود کیفیت مدل‌سازی و افزایش دقت پیش‌بینی‌های مدل کمک می‌کنه.

🔵 معیارهای ناخالصی

برای محاسبه ناخالصی از معیارهای مختلفی استفاده می‌شه که شامل Entropy و شاخص Gini هست. این معیارها به ما کمک می‌کنن تا میزان ناخالصی (یا همگن نبودن) داده‌ها در یک گره از درخت رو محاسبه کنیم. هر چقدر داده‌ها ناهمگن‌تر باشن (یعنی توزیع کلاس‌ها یکنواخت نباشه)، انتروپی بیشتره.

🔵استفاده از Gain در ساخت درخت تصمیم

زمان ساخت یک درخت تصمیم، برای انتخاب ویژگی‌هایی که بر اساس اونها تقسیم‌بندی انجام می‌شه، از معیار سود استفاده می‌کنیم. ویژگی‌ای که بیشترین سود رو داره (یعنی بیشترین کاهش در ناخالصی رو به دنبال داره) به عنوان ویژگی برای تقسیم در نظر گرفته می‌شه. این فرایند به صورت بازگشتی ادامه داره تا زمانی که تمامی داده‌ها به خوبی دسته‌بندی شن یا شرایط خاصی برای توقف فرایند برآورده شه.

#Machine_Learning
#Decision_Tree

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🔥1
کوئیز شماره ۵۷: اگه در محاسبه بهره اطلاعاتی برای یک گره در درخت تصمیم، انتروپی گره‌های فرزندی بعد از تقسیم به شدت کاهش پیدا کنن، این نتیجه به چه معنیه؟
Anonymous Quiz
15%
ویژگی استفاده شده برای تقسیم ممکنه بیش از حد تخصصی باشه.
35%
ویژگی استفاده شده برای تقسیم بسیار کارآمده.
46%
تقسیم احتمالا به بیش‌برازش منجر شده.
4%
تقسیم هیچ تأثیری روی ناخالصی داده‌ها نداره.
😎6🤔1👌1
💡ارتباط بین سود اطلاعاتی و نسبت سود اطلاعاتی چیه؟

سود اطلاعاتی، که با عنوان "Information Gain" شناخته می‌شه، میزان بهبود پیش‌بینی‌هایی هست که از انتخاب یک ویژگی خاص در یک گره از درخت تصمیم به دست میاد و نشون می‌ده که با این انتخاب چقدر ناخالصی کاهش پیدا کرده. اما این شاخص گاهی اوقات به ویژگی‌هایی که تعداد مقادیر بالا دارن سوگیری می‌کنه، حتی اگر این ویژگی‌ها اطلاعات چندان مفیدی برای مدل فراهم نکنن.

نسبت سود اطلاعاتی که بهش "Information Gain Ratio" گفته می‌شه، برای حل این مشکل توسعه داده شده. این معیار، سود اطلاعاتی رو تعدیل می‌کنه به طوری که تاثیر تعداد مقادیر ممکن هر ویژگی رو در نظر می‌گیره و از این طریق، گرایش به انتخاب ویژگی‌های با تعداد زیاد مقادیر رو کاهش می‌ده. در نتیجه نسبت سود اطلاعاتی باعث می‌شه که انتخاب ویژگی‌ها در مدل سازی بیشتر بر اساس کارایی واقعی‌شون در تقسیم‌بندی داده‌ها باشه و کمتر تحت تاثیر تعداد زیاد مقادیر ویژگی قرار بگیره.

#Machine_Learning
#Decision_Tree

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👨‍💻21