ماشین بردار پشتیبان (SVM) در پایتون — راهنمای کاربردی
«ماشین بردار پشتیبان» (Support Vector Machine | SVM)، یکی از روشهای «یادگیری نظارت شده» (Supervised Learning) است که برای «دستهبندی» (Classification) مورد استفاده قرار میگیرد. SVM، یکی از مهمترین الگوریتمهای «یادگیری ماشین» (Machine Learning) محسوب میشود که کاربردهای بسیاری در مسائل «دادهکاوی» (Data Mining) دارد. این الگوریتم را میتوان با استفاده از «زبان برنامهنویسی پایتون» (Python Programming Language) پیادهسازی کرد.
ماشین بردار پشتیبان، خطی را ترسیم میکند که دستههای متفاوت دادهها را جدا میسازد. در این الگوریتم یادگیری ماشین، بردار برای بهینهسازی خط محاسبه میشود. این کار به منظور حصول اطمینان از این موضوع انجام میشود که نزدیکترین نقطهها درون هر گروه، نسبت به یکدیگر بیشترین فاصله را دارند. بر خلاف تصور بسیاری از افراد، الزامی ندارد که جداساز همیشه یک بردار خطی باشد. در مطلب پیش رو، نمودار نقاط داده در یک فضای n-بُعدی ترسیم میشود. در اینجا، n ویژگی وجود دارد و هر ویژگی دارای مقداری از مختصات مشخص است.
ابتدا، مجموعه داده بارگذاری و نمودار مربوط به نقاط داده، ترسیم میشود:
قطعه کد ۱:
>> from sklearn.datasets.samples_generator import make_blobs
>> x,y=make_blobs(n_samples=500,centers=2,random_state=0,cluster_std=0.40)
>> import matplotlib.pyplot as plt
>> plt.scatter(x[:,0],x[:,1],c=y,s=50,cmap=’plasma’)
<matplotlib.collections.PathCollection object at 0x04E1BBF0>
قطعه کد ۲:
>>> xfit=np.linspace(-1,3.5)
>>> plt.scatter(X[:, 0], X[:, 1], c=Y, s=50, cmap=’plasma’)
<matplotlib.collections.PathCollection object at 0x07318C90>
قطعه کد ۴:
yfit = m * xfit + b
plt.plot(xfit, yfit, ‘-k’)
plt.fill_between(xfit, yfit – d, yfit + d, edgecolor=’none’,
color=’#AFFEDC’, alpha=0.4)
<matplotlib.collections.PolyCollection object at 0x073242D0>
[<matplotlib.lines.Line2D object at 0x07318B70>]
<matplotlib.collections.PolyCollection object at 0x073246F0>
[<matplotlib.lines.Line2D object at 0x07324370>]
<matplotlib.collections.PolyCollection object at 0x07324B30>
>>> plt.show()
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای آمار، احتمالات و دادهکاوی
- مجموعه آموزشهای شبکههای عصبی مصنوعی در متلب
- مجموعه آموزشهای یادگیری ماشین و بازشناسی الگو
- ماشین بردار پشتیبان — به همراه کدنویسی پایتون و R
- دادهکاوی (Data Mining) — از صفر تا صد
- پیاده سازی الگوریتمهای یادگیری ماشین با پایتون و R — به زبان ساده
مجموعه: داده کاوی برچسب ها: Support Vector Machine, SVM, آموزش svm, دسته بندی SVM, ماشین بردار, ماشین بردار پشتیبان, یادگیری نظارت شده