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

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

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

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

دوره‌ها:
cafetadris.com/datascience
Download Telegram
👨‍🏫 مدل‌های Sklearn برای رگرسیون خطی

توی این آموزش به بررسی مدل‌های رگرسیون خطی در کتابخانه scikit-learn (sklearn)، که یکی از کتابخانه‌های محبوب در زمینه یادگیری ماشینه، می‌پردازیم. scikit-learn ابزارهای قدرتمندی رو برای ایجاد، آموزش و ارزیابی مدل‌های رگرسیون خطی در اختیار ما قرار می‌ده.

🔵Simple and Multiple Linear Regression

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

from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)


🔵Ridge Regression

این مدل رگرسیون خطی با اعمال یه جریمه (alpha) روی مجموع مربعات ضرایب عمل می‌کنه، که این کار به منظور پیشگیری از پدیده بیش‌برازش انجام می‌شه.

from sklearn.linear_model import Ridge
model = Ridge(alpha=1.0)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)


🔵Lasso Regression

رگرسیون Lasso با اضافه کردن یه جریمه به مجموع مطلق ضرایب از بیش‌برازش جلوگیری می‌کنه.

from sklearn.linear_model import Lasso
model = Lasso(alpha=1.0)
model.fit(X_train, y_train)
y_pred = model.predict(X_test)



🔵Elastic-Net Regression

این مدل ترکیبی از Ridge و Lasso هست و هر دو نوع جریمه رو اعمال می‌کنه.

from sklearn.linear_model import ElasticNet
model = ElasticNet(alpha=1.0, l1_ratio=0.5) # l1_ratio تعادل بین ریج و لاسو را تعیین می‌کند
model.fit(X_train, y_train)
y_pred = model.predict(X_test)


🔵مراحل کلیدی در استفاده از این مدل‌ها در sklearn

۱. وارد کردن کلاس مربوطه: اول باید کلاس مربوط به مدل مورد نظر رو از sklearn وارد کنین.
۲. ایجاد نمونه مدل: با استفاده از کلاس وارد شده، یه نمونه از مدل ایجاد کنین.
۳. آموزش مدل: مدل رو با استفاده از داده‌های آموزشی آموزش بدین.
۴. ارزیابی مدل: با استفاده از داده‌های تست، عملکرد مدل رو ارزیابی کنین.

در نهایت، scikit-learn به شما این امکان رو می‌ده که با استفاده از این مدل‌ها، برآورد دقیق و قابل اطمینانی از روابط بین متغیرهای مختلف ایجاد کنین، که یکی از مهم‌ترین بخش‌های یادگیری ماشینه.

#Data_science
#Machine_Learning
#Regression

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

🔺 آموزشی

🔵تعریف و انواع رگرسیون (Regression)
👉🔗 https://t.iss.one/data_ml/58

🔵کاربردهای رگرسیون (Applications of Regression)
👉🔗 https://t.iss.one/data_ml/61

🔵تابع هزینه در رگرسیون خطی
👉🔗 https://t.iss.one/data_ml/64

🔵روش‌های بهینه سازی در رگرسیون
👉🔗 https://t.iss.one/data_ml/66

🔵آموزش r2-score: شاخص ارزیابی رگرسیون
👉🔗 https://t.iss.one/data_ml/69

🔵مدل‌های Sklearn برای رگرسیون خطی
👉🔗 https://t.iss.one/data_ml/72

🔺 کوئیز

🔵کوئیز شماره ۱۵: رگرسیون خطی
👉🔗 https://t.iss.one/data_ml/59

🔵کوئیز شماره ۱۶: کاربردهای رگرسیون خطی
👉🔗 https://t.iss.one/data_ml/62

🔵کوئیز شماره ۱۷: تابع هزینه در رگرسیون
👉🔗 https://t.iss.one/data_ml/65

🔵کوئیز شماره ۱۸: جلوگیری از بیش‌برازش در GD
👉🔗 https://t.iss.one/data_ml/67

🔵کوئیز شماره ۱۹: سنجه r2-score
👉🔗 https://t.iss.one/data_ml/70

