مهم‌ترین الگوریتم‌های یادگیری ماشین (به همراه کدهای پایتون و R) — بخش پنجم: SVM

۲۵۴ بازدید
آخرین به‌روزرسانی: ۱۴ شهریور ۱۴۰۲
زمان مطالعه: ۱ دقیقه
مهم‌ترین الگوریتم‌های یادگیری ماشین (به همراه کدهای پایتون و R) — بخش پنجم: SVM

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

فهرست مطالب این نوشته
997696

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

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

 

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

این الگوریتم همانند بازی Jezzball در محیطی n-بعدی است. ترفندهای این بازی موارد زیر هستند:

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

کد پایتون

#Import Library

from sklearn import svm

#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create SVM classification object

model = svm.svc() # there is various option associated with it, this is simple for classification. # ؤء

# Train the model using the training sets and check score

model.fit(X, y)

model.score(X, y)

#Predict Output

predicted= model.predict(x_test)

کد R

library(e1071)

x <- cbind(x_train,y_train)

# Fitting model

fit <-svm(y_train ~., data = x)

summary(fit)

#Predict Output

predicted= predict(fit,x_test)

در بخش بعدی این سلسله مطالب شما را با الگوریتم بیزی ساده آشنا می‌کنیم.

بر اساس رای ۷ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *