021-71053903 [email protected] پشتیبانی از شنبه تا چهارشنبه ساعت 9 الی 16

Logistic Regression چیست؟

ممکنه در ابتدا اسم این الگوریتم بسیار گیج کننده باشه و همین اول میشه گفت که Logistic Regression یک  نوع الگوریتم classification(طبقه بندی) است نه یک  regression(سازنده target value) که مقادیر گسسته را (مقدار های باینری مانند 0/1 ,yes/no,true/false) بر اساس مجموعه معینی از متغیر های مستقل تخمین میزند. به زبان ساده Logistic Regression احتمال وقوع یک رویداد را با قرار دادن داده ها در یک  logit function شناسایی میکند. از این رو Logistic Regression به نام  Logit Regression  نیز شناخته می شود. به طور کلی مقادیر بدست آمده همیشه بین  0 و 1 پیشبینی می شوند و قرار خواهند گرفت.


بیاید با یک مثال این موضوع را بهتر درک کنیم.

فکر کنید یک مسئله جمع در آزمون ریاضی شما مطرح شده. این تنها دو نتیجه میتواند داشته باشد، درست است؟ یا مسئله را حل می کنید یا نمی توانید آن مسئله را حل کنید( بیاید نکات اضافه ای برای روش های آن را در نظر نگیریم).

Logistic Regression

 حالا تصور کنید که به شما طیف گسترده ای از جمع ها در تلاش برای درک کردن این موضوع که چه فصل هایی را به خوبی متوجه شده اید داده اند. نتیجه این  می تواند چیزی مشابه به این باشد – اگر یک مسئله مثلثاتی به شما داده شود شما 70% احتمال دارد که آن مسئله را حل کنید و اما اگر این مسئله در رابطه با اعداد مختلط باشد احتمال اینکه شما مسئله را حل کنید به 30% کاهش پیدا خواهد کرد. این دقیقا همان چیزیست که Logistic Regression  به شما ارائه می دهد. به عبارتی     Logistic Regression  پارامتر هایی را انتخاب می کند که احتمال مشاهده مقادیر نمونه را به حداکثر می رسانند.

تفاوتLogistic Regression باLiner Regression

داده های مربوط به زمان صرف شده برای مطالعه و نمرات امتحان. Liner Regression و Logistic Regression می توانند موارد مختلفی را پیش بینی کنند:

  • Liner Regression  : به پیش بینی نمره دانش آموزان در مقیاس 0 – 20 به ما کمک میکند. پیش بینی این نوع Regression خطی است.
  • Logistic Regression : در پیش بینی این مورد که آیا دانش آموز قبول یا مردود می شود به ما می کند.پیش بینی این نوع Regression همانطور که گفته شد گسسته است.و همچنین می توانیم نمرات احتمالی هر دانش آموز را در مدل طبقه بندی(Classification) مشاهده کنیم.

Logistic Regression دو وجهی چیست؟

در این مدل Regression  متغیر وابسته تنها به صورت دو وجهی است، یعنی تنها دو کلاس خواهیم داشت.

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

مطالعهخوابنتیجه
4.859.631
8.623.230
5.438.231
9.216.340

از لحاظ گرافیکی می توانیم داده های خود را با یک نقشه پراکنده نشان دهیم.

Logistic Regression

فرمول تخمین احتمالات S(z)= 1\( 1+e-z) : Logistic regression

!Note
S(z) : خروجی بین 0 و 1 (تخمین احتمال)
z = ورودی تابع(پیش بینی الگوریتم mx +b)
e = عدد نپر یا اویلر
Logistic Regression
def sigmoid(z):
  return 1.0 / (1 + np.exp(-z))
python code

Logistic Regression چند سطحی چیست؟

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

Logistic Regression

محمدرضا حسنی

224 مطلب منتشر شده

دانش آموخته رشته فناوری اطلاعات / موسس پایتونی ها

درباره این مطلب نظر دهید !

مطالب پرمخاطب پایتونی ها

sklearn

کتابخانه scikit-learn

2
دقیـقه مطالعه
ادامه ...
scipy

کتابخانه scipy

3
دقیـقه مطالعه
ادامه ...

محصولات فروش پایتونی ها

%60
تخفیف

آموزش فیگما (Figma)

30,000 تومان
3
%69
تخفیف

آموزش برنامه نویسی پایتون

35,000 تومان
2