🔵کوئیز شماره ۲۰: رگرسیون Ridge و Lasso
👉🔗 https://t.iss.one/data_ml/73

🔺 نکات

🔵بررسی اهمیت توزیع نرمال خطاها در رگرسیون خطی
👉🔗 https://t.iss.one/data_ml/60

🔵هم‌خطی؛ یه مانع مهم در رگرسیون خطی
👉🔗 https://t.iss.one/data_ml/63

🔵مقایسه عملکرد GD و NE در مواجهه با داده‌های پرت
👉🔗 https://t.iss.one/data_ml/68

🔵کاربرد Cross-Validation برای تخمین r2-score
👉🔗 https://t.iss.one/data_ml/71

#Weekend

#Machine_Learning
#Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍104🔥1
🟡 وبینار رایگان: معرفی منابع مطالعاتی و بازارکار ماشین لرنینگ

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

🔺 سرفصل‌ها
🔵 ماشین لرنینگ چیست؟
🔵 تفاوت دیپ لرنینگ و ماشین لرنینگ
🔵 تفاوت ماشین لرنینگ و هوش مصنوعی
🔵 مدل‌های معروف مورداستفاده در ماشین لرنینگ
🔵 پیش‌نیازهای یادگیری ماشین لرنینگ
🔵 منابع مطالعاتی ماشین لرنینگ
🔵 نحوه کار پیداکردن شغل در زمینه ماشین لرنینگ

📆 یکشنبه، ۲۶ آذر
ساعت ۲۰

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

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82👏1
👩‍🎓 برنامه آموزشی هفته: رگرسیون لجستیک (Logistic Regression)

🟠شنبه: تعریف و انواع رگرسیون لجستیک

🔵یک‌شنبه: کاربردها

🟢دوشنبه: تابع هزینه

🔴سه‌شنبه: روش‌های بهینه سازی

🟠چهارشنبه: معیار ارزیابی

🔵پنج‌شنبه: مدل‌های Sklearn

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

#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍1🔥1👨‍💻1
👨‍🏫 تعریف و انواع رگرسیون لجستیک (Logistic Regression)

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

🔵انواع رگرسیون لجستیک

🔵رگرسیون لجستیک دوکلاسه (Binary Logistic Regression): این نوع رگرسیون برای مسائلی استفاده می‌شه که تنها دو دسته یا کلاس دارن. برای مثال، تشخیص بیماری (مثبت یا منفی) یا فیلتر ایمیل‌های اسپم (اسپم یا غیر اسپم).

🔵رگرسیون لجستیک چندکلاسه (Multinomial Logistic Regression): این نوع برای دسته‌بندی‌هایی که بیش از دو کلاس دارن، به کار می‌ره. مثال‌هایی از این دسته‌بندی شامل تشخیص نوع گیاه بر اساس ویژگی‌هاش یا تعیین دسته‌بندی محصولات در یک فروشگاه آنلاینه.

🔵رگرسیون لجستیک ترتیبی (Ordinal Logistic Regression): این نوع برای مواردی که کلاس‌ها ترتیب دارن ولی فاصله معناداری بین‌شون وجود نداره، استفاده می‌شه. برای مثال، رتبه‌بندی رضایت مشتریان (کم، متوسط، زیاد).

🔵مزایای رگرسیون لجستیک

🔵سادگی و سرعت بالا: رگرسیون لجستیک به دلیل ساختار نسبتاً ساده‌اش، به سرعت قابل پیاده‌سازی و اجراست.

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

🔵مقاومت در برابر پراکندگی: رگرسیون لجستیک حتی در شرایطی که داده‌ها پراکندگی بالایی دارند، عملکرد قابل قبولی ارائه می‌ده.

🔵معایب رگرسیون لجستیک

🔵محدودیت در پیچیدگی مدل: نمی‌تونه روابط پیچیده رو به خوبی مدل‌های پیشرفته‌ تحلیل کنه.

🔵نیاز به تبدیل ویژگی‌های غیرخطی: برای استفاده از ویژگی‌های غیرخطی، نیاز به تبدیل‌شون وجود داره.

🔵عملکرد ضعیف در داده‌های نامتوازن (Imbalanced): در مواردی که داده‌های یک کلاس به مراتب بیشتر از کلاس دیگر است، ممکنه عملکرد خوبی نداشته باشه.

🔵تاثیر ویژگی‌های بی‌ربط: حضور Featureهای غیرمرتبط می‌تونه روی عملکرد مدل تاثیر منفی بگذاره.

🔵فرضیه خطی بودن رابطه: فرض می‌کنه که رابطه بین متغیرهای مستقل و وابسته خطیه.

#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
8👏2👨‍💻2
کوئیز شماره ۲۱: روش‌ برازش داده در Logistic Regression

در Logistic Regression از کدوم روش برای پیدا کردن بهترین برازش روی داده‌ها استفاده می‌کنیم؟
Anonymous Quiz
31%
Least Square Error
34%
Maximum Likelihood
7%
Jaccard distance
28%
گزینه ۱ و ۲
😎42👍1👏1
💡مقایسه رگرسیون و لجستیک رگرسیون

🔵رگرسیون خطی برای پیش‌بینی مقادیر پیوسته مثل قیمت خونه، وزن یه نفر یا نمره آزمون استفاده می‌شه. این الگوریتم با پیدا کردن خطی که بهترین ارتباط رو بین متغیرهای مستقل و وابسته داره، کار می‌کنه.

🔵رگرسیون لجستیک برای پیش‌بینی مقادیر گسسته (Classification) مثل وضعیت بیمار (بیمار یا سالم)، وضعیت یه معامله (جعلی یا واقعی) یا گروه خونی فرد (A، B، AB یا O) استفاده می‌شه. این الگوریتم با پیدا کردن یه تابع سیگموئید که احتمال وقوع یه رویداد رو پیش‌بینی می‌کنه، کار می‌کنه.

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

#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
👨‍🏫 کاربردهای رگرسیون لجستیک (Applications of Logistic Regression)

🔵تشخیص بیماری‌ها

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

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

🔵ارزیابی ریسک مالی

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

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

🔵تشخیص تقلب

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

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

🔵پیش‌بینی رفتار مشتری

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

مدل‌ها می‌تونن به شرکت‌ها کمک کنن تا تعیین کنن کدوم مشتریان با احتمال بیشتری به خرید محصول جدید علاقه‌مندن.

🔵مدیریت منابع انسانی

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

این مدل‌ها می‌تونن به مدیران منابع انسانی کمک کنن تا برنامه‌های حفظ نیروی کار رو بر اساس نیازهای خاص کارکنان‌شون طراحی کنن.

🔵پیش‌بینی موفقیت آکادمیک

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

این مدل‌ها می‌تونن توی تشخیص دانش‌آموزانی که ممکنه به حمایت بیشتری نیاز داشته باشن یا پیش‌بینی عملکردشون در امتحانات و تکالیف آینده کمک کنن.

#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍1👨‍💻1
کوئیز شماره ۲۲: استانداردسازی در Logistic Regression

آیا باید قبل از آموزش یه Logistic Regression، برای ویژگی‌ها استانداردسازی (Standardization) انجام بدیم؟
Anonymous Quiz
79%
بله
21%
خیر
😎72👍2🤔1
💡امکان داشتن تحلیل‌های پیچیده با لجستیک رگرسیون

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

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

#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63🔥1👨‍💻1
👨‍🏫 تابع هزینه در لجستیک رگرسیون

به تابع هزینه (Cost Function) در لجستیک رگرسیون، Cross-Entropy گفته می‌شه. این تابع به ما کمک می‌کنه تا میزان اختلاف بین پیش‌بینی‌های مدل و داده‌های واقعی رو اندازه‌گیری کنیم و هدف کاهش این اختلافه تا مدل بتونه پیش‌بینی‌های دقیق‌تری ارائه بده.

🔵آنتروپی متقاطع به دو دسته تقسیم میشه: Binary Cross-Entropy و Multi-Class Cross-Entropy. توی Binary Cross-Entropy، مدل تلاش می‌کنه تا پیش‌بینی‌هایی با دو دسته‌بندی مثل "بله" یا "خیر" ارائه بده. این روش در مواردی که تنها دو دسته‌بندی ممکنه، مثل تشخیص ایمیل‌های اسپم یا غیراسپم، کاربرد داره. در مقابل، Multi-Class Cross-Entropy برای موقعیت‌هایی به کار می‌ره که بیشتر از دو دسته‌بندی ممکنه، مثل دسته‌بندی انواع گل‌ها یا حیوانات.

