ניתוח נתונים באמצעות סקאלה
חשוב מאוד לבחור את הכלי המתאים לניתוח נתונים. בפורומים של Kaggle, שבהם מתקיימות תחרויות בינלאומיות למדעי הנתונים, אנשים שואלים לעתים קרובות איזה כלי עדיף. R ו-Python נמצאים בראש הרשימה. במאמר זה נספר לכם על ערימה חלופית של טכנולוגיות ניתוח נתונים, המבוססות על סקאלה.
By רומן זיקוב, מייסד/מדען נתונים @ TopDataLab
חשוב מאוד לבחור את הכלי המתאים לניתוח נתונים. על Kaggle.com בפורומים, שבהם מתקיימות תחרויות בינלאומיות למדעי נתונים, אנשים שואלים לעתים קרובות איזה כלי עדיף. R ו-Python נמצאים בראש הרשימה. במאמר זה נספר לכם על ערימה חלופית של טכנולוגיות ניתוח נתונים, המבוססות על שפת התכנות Scala ו לעורר פלטפורמת מחשוב מבוזרת.
איך הגענו לזה? ב-Retail Rocket אנחנו עושים הרבה למידת מכונה על מערכי נתונים גדולים מאוד. נהגנו להשתמש בחבורה של IPython + Pyhs2 (מנהל התקן כוורת עבור Python) + Pandas + Sklearn כדי לפתח אבות טיפוס. בסוף קיץ 2014 קיבלנו החלטה מהותית לעבור ל-Spark, שכן ניסויים הראו שנקבל פי 3-4 שיפור בביצועים באותו פארק שרתים.
יתרון נוסף הוא שאנו יכולים להשתמש בשפת תכנות אחת למידול וקוד שיפעל על שרתי ייצור. זה היה יתרון עצום עבורנו, שכן לפני כן השתמשנו ב-4 שפות בו זמנית: Hive, Pig, Java, Python. זו בעיה עבור צוות קטן של מהנדסים.
Spark תומך בעבודה עם Python/Scala/Java דרך ממשקי API היטב. החלטנו לבחור ב-Scala כי זו השפה שבה כתוב Spark, מה שאומר שאנחנו יכולים לנתח את קוד המקור שלו ולתקן באגים במידת הצורך. זה גם ה-JVM שעליו פועל ה-Hadoop.
אני חייב לומר שהבחירה לא הייתה קלה, שכן איש בצוות לא הכיר את סקאלה באותה תקופה.
עובדה ידועה היא שכדי ללמוד לתקשר היטב בשפה, אתה צריך לשקוע בשפה ולהשתמש בה כמה שאפשר. אז נטשנו את מחסנית Python לטובת Scala עבור מודלים וניתוח נתונים מהיר.
הצעד הראשון היה למצוא תחליף למחברות IPython. האפשרויות היו כדלקמן:
- צֶפֶּלִין - מחברת דמוית IPython עבור Spark;
- ISpark;
- מחברת ניצוץ;
- Spark IPython Notebook של IBM.
- אפאצ'י טיעפרה
עד כה הבחירה הייתה ISpark כי זה פשוט - זה IPython עבור Scala/Spark. זה היה קל יחסית להתחבר לגרפיקה HighCharts ו-R. ולא הייתה לנו בעיה לחבר אותו לאשכול Yarn.
המשימות
בואו ננסה לענות על השאלה: האם סכום הרכישה הממוצע (AOV) בחנות המקוונת שלכם תלוי בפרמטרים סטטיים של לקוחות, הכוללים יישוב, סוג הדפדפן (נייד/שולחן עבודה), מערכת הפעלה וגרסת דפדפן? אתה יכול לעשות את זה עם מידע הדדי.
אנו משתמשים הרבה באנטרופיה עבור אלגוריתמי ההמלצה והניתוח שלנו: הנוסחה הקלאסית של שאנון, סטיית ה-Kullback-Leibler, מידע הדדי. אפילו הגשנו מאמר בנושא זה. ישנו קטע נפרד, אם כי קטן, המוקדש למדדים הללו בספר הלימוד המפורסם של מרפי על למידת מכונה.
בואו ננתח את זה על נתוני ריקט ריקט אמיתיים. לפני כן העתקתי את הדוגמה מהאשכול שלנו למחשב שלי כקובץ csv.
נתונים
כאן אנו משתמשים ב-ISpark וב-Spark הפועלים במצב מקומי, כלומר כל החישובים מבוצעים באופן מקומי ומחולקים בין ליבות המעבד. הכל מתואר בהערות לקוד. הדבר החשוב ביותר הוא שבפלט נקבל RDD (Spark data structure), שהוא אוסף של מחלקות מקרה מסוג Row, המוגדר בקוד. זה יאפשר לך להפנות לשדות באמצעות ".", למשל _.categoryId.
הסיפורים הגדולים ביותר ב 30 יום | |||||
---|---|---|---|---|---|
|
|
מקור: https://www.kdnuggets.com/2021/09/data-analysis-scala.html
- "
- &
- 100
- יתרון
- אלגוריתמים
- תעשיות
- אמזון בעברית
- בין
- אנליזה
- אַפָּשׁ
- ממשקי API
- אפליקציות
- מאמר
- לברוח
- דפדפן
- באגים
- לִבנוֹת
- צרור
- שינוי
- תרשימים
- קוד
- הערות
- תחרויות
- מחשוב
- נתונים
- ניתוח נתונים
- מדע נתונים
- מדען נתונים
- התמודדות
- למידה עמוקה
- לפתח
- DID
- מחשוב מבוזר
- נהג
- הנדסה
- מהנדסים
- וכו '
- Excel
- ניסיון
- לְנַסוֹת
- חקירה
- פָּנִים
- משפחה
- מהר
- תכונות
- שדות
- ראשון
- לסדר
- מייסד
- מסגרת
- GitHub
- Hadoop
- כאן
- כוורת
- איך
- איך
- HTTPS
- עצום
- מידע
- אינטראקטיבי
- ברמה בינלאומית
- IT
- Java
- שפה
- שפות
- גָדוֹל
- לִלמוֹד
- למידה
- סִפְרִיָה
- קו
- לינקדין
- רשימה
- מקומי
- באופן מקומי
- ארוך
- למידת מכונה
- מכונה
- מתימטיקה
- מדדים
- מיקרוסופט
- דוגמנות
- הכי פופולארי
- מחשבים ניידים
- באינטרנט
- חנות מקוונת
- לפתוח
- קוד פתוח
- פועל
- מערכת הפעלה
- אפשרויות
- להזמין
- אחרים
- מאמר
- אֲנָשִׁים
- ביצועים
- פרספקטיבה
- פיסיקה
- פלטפורמה
- פופולרי
- תיק עבודות
- הפקה
- תכנות
- פּרוֹיֶקט
- לִרְכּוֹשׁ
- פיתון
- קמעוני
- הפעלה
- ריצה
- סולם
- מדע
- מדענים
- סט
- הֶסדֵר
- פָּשׁוּט
- מידה
- מיומנויות
- קטן
- So
- תוכנה
- מֶרחָב
- חנות
- סיפורים
- הוגש
- קיץ
- נתמך
- תומך
- מתג
- מערכת
- טכנולוגיות
- בדיקות
- הגרף
- זמן
- חלק עליון
- אחדות
- URI
- us
- ערך
- אינטרנט
- ויקיפדיה
- חלונות
- תיק עבודות
- X
- שנים
- אפס