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

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

این روش هم می‌تواند برای مسائل کلاس‌بندی استفاده شود و هم رگرسیون. با این حال در عمل بیشتر در مسائل کلاس‌بندی استفاده می‌شود. الگوریتم k همسایه‌ی نزدیک‌تر یک الگوریتم ساده است که همه موارد موجود را ذخیره می‌کند و کلاس‌های جدید را بر اساس رأی اکثریت k همسایه‌اش کلاس‌بندی می‌کند. انتساب یک کلاس به رایج‌ترین کلاس در میان k همسایه‌اش بر اساس تابع فاصله انجام می‌یابد.

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

تابع فاصله می‌تواند از نوع اقلیدسی، منهتن، مینکوفسکی و یا هَمینگ باشد. سه تابع نخست برای توابع پیوسته و تابع چهارم (همینگ) برای متغیرهای دسته‌ای استفاده می‌شود. اگر k=1 باشد، در این صورت انتساب به‌سادگی بر اساس نزدیک‌ترین همسایه صورت می‌گیرد. گاهی اوقات ممکن است انتخاب k در زمان مدل‌سازی KNN یک چالش باشد.

الگوریتم KNN را به‌آسانی می‌توان به مسائل زندگی روزمره نگاشت کرد. اگر بخواهید در مورد یک فرد که اطلاعاتی در موردش ندارید چیزهایی بدانید، احتمالاً ابتدا نزدیک‌ترین دوستان و محیطی که در آن زندگی می‌کند را می‌یابید و بدین ترتیب در مورد وی اطلاعاتی کسب می‌کنید.

چیزهایی که پیش از انتخاب KNN باید بدانیم:

  • الگوریتم KNN از نظر محاسباتی پرهزینه است.
  • متغیرها باید نرمال‌سازی شوند، در غیر این صورت متغیرهای پرت ممکن است آن را منحرف کنند.
  • پیش از استفاده از KNN باید پردازش‌های مقدماتی مانند طرح‌بندی و حذف نویز صورت گیرد.

کد پایتون

#Import Library

from sklearn.neighbors import KNeighborsClassifier

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

# Create KNeighbors classifier object model

KNeighborsClassifier(n_neighbors=6) # default value for n_neighbors is 5

# Train the model using the training sets and check score

model.fit(X, y)

#Predict Output

predicted= model.predict(x_test)

کد R

library(knn)

x <- cbind(x_train,y_train)

# Fitting model

fit <-knn(y_train ~., data = x,k=5)

summary(fit)

#Predict Output

predicted= predict(fit,x_test)

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

بر اساس رای ۶ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
۱ دیدگاه برای «مهم‌ترین الگوریتم‌های یادگیری ماشین (به همراه کدهای پایتون و R) — بخش هفتم: KNN»

سلام
مطلب جاداره کامل تر بشه….

نظر شما چیست؟

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