🔵تابع سیگموید (Sigmoid Function)، که گاهی اوقات به عنوان "تابع لجستیک" (Logistic Function) هم شناخته می‌شه، یه جزء اصلی در لجستیک رگرسیونه. این تابع هر مقدار ورودی رو به یک احتمال بین صفر و یک تبدیل می‌کنه. برای مثال، اگه خروجی تابع سیگموید 0.7 باشه، این به معنی 70 درصد احتمال وقوع یک رویداد خاصه. این خصوصیت تابع سیگموید اونو برای مدل‌های طبقه‌بندی باینری ایده‌آل می‌کنه.

🔵زمانی که Cross-Entropy و تابع سیگموید در کنار هم استفاده شن، به مدل کمک می‌کنن تا به طور موثر بین دسته‌بندی‌های مختلف تمایز قائل شه. در نتیجه با تنظیم وزن‌ها و بایاس‌ها، بهترین تطابق رو بین داده‌های ورودی و خروجی‌های مورد نظر پیدا میشه.

🔵میشه Cross-Entropy رو از کتابخانه‌های محبوب یادگیری ماشین مثل TensorFlow و PyTorch وارد کرد. این کتابخانه‌ها توابع پیش‌ساخته‌ای رو برای محاسبه Cross-Entropy ارائه می‌دن.

import tensorflow as tf

# Binary Cross-Entropy
binary_CE = tf.keras.losses.BinaryCrossentropy()
loss = binary_CE(y_true, y_pred)

# Multi-Class Cross-Entropy
categorical_CE = tf.keras.losses.CategoricalCrossentropy()
loss = categorical_CE(y_true, y_pred)


#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍4👨‍💻2
کوئیز شماره ۲۳: تابع هزینه در لجستیک رگرسیون

چه زمانی تابع هزینه کراس آنتروپی توی لجستیک رگرسیون به بیشترین مقدارش می‌رسه؟
Anonymous Quiz
21%
زمانی که پیش‌بینی دقیقاً برابر با برچسب واقعیه
54%
زمانی که پیش‌بینی کاملاً مخالف برچسب واقعی
20%
زمانی که تمام پیش‌بینی‌ها 0.5 هستن
4%
تابع هزینه همیشه یک مقدار ثابت داره
6😎4👍1
💡تاثیر Regularization روی لجستیک رگرسیون

می‌تونیم از یه تکنیک به نام "regularization" برای جلوگیری از بیش‌برازش (overfitting) استفاده کنیم. بیش‌برازش زمانی اتفاق می‌افته که مدل بیش از حد به داده‌های آموزشی وابسته شده و توانایی تعمیم (generalization) به داده‌های جدید رو از دست می‌ده. Regularization با اضافه کردن یه جمله جریمه‌ای (penalty term) به تابع هزینه (cost function)، وزن‌های مدل رو کنترل می‌کنه.

دو روش رایج برای این کار، L1 Regularization و L2 Regularization هستن که به ترتیب به عنوان Lasso و Ridge شناخته می‌شن. این روش‌ها با کنترل اندازه وزن‌ها، از پیچیدگی بیش از حد مدل جلوگیری می‌کنن و کارایی رو در پیش‌بینی داده‌های جدید افزایش می‌دن.

#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👨‍💻32
👨‍🏫 روش‌های بهینه سازی در لجستیک رگرسیون

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

🔵 روش‌های مبتنی بر گرادیان

🔵گرادیان کاهشی (Gradient Descent): این روش با محاسبه گرادیان تابع ضرر و به‌روزرسانی پارامترها در جهت مخالف اون عمل می‌کنه تا به کمینه محلی (Local Optimum) تابع هزینه برسه. این روش بیشتر برای داده‌های کم مناسبه و در مقابله با داده‌های حجیم ممکنه به خوبی عمل نکنه.

