תוכן העניינים[להתחבא][הופעה]
אם אתה מתכנת Python או אם אתה מחפש ערכת כלים חזקה לשימוש כדי להכניס למידת מכונה למערכת ייצור, Scikit-learn היא ספרייה שעליך לבדוק.
Scikit-learn מתועד היטב ופשוט לשימוש, בין אם אתה חדש בלמידת מכונה, רוצה להתחיל לעבוד במהירות, או רוצה להשתמש בכלי מחקר ML העדכני ביותר.
זה מאפשר לך לבנות מודל נתונים חזוי בכמה שורות קוד בלבד ולאחר מכן משתמש במודל זה כדי להתאים לנתונים שלך כספרייה ברמה גבוהה. זה גמיש ועובד היטב עם אחרים ספריות פייתון כמו Matplotlib לתרשימים, NumPy לוקטוריזציה של מערכים ופנדות להדמיית נתונים.
במדריך זה תגלה הכל על מה זה, איך אתה יכול להשתמש בו, יחד עם היתרונות והחסרונות שלו.
מה Scikit-ללמוד?
Scikit-learn (הידוע גם בשם sklearn) מציע סט מגוון של מודלים סטטיסטיים ולמידת מכונה. בניגוד לרוב המודולים, sklearn מפותח ב-Python ולא ב-C. למרות שפותח ב-Python, היעילות של sklearn מיוחסת לשימוש שלו ב-NumPy עבור פעולות אלגברה ליניארית ומערך בעלות ביצועים גבוהים.
Scikit-Learn נוצר כחלק מפרויקט Summer of Code של גוגל ומאז הפך את חייהם של מיליוני מדעני נתונים המתמקדים ב-Python ברחבי העולם לפשוטים יותר. חלק זה בסדרה מתמקד בהצגת הספרייה ובהתמקדות באלמנט אחד - טרנספורמציות של מערכי נתונים, שהן צעד מפתח וחיוני שיש לבצע לפני פיתוח מודל חיזוי.
הספרייה מבוססת על SciPy (Scientific Python), אותו יש להתקין לפני שתוכל להשתמש ב-sikit-learn. מחסנית זו מכילה את הפריטים הבאים:
- NumPy: חבילת מערך n-ממד סטנדרטי של Python
- SciPy: זוהי חבילה בסיסית עבור מחשוב מדעי
- פנדות: מבני נתונים וניתוח
- Matplotlib: זוהי ספריית תכנון 2D/3D עוצמתית
- סימפי: מתמטיקה סמלית
- IPython: קונסולה אינטראקטיבית משופרת
יישומים של ספריית Scikit-learn
Scikit-learn היא חבילת Python בקוד פתוח עם תכונות ניתוח וכרייה מתוחכמות. זה מגיע עם שפע של אלגוריתמים מובנים כדי לעזור לך להפיק את המרב מפרויקטי מדעי הנתונים שלך. הספרייה Scikit-learn משמשת בדרכים הבאות.
1. רגרסיה
ניתוח רגרסיה הוא טכניקה סטטיסטית לניתוח והבנת הקשר בין שני משתנים או יותר. השיטה המשמשת לניתוח רגרסיה מסייעת בקביעה אילו אלמנטים רלוונטיים, מהם ניתן להתעלם, וכיצד הם מקיימים אינטראקציה. טכניקות רגרסיה, למשל, עשויות לשמש כדי להבין טוב יותר את התנהגות מחירי המניות.
אלגוריתמי רגרסיה כוללים:
- ליניארי רגרסיה
- רגרסיה של רידג '
- רגרסיה של לאסו
- רגרסיה של עץ ההחלטה
- יער אקראי
- תמיכה במכונות וקטוריות (SVM)
2. סיווג
שיטת הסיווג היא גישת למידה מפוקחת המשתמשת בנתוני אימון כדי לזהות את הקטגוריה של תצפיות טריות. אלגוריתם בסיווג לומד מנתון מערך נתונים או תצפיות ולאחר מכן מסווג תצפיות נוספות לאחת מני מחלקות או קבוצות רבות. הם יכולים, למשל, לשמש כדי לסווג תקשורת דוא"ל כדואר זבל או לא.
אלגוריתמי סיווג כוללים את הדברים הבאים:
- רגרסיה לוגיסטית
- השכנים הקרובים ביותר ל- K
- תמיכה במכונה וקטורית
- עץ החלטות
- יער אקראי
3. אשכולות
אלגוריתמי האשכולות ב-Skikit-learn משמשים לסידור אוטומטי של נתונים עם מאפיינים דומים לקבוצות. Clustering הוא תהליך של קיבוץ של קבוצה של פריטים כך שאלו באותה קבוצה דומים יותר לאלה שבקבוצות אחרות. נתוני לקוחות, למשל, עשויים להיות מופרדים על סמך מיקומם.
אלגוריתמי אשכולות כוללים את הדברים הבאים:
- DB-SCAN
- K- אמצעים
- מיני אצווה K-Means
- מקבץ ספקטרלי
4. בחירת דגם
אלגוריתמים לבחירת מודלים מספקים שיטות להשוואה, אימות ובחירה של הפרמטרים והמודלים האופטימליים לשימוש ביוזמות של מדעי נתונים. בהינתן נתונים, בחירת מודל היא הבעיה של בחירת מודל סטטיסטי מקבוצת מודלים מועמדים. בנסיבות הבסיסיות ביותר, נלקח בחשבון אוסף נתונים קיים מראש. עם זאת, המשימה עשויה לכלול גם עיצוב של ניסויים כך שהנתונים הנרכשים מתאימים היטב לבעיית בחירת המודל.
מודולים לבחירת דגם שיכולים לשפר את הדיוק על ידי התאמת פרמטרים כוללים:
- אימות צולב
- חיפוש רשת
- מדדים
5. צמצום מימדיות
העברת נתונים ממרחב בעל מימד גבוה למרחב בעל מימד נמוך, כך שהייצוג הנמוך ממדי ישמר כמה היבטים משמעותיים של הנתונים המקוריים, באופן אידיאלי קרוב לממד המובנה שלו, מכונה הפחתת מימדיות. מספר המשתנים האקראיים לניתוח מצטמצם כאשר הממדיות מצטמצמת. נתונים חיצוניים, למשל, עשויים שלא להיחשב לשיפור היעילות של הדמיות.
אלגוריתם הפחתת ממדיות כולל את הדברים הבאים:
- בחירת תכונה
- ניתוח רכיבים עיקרי (PCA)
התקנת Scikit-learn
יש להתקין את NumPy, SciPy, Matplotlib, IPython, Sympy ו-Pandas לפני השימוש ב-Skikit-learn. בואו נתקין אותם באמצעות pip מהקונסולה (עובד רק עבור Windows).
הבה נתקין את Scikit-learn כעת לאחר שהתקנו את הספריות הנדרשות.
תכונות
Scikit-learn, המכונה לפעמים sklearn, היא ערכת כלים של Python ליישום מודלים של למידת מכונה ומידול סטטיסטי. אנו עשויים להשתמש בו כדי ליצור מספר מודלים של למידת מכונה עבור רגרסיה, סיווג ואשכולות, כמו גם כלים סטטיסטיים להערכת מודלים אלה. זה כולל גם הפחתת מימד, בחירת תכונה, מיצוי תכונה, גישות אנסמבל ומערכי נתונים מובנים. נחקור כל אחת מהתכונות הללו אחת אחת.
1. ייבוא מערכי נתונים
Scikit-learn כולל מספר מערכי נתונים שנבנו מראש, כגון מערך הנתונים של קשתית העין, מערך הנתונים של מחירי הבית, מערך הנתונים הטיטאניים וכן הלאה. היתרונות העיקריים של מערכי נתונים אלה הם שהם פשוטים לתפיסה וניתן להשתמש בהם לפיתוח מיידי של מודלים של ML. מערכי נתונים אלה מתאימים למתחילים. באופן דומה, תוכל להשתמש ב-sklearn כדי לייבא מערכי נתונים נוספים. באופן דומה, אתה יכול להשתמש בו כדי לייבא מערכי נתונים נוספים.
2. פיצול מערך נתונים לאימון ובדיקה
Sklearn כללה את היכולת לחלק את מערך הנתונים למקטעי אימון ובדיקה. פיצול מערך הנתונים נדרש להערכה בלתי משוחדת של ביצועי החיזוי. אנו עשויים לציין כמה מהנתונים שלנו צריכים להיכלל במערך הנתונים של הרכבת והבדיקה. חילקנו את מערך הנתונים באמצעות פיצול בדיקות הרכבת כך שמערכת הרכבת כוללת 80% מהנתונים ולמערך הבדיקה יש 20%. ניתן לחלק את מערך הנתונים באופן הבא:
3. רגרסיה לינארית
רגרסיה לינארית היא טכניקת למידת מכונה מבוססת למידה מפוקחת. הוא מבצע עבודת רגרסיה. בהתבסס על משתנים בלתי תלויים, רגרסיה מדגמנת ערך חיזוי יעד. הוא משמש בעיקר כדי לקבוע את הקשר בין משתנים לניבוי. מודלים שונים של רגרסיה שונים זה מזה מבחינת סוג הקשר שהם מעריכים בין משתנים תלויים ובלתי תלויים, כמו גם במספר המשתנים הבלתי תלויים בשימוש. אנו יכולים פשוט ליצור את מודל הרגרסיה ליניארית באמצעות sklearn באופן הבא:
4. רגרסיה לוגיסטית
גישת סיווג נפוצה היא רגרסיה לוגיסטית. הוא נמצא באותה משפחה כמו רגרסיה פולינומית וליניארית ושייך למשפחת המסווגים הליניאריים. הממצאים של רגרסיה לוגיסטית הם פשוטים להבנה ומהירים לחישוב. באותו אופן כמו רגרסיה לינארית, רגרסיה לוגיסטית היא טכניקת רגרסיה מפוקחת. משתנה הפלט הוא קטגורי, אז זה ההבדל היחיד. זה יכול לקבוע אם למטופל יש מחלת לב או לא.
בעיות סיווג שונות, כגון זיהוי דואר זבל, עשויות להיפתר באמצעות רגרסיה לוגיסטית. חיזוי סוכרת, קביעה אם צרכן יקנה מוצר ספציפי או יעבור למתחרה, קביעה אם משתמש ילחץ על קישור שיווקי ספציפי ועוד תרחישים רבים הם רק כמה דוגמאות.
5. עץ החלטות
טכניקת הסיווג והניבוי החזקה והנפוצה ביותר היא עץ ההחלטות. עץ החלטות הוא מבנה עץ שנראה כמו תרשים זרימה, כאשר כל צומת פנימי מייצג בדיקה על תכונה, כל ענף מייצג את מסקנת הבדיקה, וכל צומת עלה (צומת טרמינלי) מחזיק בתווית מחלקה.
כאשר למשתנים התלויים אין קשר ליניארי עם המשתנים הבלתי תלויים, כלומר כאשר רגרסיה לינארית אינה מייצרת ממצאים נכונים, עצי החלטה מועילים. ניתן להשתמש באובייקט DecisionTreeRegression() באופן דומה כדי להשתמש בעץ החלטות עבור רגרסיה.
6. יער אקראי
יער אקראי הוא א למידת מכונה גישה לפתרון בעיות רגרסיה וסיווג. הוא עושה שימוש בלמידת אנסמבל, שהיא טכניקה המשלבת מספר מסווגים כדי לפתור בעיות מסובכות. שיטת יער אקראית מורכבת ממספר רב של עצי החלטה. זה עשוי לשמש כדי לסווג בקשות הלוואות, לזהות התנהגות הונאה ולצפות התפרצויות מחלות.
7. מטריצת בלבול
מטריצת בלבול היא טבלה המשמשת לתיאור ביצועי מודל הסיווג. ארבע המילים הבאות משמשות לבחינת מטריצת הבלבול:
- נכון חיובי: זה מסמל שהמודל חזה תוצאה חיובית וזה היה נכון.
- שלילי אמיתי: זה מסמל שהמודל חזה תוצאה גרועה והיא הייתה נכונה.
- חיובי כוזב: זה מסמל שהמודל ציפה לתוצאה חיובית אבל זה באמת היה שלילי.
- שלילי כוזב: זה מסמל שהמודל ציפה לתוצאה שלילית, בעוד שהתוצאה הייתה חיובית באמת.
יישום מטריצת בלבול:
Pros
- זה פשוט לשימוש.
- חבילת Scikit-learn ניתנת להתאמה ושימושית ביותר, ומשרתת מטרות בעולם האמיתי כגון חיזוי התנהגות צרכנים, פיתוח תדמית עצבית וכדומה.
- משתמשים שרוצים לחבר את האלגוריתמים לפלטפורמות שלהם ימצאו תיעוד API מפורט באתר Scikit-learn.
- סופרים רבים, משתפי פעולה וקהילה מקוונת עולמית גדולה תומכים ומעדכנים את Scikit-learn.
חסרונות
- זו לא האפשרות האידיאלית ללימוד מעמיק.
סיכום
Scikit-learn היא חבילה קריטית עבור כל מדען נתונים שיש לו הבנה חזקה וקצת ניסיון איתה. מדריך זה אמור לעזור לך עם מניפולציה של נתונים באמצעות sklearn. ישנן עוד יכולות רבות של Scikit-learn שתגלו ככל שתתקדמו בהרפתקת מדעי הנתונים שלכם. שתף את המחשבות שלך בתגובות.
השאירו תגובה