تحليل البيانات باستخدام Scala
من المهم جدًا اختيار الأداة المناسبة لتحليل البيانات. في منتديات Kaggle ، حيث تُقام مسابقات دولية في علوم البيانات ، يسأل الناس غالبًا عن الأداة الأفضل. R و Python على رأس القائمة. في هذه المقالة سوف نخبرك عن مجموعة بديلة من تقنيات تحليل البيانات ، بناءً على Scala.
By رومان زيكوف، المؤسس / عالم البيانات TopDataLab
من المهم جدًا اختيار الأداة المناسبة لتحليل البيانات. على ال Kaggle.com المنتديات ، حيث تُقام مسابقات دولية في علوم البيانات ، يسأل الناس غالبًا عن الأداة الأفضل. R و Python على رأس القائمة. في هذه المقالة سوف نخبرك عن مجموعة بديلة من تقنيات تحليل البيانات ، بناءً على لغة البرمجة Scala و شرارة منصة الحوسبة الموزعة.
كيف توصلنا إليها؟ في Retail Rocket ، نقوم بالكثير من التعلم الآلي على مجموعات بيانات كبيرة جدًا. اعتدنا على استخدام مجموعة من IPython + Pyhs2 (محرك خلية للبايثون) + Pandas + Sklearn لتطوير نماذج أولية. في نهاية صيف 2014 ، اتخذنا قرارًا أساسيًا للتبديل إلى Spark ، حيث أظهرت التجارب أننا سنحصل على 3-4 أضعاف تحسين الأداء في نفس مجموعة الخوادم.
ميزة أخرى هي أنه يمكننا استخدام لغة برمجة واحدة للنمذجة والتعليمات البرمجية التي سيتم تشغيلها على خوادم الإنتاج. كانت هذه فائدة كبيرة لنا ، لأننا قبل ذلك كنا نستخدم 4 لغات في وقت واحد: Hive و Pig و Java و Python. إنها مشكلة لفريق صغير من المهندسين.
يدعم Spark العمل مع Python / Scala / Java من خلال واجهات برمجة التطبيقات جيدًا. قررنا اختيار Scala لأنها اللغة التي تمت كتابة Spark بها ، مما يعني أنه يمكننا تحليل كود المصدر الخاص به وإصلاح الأخطاء إذا لزم الأمر. إنه أيضًا JVM الذي يعمل عليه Hadoop.
يجب أن أقول إن الاختيار لم يكن سهلاً ، حيث لم يكن أحد في الفريق يعرف سكالا في ذلك الوقت.
من الحقائق المعروفة أنه لكي تتعلم التواصل جيدًا بلغة ما ، فإنك تحتاج إلى الانغماس في اللغة واستخدامها قدر الإمكان. لذلك تخلينا عن Python stack لصالح Scala للنمذجة وتحليل البيانات بسرعة.
كانت الخطوة الأولى هي العثور على بديل لأجهزة الكمبيوتر المحمولة IPython. كانت الخيارات على النحو التالي:
- منطاد - دفتر ملاحظات يشبه IPython لـ Spark ؛
- ISpark;
- دفتر سبارك
- دفتر IBM Spark IPython.
- اباتشي تيأورى
حتى الآن كان الخيار ISpark لأنه بسيط - إنه IPython لـ Scala / Spark. كان من السهل نسبيًا التثبيت على رسومات HighCharts و R. ولم تكن لدينا مشكلة في توصيله بمجموعة الغزل.
مهمة
دعنا نحاول الإجابة على السؤال: هل يعتمد متوسط مبلغ الشراء (AOV) في متجرك عبر الإنترنت على معلمات العميل الثابتة ، والتي تشمل التسوية ونوع المتصفح (الهاتف المحمول / سطح المكتب) ونظام التشغيل وإصدار المتصفح؟ يمكنك أن تفعل هذا مع المعلومات المتبادلة.
نستخدم الإنتروبيا كثيرًا لخوارزميات التوصية والتحليل: صيغة شانون الكلاسيكية ، اختلاف كولباك-ليبلر ، المعلومات المتبادلة. حتى أننا قدمنا ورقة حول هذا الموضوع. يوجد قسم منفصل ، وإن كان صغيرًا ، مخصصًا لهذه التدابير في كتاب مورفي الشهير حول التعلم الآلي.
دعنا نحللها على بيانات Retail Rocket الحقيقية. قمت مسبقًا بنسخ العينة من مجموعتنا إلى جهاز الكمبيوتر الخاص بي كملف csv.
البيانات
هنا نستخدم ISpark و Spark قيد التشغيل في الوضع المحلي ، مما يعني أن جميع العمليات الحسابية يتم إجراؤها محليًا ويتم توزيعها بين مراكز المعالج. كل شيء موصوف في التعليقات على الكود. أهم شيء هو أننا نحصل في الإخراج على RDD (هيكل بيانات Spark) ، وهو عبارة عن مجموعة من فئات الحالة من النوع Row ، والذي تم تحديده في الكود. سيسمح لك هذا بالإشارة إلى الحقول عبر "." ، على سبيل المثال _.categoryId.
أهم الأخبار في الثلاثين يومًا الماضية | |||||
---|---|---|---|---|---|
|
|
المصدر: https://www.kdnuggets.com/2021/09/data-analysis-scala.html
- "
- &
- 100
- مميزات
- خوارزميات
- الكل
- أمازون
- من بين
- تحليل
- أباتشي
- واجهات برمجة التطبيقات
- التطبيقات
- البند
- صاعقة
- المتصفح
- البق
- نساعدك في بناء
- باقة
- تغيير
- الرسوم البيانية
- الكود
- تعليقات
- المسابقات
- الحوسبة
- البيانات
- تحليل البيانات
- علم البيانات
- عالم البيانات
- تعامل
- التعلم العميق
- تطوير
- فعل
- الحوسبة الموزعة
- سائق
- الهندسة
- المهندسين
- إلخ
- Excel
- الخبره في مجال الغطس
- تجربة
- استكشاف
- الوجه
- للعائلات
- FAST
- المميزات
- مجال
- الاسم الأول
- حل
- مؤسس
- الإطار
- GitHub جيثب:
- Hadoop
- هنا
- خلية النحل
- كيفية
- كيفية
- HTTPS
- ضخم
- معلومات
- التفاعلية
- عالميا
- IT
- جافا
- لغة
- اللغات
- كبير
- تعلم
- تعلم
- المكتبة
- خط
- لينكدين:
- قائمة
- محلي
- محليا
- طويل
- آلة التعلم
- الآلات
- الرياضيات
- المقاييس
- مایکروسافت
- تصميم
- الاكثر شهره
- أجهزة الكمبيوتر المحمولة
- online
- متجر على الانترنت
- جاكيت
- المصدر المفتوح
- تعمل
- نظام التشغيل
- مزيد من الخيارات
- طلب
- أخرى
- ورق
- مجتمع
- أداء
- منظور
- فيزياء
- المنصة
- أكثر الاستفسارات
- محفظة
- الإنتــاج
- برمجة وتطوير
- تنفيذ المشاريع
- شراء
- بايثون
- بيع بالتجزئة
- يجري
- تشغيل
- سكالا
- علوم
- العلماء
- طقم
- مستوطنة
- الاشارات
- مقاس
- مهارات
- صغير
- So
- تطبيقات الكمبيوتر
- الفضاء
- متجر
- قصص
- المقدمة
- الصيف
- مدعومة
- الدعم
- مفاتيح
- نظام
- التكنولوجيا
- الاختبار
- الرسم البياني
- الوقت
- تيشرت
- وحدة
- URI
- us
- قيمنا
- الويب
- ويكيبيديا
- نوافذ
- للعمل
- X
- سنوات
- صفر