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

מתוך ויקיפדיה, האנציקלופדיה החופשית
יש לערוך ערך זה. הסיבה היא: קישורים לא טובים, עניינים סגנוניים, אנגלית לא תקינה.
אתם מוזמנים לסייע ולערוך את הערך. אם לדעתכם אין צורך בעריכת הערך, ניתן להסיר את התבנית. ייתכן שתמצאו פירוט בדף השיחה.
יש לערוך ערך זה. הסיבה היא: קישורים לא טובים, עניינים סגנוניים, אנגלית לא תקינה.
אתם מוזמנים לסייע ולערוך את הערך. אם לדעתכם אין צורך בעריכת הערך, ניתן להסיר את התבנית. ייתכן שתמצאו פירוט בדף השיחה.
Weka
מפתח University of Waikato
גרסה אחרונה 3.9.3 (22 בדצמבר 2017) עריכת הנתון בוויקינתונים
גרסת בטא 3.9.1
ב־December 19, 2016; 53 days ago (2016-12-19)
מערכת הפעלה Windows, OS X, Linux
נכתבה בשפות Java
סוג רישיון הרישיון הציבורי הכללי של גנו
קוד מקור https://git.cms.waikato.ac.nz/weka/weka עריכת הנתון בוויקינתונים
קטגוריה למידת מכונה, כריית מידע
http://www.cs.waikato.ac.nz/ml/weka/
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית

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

תיאור[עריכת קוד מקור | עריכה]

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

היתרונות של Weka כוללים:

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

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

ממשקי משתמש[עריכת קוד מקור | עריכה]

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

סייר הממשק כולל מספר לוחות הבטחת גישה למרכיבים העיקריים של שולחן העבודה:

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

חבילות הרחבה[עריכת קוד מקור | עריכה]

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

היסטוריה[עריכת קוד מקור | עריכה]

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

נקודות ציון[עריכת קוד מקור | עריכה]

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

כלים קשורים[עריכת קוד מקור | עריכה]

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

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

ויקישיתוף מדיה וקבצים בנושא Weka בוויקישיתוף

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ Weka 3 - Data Mining with Open Source Machine Learning Software in Java, www.cs.waikato.ac.nz
  2. ^ Ian H. Witten; Eibe Frank; Mark A. Hall (2011). "Data Mining: Practical machine learning tools and techniques, 3rd Edition". Morgan Kaufmann, San Francisco. נבדק ב-2011-01-19.
  3. ^ P. Reutemann; B. Pfahringer; E. Frank (2004). "Proper: A Toolbox for Learning from Relational Data with Propositional and Multi-Instance Learners". 17th Australian Joint Conference on Artificial Intelligence (AI2004). Springer-Verlag. נבדק ב-2007-06-25.
  4. ^ "weka - How do I use the package manager?". אורכב מ-המקור ב-2019-05-15. נבדק ב-20 בספטמבר 2014. {{cite web}}: (עזרה)
  5. ^ G. Holmes; A. Donkin; I.H. Witten (1994). "Weka: A machine learning workbench" (PDF). Proc Second Australia and New Zealand Conference on Intelligent Information Systems, Brisbane, Australia. נבדק ב-2007-06-25.
  6. ^ S.R. Garner; S.J. Cunningham; G. Holmes; C.G. Nevill-Manning; I.H. Witten (1995). "Applying a machine learning workbench: Experience with agricultural databases" (PDF). Proc Machine Learning in Practice Workshop, Machine Learning Conference, Tahoe City, CA, USA. pp. 14–21. נבדק ב-2007-06-25.
  7. ^ Ian H. Witten; Eibe Frank; Len Trigg; Mark Hall; Geoffrey Holmes; Sally Jo Cunningham (1999). "Weka: Practical Machine Learning Tools and Techniques with Java Implementations" (PDF). Proceedings of the ICONIP/ANZIIS/ANNES'99 Workshop on Emerging Knowledge Engineering and Connectionist-Based Information Systems. pp. 192–196. נבדק ב-2007-06-26.
  8. ^ Gregory Piatetsky-Shapiro (2005-06-28). "KDnuggets news on SIGKDD Service Award 2005". נבדק ב-2007-06-25.
  9. ^ "Overview of SIGKDD Service Award winners". 2005. נבדק ב-2007-06-25.
  10. ^ http://sourceforge.net/top/topalltime.php?type=downloads&offset=200