Search
  • Hackend

Machine Learning Algorithm - Knn

הנחת העבודה של מאמר זה היא שקראתם את שני מאמרי ההקדמה העוסקים בשאלה המרכזית ״כיצד המידע שלנו נראה?״ , במידה ולא אתם מתבקשים לקרוא אותם חלק1 חלק2


למידת מכונה זהו תחום חזק שלאחרונה נכנס לכלל חיינו. מהפיכת המידע מביאה איתה שינויים רבים לתחום הטכנולוגי וריבוי מידע מאפשר לנו כיום לייצר אלגוריתמים חכמים מה שרבים מאיתנו מכירים כלמידת מכונה. כחלק מתהליך למידה שוטף צוות hackend מעוניין לחשוף אתכם לעולם התוכן הזה ולהראות לכן שכל אחד יכול ללמוד את התחום הזה וליישם בקלות כמה וכמה דוגמאות טובות. פילוסופיה

קיימת פרדיגמה בעולם למידת המכונה שנקראת אלגוריתמים של שכנים קרובים.


מה הכוונה ?? שכנים קרובים ? ?

התזה המרכזית היא שאנחנו יכולים להסיק המון מסקנות לגבינו ביחס לאובייקטים הקרובים אלינו.

אם כן, אז אלגוריתם השכנים הקרובים עושה דבר מאוד פשוט.


נזכיר שלכל אלגוריתם מז׳אנר למידת המכונה יש ארבעה שלבים:

1. עיבוד מקדים למידע

2. למידה/אימון (כל אחד אוהב לקרוא לזה טיפה אחרת)

3. חיזוי

4. בדיקת תוצאות


בחלק זה נתמקד בשלושת השלבים -למידה, חיזוי, ובדיקת תוצאות.


הלמידה

אם כן, אז בשלב הלמידה מה שאלגוריתם שכנים קרובים עושה הוא פשוט לשמור את כל נקודות המדגם שלנו.משמע הדבר הוא שהמודל שלנו זה בעצם אוסף כל הנקודות שלנו. ברמת הקוד, נצטרך לבחור גם את כמות השכנים שנרצה לדגום.


החיזוי

בשלב החיזוי אנחנו מבצעים משימה מאוד פשוטה.

נניח שבחרנו שכמות השכנים שאנו דוגמים היא 3. כאמור, האלגוריתם שומר במודל את כל הנקודות, בהינתן נקודה חדשה, הוא בודק מיהן 3 הנקודות הקרובות ביותר לנקודה הזו מתוך המודל.

מבין שלושת הדוגמאות שנבחרו, חיזוי הדגימה ייקבע על ידי התשובה לשאלה - ״מי האובייקט שנמצא הכי הרבה מבין כל השכנים?״

ובכן, אז מסתבר שאף על פי שהחוקיות של האלגוריתם מזכירה ילד בגן, תוצאותיו לא רעות בכלל בלא מעט מקרים.

אל הקוד !

כמובן שניתן להגדיר את האלגוריתם בצורות שונות אולם לצורך המדריך נתמקד בתרגול הבסיסי על מנת להכיר את האלגוריתם.

ובכן, אז הצורה השלבים הם מאוד פשוטים : ראשית, נגדיר מסווג בסיסי :

השימוש בו הוא מאוד פשוט, (ולא רק כי האלגוריתם עצמו פשוט, הטענה הזו נכונה לכלל האלגוריתמים הלומדים בספריית sklearn :


ראשית נרצה ליצור את המסווג

רבים מאיתנו מפחדים מאוד מהשלב הזה, אמנם, כמעט תמיד, בהינתן שסט המידע שלנו מוכן לפעולה, אימון המודל יהיה מאוד פשוט.





אימון המודל - קל באימונים קשה בקרב




הקרב - גם בו לא כזה קשה בעצם...

לאחר מכן, נרצה לבחון את המידע ששמרנו לטובת בדיקות המודל הרי זהו המידע ששמור במשתנים X_test, Y_test. לאחר מכן, באמצעות פוקנציה נוספת שקיימת בספריית sklearn בשם classification_report, נמצא את דוח התוצאות של המודל שלנו במהירות.

שימו לב עד כמה זה פשוט :

סך כל הקוד (כולל החלק של המדריכים הקודמים) נראה כך :



25 views
ABOUT
SOCIAL

office@hackend.com

Tel:

054-345-5954

052-575-7077

054-261-3395

  • White LinkedIn Icon
  • White Facebook Icon

© 2018 by Hackend. Proudly created with Wix.com