روش «یک در مقابل یک (One vs. One)» در طبقه‌بندی

اگر درس قبل را خوانده باشید، می‌دانید که یکی از روش‌های طبقه‌بندی (Classification) داده‌های چند کلاسه، استفاده از روشِ «یک در مقابل همه» یا همان One vs. All است. اما این روش، در برخی از مواقع ضعف‌هایی نیز دارد. به همین دلیل روش «یک در مقابل یک» یا همان One vs. One به وجود آمد که در بسیاری از مواقع، کیفیتِ به مراتب بهتری، نسبت به روش قبلی (One vs. All) ارائه می‌دهد.

ادامه خواندن “روش «یک در مقابل یک (One vs. One)» در طبقه‌بندی”

روش «یک در مقابل همه (One vs. All)» برای طبقه‌بندی داده‌های چند کلاسه

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

ادامه خواندن “روش «یک در مقابل همه (One vs. All)» برای طبقه‌بندی داده‌های چند کلاسه”

مسائل طبقه‌بندی دودویی (binary)، چند کلاسه (Multi Class)، چند برچسبه (Multi Label) و تفاوت آن‌ها

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

ادامه خواندن “مسائل طبقه‌بندی دودویی (binary)، چند کلاسه (Multi Class)، چند برچسبه (Multi Label) و تفاوت آن‌ها”

رگرسیون لجستیک (Logistic Regression)

در درس‌های قبل این دوره، با انواع الگوریتم‌های طبقه‌بندی آشنا شدیم و دیدیم که چگونه می‌توان با استفاده از این الگوریتم‌ها، الگوهای مختلف و طبقه‌های متناظر آن‌ها را در یک مجموعه‌ی داده، شناسایی کرد. در این درس به سراغ یکی دیگر از الگوریتم‌های طبقه‌بندی (Classification) می‌رویم که رگرسیون لجستیک یا همان Logistic Regression نام دارد. این الگوریتم بر خلاف اسمش، جزو الگوریتم‌های طبقه‌بندی قرار می‌گیرد و معمولاً آن را یک الگوریتم رگرسیون نمی‌دانند.

ادامه خواندن “رگرسیون لجستیک (Logistic Regression)”

نقشه‌ی راه تبدیل شدن به یک متخصص علم داده (فیلم)

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

ادامه خواندن “نقشه‌ی راه تبدیل شدن به یک متخصص علم داده (فیلم)”

توزیع گاما (Gamma Distribution)

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

ادامه خواندن “توزیع گاما (Gamma Distribution)”

آزمون برازش Chi-Square برای توزیع‌های احتمال

در دوره‌ی جاری، به بررسیِ انواع تابع توزیع احتمال و کاربردهای آن پرداختیم. اما سوال این‌جاست که چگونه بفهمیم فرآیندهایمان از یک توزیع خاص (مثلاً توزیع پواسون یا توزیع نرمال) پیروی می‌کنند یا خیر؟ در درس «چگونگیِ ارزیابی داده‌ها با توجه به توزیع نرمال»، فهمیدیم که چگونه می‌توانیم ببینیم که آیا داده‌های ما از توزیع نرمال پیروی می‌کنند یا خیر. در درس جاری می‌خواهیم به روش chi-square که یکی از روش‌های معروف و شناخته شده برای ارزیابی توزیعِ فرآیند‌ها هست، اشاره‌ی کوچکی کنیم. توسط این روش می‌توانیم توزیع‌های احتمالیِ دیگری را نیز بر روی داده‌هایمان ارزیابی کنیم. مثلاً ببینیم که آیا مجموعه‌ی داده‌ی ما از توزیع پواسون پیروی می‌کند یا خیر؟

ادامه خواندن “آزمون برازش Chi-Square برای توزیع‌های احتمال”

توزیع نمایی (Exponential Distribution)

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

ادامه خواندن “توزیع نمایی (Exponential Distribution)”

توزیع پواسون (Poisson Distribution)

یکی از توزیع‌هایی که در صنعت کاربرد فراوانی دارد، توزیع پواسون یا همان poisson distribution است. این توزیع بیان‌گرِ رویدادهایی است که در طول زمان اتفاق می‌افتند و فقط میانگین فاصله‌ی بین این رویدادها را از داده‌های گذشته می‌دانیم. یعنی نمی‌دانیم که هر کدام از رویدادها چه زمانی اتفاق می‌افتند، ولی بر اساس داده‌های گذشته، می‌دانیم که هر کدام از رویدادها به صورت میانگین در یک فاصله‌ی زمانیِ مشخص اتفاق افتاده‌اند. برای مثال، فرض کنید شما صاحبِ یک وب‌سایت هستید و وب‌سایت شما هر چند روز یکبار خراب (down) می‌شود. از داده‌های گذشته فهمیده‌اید که به طور میانگین این رویداد (یعنی خراب شدنِ سایت) هر ۶۰ روز یکبار اتفاق می‌افتد. یعنی ممکن است یکبار ۳۰ روز سایت سالم باشد و در روزِ سی و یکم سایت خراب شود و یا ممکن است در یک دوره‌ی دیگر، وب‌سایت ۹۱ روز سالم باشد و در روزِ نود و دوم خراب شود و میانگین این خرابی‌ها ۶۰ روز یکبار است.

ادامه خواندن “توزیع پواسون (Poisson Distribution)”

توزیع برنولی (Bernoulli Distribution) و توزیع دو جمله‌ای (Binomial Distribution)

یک سکه را به هوا پرتاب می‌کنیم. یا شیر می‌آید یا خط. اگر شیر بیاید پیروز می‌شویم (success) و اگر خط بیاید، می‌بازیم (fail). احتمالِ هر کدام هم ۵۰ درصد است. این ساده‌ترین مثال از توزیع برنولی بود. در این توزیع که دو حالت دارد، با احتمال‌های مشخصی یا برنده می‌شویم یا می‌بازیم و مجموع احتمالاتِ برد و باخت هم برابر یک می‌شود.

ادامه خواندن “توزیع برنولی (Bernoulli Distribution) و توزیع دو جمله‌ای (Binomial Distribution)”