🔵گرادیان کاهشی تصادفی (Stochastic Gradient Descent): این نسخه‌ بهبود و تکامل یافته روش گرادیان کاهشیه که در اون گرادیان (مشتق) تابع هزینه برای زیرمجموعه‌های تصادفی از داده‌ها در هر مرحله محاسبه می‌شن. این رویکرد با سرعت بالای محاسباتی، برای داده‌های حجیم مناسبه و کارایی یادگیری ماشین رو بهبود می‌ده.

🔵 روش‌های مبتنی بر نیوتن

🔵روش نیوتن (Newton Method): روش نیوتن، به عنوان روش نیوتن-رافسون هم شناخته می‌شه، از مشتق دوم تابع ضرر برای بهینه‌سازی استفاده می‌کنه. این روش توانایی داره که نقاط کمینه تابع ضرر رو با دقت بالا و سرعت زیاد پیدا کنه، به خصوص در مواردی که با تابع ضرر پیچیده یا داده‌هایی با توزیع‌های خاص روبرو هستیم. با این حال، محاسبه مشتق دوم و می‌تونه هزینه محاسباتی بالایی داشته باشه، به ویژه در مواردی که با داده‌های با ابعاد بالا سروکار داریم.

🔵روش‌های شبه-نیوتن (Quasi-Newton Methods): روش‌های شبه-نیوتن برای حل مشکلات محاسباتی مرتبط با روش نیوتن توسعه یافتن. این روش‌ها، مثل الگوریتم BFGS یا L-BFGS، بدون نیاز به محاسبه مستقیم ماتریس هسیان (مشتق دوم)، تلاش می‌کنن که یه تخمین دقیق از گرادیان دوم ارائه بدن. این روش‌ها برای مواردی که با حجم بزرگ داده‌ها مواجه هستیم یا مدل‌هایی که پارامترهای زیادی دارن، بسیار مؤثرن و می‌تونن نسبت به روش نیوتن کارایی بالاتری داشته باشن، به خصوص از نظر محاسباتی.

🔵 انتخاب روش بهینه‌سازی

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

#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥2👏2
کوئیز شماره ۲۴: روش‌های بهینه‌سازی Logistic Regression
کدوم روش‌ بیشترین سرعت همگرایی رو در رگرسیون لجستیک داره؟
Anonymous Quiz
29%
گرادیان کاهشی مینی-بچ (Mini-Batch Gradient Descent)
40%
گرادیان کاهشی تصادفی (SGD)
27%
روش نیوتن-رافسون
4%
روش شبه-نیوتن (Quasi-Newton Methods)
😎5👍31👏1
👨‍🏫 معیارهای ارزیابی Logistic Regression

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

🔵Accuracy

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

from sklearn.metrics import accuracy_score

y_true = [1, 0, 1, 1, 0, 1]
y_pred = [1, 0, 0, 1, 0, 1]
accuracy = accuracy_score(y_true, y_pred)
print("Accuracy:", accuracy)


🔵Precision & Recall

سنجه Precision نشون‌دهنده تعداد پیش‌بینی‌های صحیح مثبت نسبت به کل تعداد پیش‌بینی‌های مثبته و سنجه Recall نشون‌دهنده تعداد پیش‌بینی‌های صحیح مثبت نسبت به کل تعداد موارد واقعی مثبته.

from sklearn.metrics import precision_score, recall_score

precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
print("Precision:", precision)
print("Recall:", recall)


🔵F1 Score

سنجه F1 Score میانگین هارمونیک دقت کلاس و Recall هست. این معیار برای مواقعی که توازن بین دقت کلاس و Recall مهمه، مناسبه.

from sklearn.metrics import f1_score

f1 = f1_score(y_true, y_pred)
print("F1 Score:", f1)


🔵ROC (Receiver Operating Characteristic) & AUC (Area Under the Curve)

منحنی ROC رابطه بین نرخ مثبت‌های واقعی (True Positive Rate) و نرخ منفی‌های کاذب (False Positive Rate) رو برای مجموعه‌ای از آستانه‌های (Threshold) مختلف نشون می‌ده.

