5 הפצות פיתון לשליטה בלמידת מכונה

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

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

סרטון קשור: כיצד פיתון מקל על התכנות

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

אנקונדה פייתון

אנקונדה הגיעה לבולטות כהפצה עיקרית של פיתון, לא רק למדע נתונים ולמידת מכונה אלא גם לפיתוח פיתון למטרות כלליות. אנקונדה מגובה על ידי ספק מסחרי באותו שם (Continuum Analytics לשעבר) המציע תוכניות תמיכה עבור ארגונים. 

ההפצה של אנקונדה מספקת בראש ובראשונה הפצה של פייתון עם גישה קלה לחבילות המשמשות לעתים קרובות במדעי הנתונים: NumPy, Pandas, Matplotlib, וכן הלאה. הם לא פשוט משולבים עם אנקונדה, אלא זמינים באמצעות מערכת ניהול חבילות מותאמת אישית בשם Conda. חבילות המותקנות על ידי Conda יכולות לכלול תלות בינארית חיצונית מסובכת שלא ניתן היה לנהל באמצעות ה- Pip של Python עצמו. (שים לב שאתה עדיין יכול להשתמש ב- Pip אם תרצה בכך, אך לא תקבל את היתרונות שקונדה מספקת לחבילות אלה.) כל חבילה מתעדכנת על ידי אנקונדה, ורבות מהן נערכות עם ה- MKL של אינטל. הרחבות למהירות.

היתרון העיקרי הנוסף שמקנה אנקונדה הוא סביבה גרפית, אנקונדה נווט. הנווט אינו IDE, אלא ממשק ממשק משתמש GUI נוח לתכונות של אנקונדה, כולל מנהל חבילות Conda וסביבות וירטואליות המוגדרות על ידי המשתמש. באפשרותך גם להשתמש ב- Navigator כדי לנהל יישומי צד שלישי כגון מחברות Jupyter ו- IDE של Visual Studio.

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

ActivePython

מדע הנתונים הוא רק אחד ממקרי השימוש ב- ActivePython, שתוכנן לשמש מהדורה נתמכת באופן מקצועי של השפה עם יישומים עקביים בין ארכיטקטורות ופלטפורמות. זה עוזר אם אתה משתמש ב- Python למדעי נתונים בפלטפורמות כמו AIX, HP-UX ו- Solaris, כמו גם ב- Windows, Linux ו- MacOS.

ActivePython מנסה להיצמד כמה שיותר לגלגול הייחוס המקורי של Python. במקום מתקין מיוחד לחבילות מתמטיקה וסטטיסטיקה מורכבות (גישת אנקונדה), ActivePython מקבץ מראש רבות מאותן חבילות, תוך שימוש בתוספות Intel MKL במידת הצורך, ומספק אותן כחבילות עם התקנת ברירת המחדל של ActivePython. אין צורך להתקין אותם באופן רשמי; הם זמינים מייד מהקופסה.

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

CPython

אם אתה רוצה להתחיל את עבודת למידת המחשב שלך מאפס, ולא להשתמש בשום דבר מלבד הגרסה הרשמית והוונילית הרגילה של Python, בחר CPython. נקרא כך מכיוון שמדובר במהדורת הפניה של זמן הריצה של Python שנכתב ב- C, CPython זמין מאתר Python Software Foundation ומספק רק את הכלים הדרושים להפעלת סקריפטים של Python וניהול חבילות.

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

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

חלק מהעבודה הזו הפכה להכבידה פחות במהלך השנים האחרונות, במיוחד כעת כשמנהל חבילות ה- Pip של Python מתקין באלגנטיות קבצים בינאריים מקובצים מראש מהסוג המשמש בחבילות מדע נתונים רבות. אך עדיין ישנם מקרים רבים, במיוחד במיקרוסופט Windows, בהם תצטרך להתאים את כל החלקים ביד - למשל, על ידי התקנה ידנית של מהדר C / C ++.

חסרון נוסף בשימוש ב- CPython הוא בכך שהוא אינו משתמש באף אחת מהאפשרויות המאיצות ביצועים היעילות בלימוד מכונה ומדעי נתונים, כגון סיומות ספריית ליבת המתמטיקה של אינטל (MKL). יהיה עליך לבנות את ספריות NumPy ו- ​​SciPy בכדי להשתמש באינטל MKL לבד.

חופה מחשבה

הפצת חופת המחשבה של פיתון דומה לאנקונדה במובנים רבים. זה נבנה עם מדעי נתונים ולמידת מכונה כמקרי השימוש העיקריים שלו, מגיע עם אינדקס חבילות מאוגרות משלו, ומספק גם ממשקי קצה גרפיים וגם כלים לשורת הפקודה לניהול ההתקנה כולה. משתמשי ארגונים יכולים גם לרכוש את Enthought Deployment Server, מערכת ניהול חבילות מאחורי חומת האש. חבילות לימוד מכונה שנבנו עבור Canopy משתמשות בתוספות Intel MKL.

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

WinPython

המשימה המקורית מאחורי WinPython הייתה לספק מהדורה של Python שנבנתה במיוחד עבור Microsoft Windows. עוד כאשר בניית CPython עבור Windows לא הייתה חזקה במיוחד, WinPython מילאה נישה שימושית. כיום מהדורת Windows של CPython די טובה, ו- WinPython פנתה לעבר מילוי סדקים שעדיין לא נסללו על ידי CPython - במיוחד ליישומי מדע נתונים ולמידת מכונה.

כברירת מחדל, WinPython נייד. כל הפצת ה- WinPython נכנסת לספרייה אחת שניתן למקם בכל מקום ולהריץ בכל מקום. התקנת WinPython יכולה להיות מועברת כארכיון או על כונן USB, המותקנת מראש עם כל משתני הסביבה, החבילות והסקריפטים הדרושים לעבודה נתונה. זוהי דרך שימושית לארוז את כל הדרוש לאימון מודל מסוים או לשחזר ניסוי נתונים ספציפי. לחלופין, תוכל לרשום התקנת WinPython ב- Windows ולהריץ אותה כאילו הותקנה באופן מקורי (ולבטל רישום מאוחר יותר, אם תרצה בכך).

רבים מהאלמנטים המסובכים יותר של הפצת פיתון ממוקדת על-ידי למידה ממוחשבת מכוסים גם כן. מרבית ספריות המפתח - NumPy, Pandas, Jupyter וממשקים לשפות R ו- Julia - כלולות כברירת מחדל ונבנות כנגד הרחבות Intel MKL היכן שרלוונטי. מהדר Mingw64 C / C ++ מגיע גם ארוז עם NumPy ב- WinPython, כך שניתן לבנות סיומות פייתון בינאריות מהמקור (למשל דרך Cython) מבלי להתקין מהדר.

ל- WinPython מתקין חבילות משלו, WPPM, המטפל בחבילות המגיעות עם קבצים בינאריים שנבנו מראש, כמו גם בחבילות Pure-Python. ולמי שרק רוצה גרסת WinPython ללא עצמות ללא חבילות הכלולות כברירת מחדל, WinPython מציעה "גרסת אפס", באותה השורה כמו המיקונדה של אנקונדה.

סרטון בנושא: למידת מכונה ופענוח AI

בפריצת ההייפ סביב למידת מכונה ובינה מלאכותית, הפאנל שלנו מדבר על ההגדרות וההשלכות של הטכנולוגיה.