Weka (למידת מכונה)

Weka (ראשי התיבות של Waikato Environment for Knowledge Analysis; מבוטא בחריזה עם המילה "מכה") היא חבילה פופולרית של התוכנות הנפוצות ללמידת מכונה, שנכתבו בשפת Java, שפותחה באוניברסיטת Waikato, ניו זילנד. Weka היא תוכנה חופשית תחת הרישיון הציבורי הכללי של גנו. החבילה קרויה על שם רלית הווקה אשר נפוצה בניו זילנד בלבד.

תיאור 
Weka היא יישום שולחן עבודה המכיל אוסף של כלי ויזואליזציה ואלגוריתמים לניתוח נתונים וחיזוי מודלים, יחד עם ממשקי משתמש גרפיים עבור גישה קלה לפונקציות אלה. הגרסה העדכנית והמלאה יותר המבוססת ג'אווה (Weka 3), עבורה התחיל הפיתוח בשנת 1997, משמשת כעת בכל מיני תחומי יישום, בפרט למטרות לימוד ומחקר.

היתרונות של Weka כוללים:
 גישה חופשית תחת הרישיון הציבורי הכללי (GNU).
 ניידות, שכן היא תיושם במלואה בשפת תכנות - Java ובכך פועלת כמעט על כל פלטפורמת מחשוב מודרנית.
 אוסף מקיף של טכניקות מודל לעיבוד מקדים של נתונים.
 קלות השימוש בשל ממשקי המשתמש הגרפיים שלה.
כל הטכניקות של Weka מושתתים על ההנחה כי הנתונים זמינים כקובץ או ביחס שטוח אחד, כאשר כל נקודת נתונים מתוארת על ידי מספר קבוע של תכונות (בדרך כלל, תכונות מספריות או נומינליות, אך סוגים מסוימים של תכונות אחרות גם נתמכים). Weka מספקת גישת מסדי נתונים של SQL באמצעות קישוריות מסד נתונים Java ויכולה לעבד את התוצאה שהוחזרה על ידי שאילתת מסד נתונים. היא אינה מסוגלת לבצע כריית נתונים רב-יחסיים, אך ישנה תוכנה נפרדת להמרת אוסף טבלאות למסד נתונים המקושר לטבלה אחת כך שיתאים לעיבוד באמצעות Weka. תחום חשוב נוסף שכיום אינו מכוסה באלגוריתם שכלול בWeka הוא מודל רציף.

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

סייר הממשק כולל מספר לוחות הבטחת גישה למרכיבים העיקריים של שולחן העבודה:
 ללוח של המעבד המקדים יש שירותים לייבוא נתונים ממסד נתונים, קבצים מופרדים בפסיקים (CSV) וכו', עיבוד המקדים של נתונים אלה נקרא אלגוריתם סינון. מסננים אלה יכולים לשמש כדי להפוך את הנתונים (למשל, הפיכת תכונות נומריות לדיסקרטיות), ולאפשר מחיקת מקרים ותכונות לפי קריטריונים ספציפיים.
 לוח הסיווג מאפשר החלת אלגוריתמי סיווג ורגרסיה ('מסווגים' שנקראים 'ללא אבחנה' ב Weka) אל בסיס הנתונים כדי להעריך את רמת הדיוק של מודל החיזוי שכתוצאה מכך, ממחיש תחזיות שגויות, מאפיין מקלט הפעלה (ROC) עקום וכו', או כדי להעריך את המודל עצמו (אם המודל הוא נוח ויזואלית כמו, למשל, עץ החלטה).
 הלוח המשותף מספק גישה הלומדת על פי חוקים אסוציאטיביים שמנסים לזהות את כל יחסי הגומלין החשובים בין התכונות בנתונים. 
 לוח הקלסטר (Cluster) מספק גישה לטכניקות קיבוץ ב- Weka, למשל, האלגוריתם הפשוט k-means. יש גם יישום של אלגוריתם מקסום ציפייה ללימוד תערובת של התפלגויות נורמליות.
 לוח התכונות הנבחר מספק אלגוריתמים לזיהוי התכונות החזויות ביותר במערך.
 הלוח הוויזואלי מציג מטריצת גרף פיזור, בו מגרשים בודדים, מפוזרים ומוגדלים יכולים להיבחר וניתנים לניתוח נוסף באמצעות אופרטורי מיון שונים.

חבילות הרחבה 
בגרסת 3.7.2 (שאינה זמינה בגרסת ה"ספר" של Weka) התווסף מנהל חבילות, על מנת לאפשר התקנה קלה של חבילות הרחבה.
מספר שימושים שהיו בעבר כלולים ב-Weka הועברו לתוך חבילות הרחבה, אך השינוי הזה גם מקל על אחרים לתרום להרחבות ב-Weka ולשמור על התוכנה, כמו הארכיטקטורה המודולרית המאפשרת עדכונים עצמאיים של ליבת Weka והרחבות אינדיוידואליות.

היסטוריה 
גרסת Weka המקורית שאינה מבוססת Java הייתה Tcl/Tk חזיתי (בעיקר צד שלישי) של מודלים אלגוריתמים אשר יושמו בשפות תכנות אחרות, בתוספת לכלי עזר עיבוד מקדים של נתונים בשפת C, ומערכת מבוססת-מקאפי (Makefile) לעריכת ניסויי למידת מכונה. גרסה מקורית זו נועדה בראש ובראשונה ככלי לניתוח נתונים מתחומים חקלאיים.

נקודות ציון 
 בשנת 1993, אוניברסיטת וויקאטו בניו זילנד החלה בפיתוח הגרסה המקורית של Weka, אשר הפך שילוב של Tcl/Tk, C, Makefiles.
 בשנת 1997, הוחלט לפתח מחדש את Weka מאפס ב- Java כולל מימושים של דגמי אלגוריתמים.
 בשנת 2005, Weka קיבל את פרס SIGKDD כריית נתונים ושירות גילוי ידע.
 ב-2006, חברת Pentaho רכשה רישיון בלעדי לשימוש ב Weka עבור מודיעין עסקי. הדבר מהווה את כריית הנתונים האנליטיים לניבוי רכיב של חבילת הבינה העסקית.
 בדירוג כל הזמנים על Sourceforge.net ליום 26-8-2011, 243 (עם 2,487,213 הורדות).

כלים קשורים 
 סביבה לפיתוח KDD-יישומים נתמכים על ידי מדד מבנים (Elki) הוא פרויקט דומה ל- Weka עם דגש על ניתוח אשכולות, למשל, שיטות ללא השגחה.
 KNIME היא למידת מכונה וכריית נתוני תוכנה המיושמת ב- Java.
 ניתוח מסיבי באינטרנט (MOA) הוא פרויקט קוד פתוח עבור כרייה בקנה מידה גדולה של זרמי נתונים, שפותחו גם באונ' וויקאטו בניו זילנד.
 מעצב עצבי הוא תוכנת כריית נתונים המבוססים על טכניקות למידה עמוקות אשר נכתבו בשפת C++.
 אורנג' הוא פרויקט קוד פתוח דומה עבור כריית נתונים, למידת מכונה וויזואליזציה tar כתוב בשפות Python ו- C++.
 RapidMiner היא מסגרת לימוד מכונה מסחרית המיושמת ב- Java שמשלבת Weka.

ראו גם 
 למידת מכונה
 כריית נתונים

קישורים חיצוניים 

  באוניברסיטת מנילהncamerica. kgm בניו זילנד
 Weka Wiki הרשמי עם שאלות נפוצות, HOWTOs, code-snippets  וכו'.

הערות שוליים

תוכנה חופשית
למידת מכונה