به مساحتی که زیر منحنی ROC قرار می‌گیره، AUC میگن و به عنوان یه سنجه جامع برای ارزیابی کیفیت عملکرد کلی مدل‌های طبقه‌بندی به کار می‌ره. هرچی مقدار AUC به ۱ نزدیک‌تر باشه، نشون میده که مدل توانایی بالایی توی تفکیک بین کلاس‌های مثبت و منفی داره و در نتیجه، عملکرد مدل بهتری داره.

from sklearn.metrics import roc_auc_score

# مقادیر y_pred باید به صورت احتمالات باشن. در اینجا فرض می‌کنیم y_pred احتمالات هستن.
y_pred_probs = [0.9, 0.1, 0.8, 0.9, 0.2, 0.7]
auc = roc_auc_score(y_true, y_pred_probs)
print("AUC:", auc)


🔵Confusion Matrix

ماتریس درهم‌ریختگی جدولیه که تعداد پیش‌بینی‌های صحیح و غلط رو در هر کلاس نشون می‌ده. این ماتریس به تحلیل دقیق‌تر عملکرد مدل توی هر کلاس کمک می‌کنه.

from sklearn.metrics import confusion_matrix

conf_matrix = confusion_matrix(y_true, y_pred)
print("Confusion Matrix:\n", conf_matrix)


#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52👨‍💻1
کوئیز شماره ۲۵: معیارهای ازریابی Logistic Regression

کدوم معیار بهترین شاخص برای ارزیابی عملکرد یه مدل رگرسیون لجستیک توی مجموعه داده‌های نامتوازنه؟ کدوم معیار نشون دهنده کیفیت تفکیک داده‌ها توسط مدله؟
Anonymous Quiz
19%
Accuracy - R-squared
23%
Precision - Log-Likelihood
54%
F1 Score - AUC-ROC
4%
Sensitivity - MSE
😎7👍32
💡بررسی معیارهای ارزیابی طبقه‌بندی دودویی

#Machine_Learning
#Logistic_Regression

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81👨‍💻1
👨‍🏫 مدل‌های Sklearn برای رگرسیون لجستیک

توی این پست، به مدل‌های مختلف رگرسیون لجستیک توی کتابخانه Sklearn می‌پردازیم. Sklearn یه کتابخانه محبوب زبان برنامه‌نویسی پایتونه که توی حوزه یادگیری ماشین کاربرد داره.
🔵LogisticRegression

این مدل اولیه در Sklearn بهتون اجازه می‌ده تا مسائل دسته‌بندی دوتایی و چندتایی رو حل کنین. می‌تونین با تنظیم پارامترهایی مانند solver (الگوریتم بهینه‌سازی) و penalty (نوع جریمه برای جلوگیری از بیش‌برازش)، مدل رو براساس تسک تنظیم کنین.

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LogisticRegression(solver='liblinear')
model.fit(X_train, y_train)
print(f'Accuracy: {model.score(X_test, y_test)}')


🔵LogisticRegressionCV

این مدل، LogisticRegression رو با قابلیت اعتبارسنجی متقاطع (Cross-Validation) ارائه می‌ده. در نتیجه می‌تونین بهترین پارامترها مثل Cs (مقادیر مختلف برای قدرت جریمه) رو پیدا کنین و مدل رو حین آموزش بهینه کنین.

from sklearn.linear_model import LogisticRegressionCV
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LogisticRegressionCV(Cs=10, cv=4, random_state=0)
model.fit(X_train, y_train)
print(f'Accuracy: {model.score(X_test, y_test)}')


🔵SGDClassifier

این مدل برای دسته‌بندی با استفاده از روش گرادیان کاهشی تصادفی (Stochastic Gradient Descent) کار می‌کنه. با تنظیم پارامتر loss به log, می‌تونین از این مدل برای رگرسیون لجستیک استفاده کنین. این مدل برای داده‌های بزرگ و پیچیده مناسبه.

from sklearn.linear_model import SGDClassifier
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = SGDClassifier(loss='log', max_iter=1000, tol=1e-3)
model.fit(X_train, y_train)
print(f'Accuracy: {model.score(X_test, y_test)}')


#Machine_Learning
#Logistic_Regression

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