كان سبب النشر هو منشور مدونة Rstudio: "Shiny 1.1.0: Scaling Shiny with async" ، والذي يمكن أن يمر بسهولة ، ولكنه يضيف لبنة مهمة جدًا لمهمة تطبيق R على مهام العمل. في الواقع ، في نسخة مطور من لامعة ، ظهر عدم التزامن منذ حوالي عام ، لكنه كان نوعًا من التافهة و "جعله يعتقد" - إنها نسخة مطور. يعتبر النقل إلى الفرع الرئيسي والمنشور على CRAN تأكيدًا مهمًا على أنه تم التفكير في العديد من المشكلات الأساسية وحلها واختبارها ، ويمكنك نقلها بأمان إلى منتج واستخدام.
وماذا يوجد أيضًا في R ، باستثناء "الماس" ، الذي يسمح لك بتحويله إلى أداة تحليلية عالمية للمهام العملية؟
إنه استمرار للمنشورات السابقة .
لماذا لامعة
إذا تحدثنا عن التطبيق العملي لـ R لمعالجة البيانات المختلفة في العمليات التجارية لشركة حقيقية ، فسيكون المستخدمون الرئيسيون للنتائج التحليلية مدراء على مستويات مختلفة. نترك طبقة تحليلات DS خلف الأقواس ؛ فهي تحتاج إلى مجموعة واسعة من الأدوات ، بما في ذلك الوصول المباشر إلى قاعدة البيانات. هم أنفسهم يستطيعون ويستطيعون فعل كل شيء. ستكون محطة العمل الرسومية المستندة إلى الويب مساعدة ملائمة ، ولكنها ليست أداة تمييز رئيسية.
على عكس أخصائي DS ، يحتاج المدير العادي إلى واجهة مريحة توفر له جميع المعلومات (التاريخية والتحليلية والتنبؤية وما إلى ذلك) اللازمة لاتخاذ قرار أو إبلاغ الإدارة. في الواقع ، واجهة المستخدم هي "ألفا وأوميغا" لأي نظام مؤسسة. لن ينظر أحد تحت غطاء المحرك (حسنًا ، ربما فقط في المراحل الطويلة والمؤلمة من RFI-RFP). لن يفهم أي شخص أبدًا الخروج للتجربة خارج حدود قصة المستخدم المحددة في مسؤوليات الوظيفة. لن يفكر أحد في موضوع البروتوكولات والخوارزميات والتحقق والدقة.
باستخدام Shiny ، يمكنك رسم واجهة متفرعة جدًا تتضمن النص والرسومات والجداول وجميع عناصر HTML الهيكلية تقريبًا (إطار التمهيد). يسمح لك JS بإضافة ضبط معقد إلى واجهة الويب ، ويسمح لك CSS بإنشاء نمط مخصص. كما أنه من السهل جدًا القيام به على R العديد من الأشياء المهمة التي تغير نوعيًا العمل مع الواجهة ، أي الجيل الديناميكي للمحتوى. هنا نتحدث عن:
- البيانات الجدولية والرسومية التي يمكن تغييرها عن طريق المؤقت أو طلب المستخدم وتعديلها عند عرضها في acc. مع قيود ديناميكية (على سبيل المثال ، إخفاء العلامات النجمية لجزء من بيانات الأشخاص) ؛
- تكوين العناصر في الواجهة (اعتمادًا على منطق عملية الأعمال ، يمكنك إضافة / إزالة الأزرار والإشارات المرجعية وما إلى ذلك أثناء التنفيذ) ؛
- محتوى هذه العناصر (على سبيل المثال ، ملء قوائم القيم المتاحة بناءً على البيانات المحملة) ؛
- الإدارة الذكية لمحتوى عناصر التحكم (على سبيل المثال ، تحديد القيم من قائمة واحدة سيحدد محتوى العناصر الأخرى المتاحة للاختيار) ؛
- تنفيذ نموذج الدور على مستوى البيانات (على سبيل المثال ، اعتمادًا على الدور ، قد تتوفر مجموعات فرعية معينة فقط من العنصر)
لا واجهة - لا يوجد نظام. وعند هذه النقطة بالضبط يصبح من الواضح تقريبًا لماذا R ، وليس الثعبان. نظرًا لأن R لديها Shiny (حزم + وقت تشغيل) يمكنك من خلالها إجراء R مباشرة على واجهات المستخدم لأنظمة معالجة البيانات من أي درجة خوارزمية من التعقيد تقريبًا ، وبيثون ، للأسف ، ليس لديها مثل هذا الإعلان في المستقبل القريب.
لامع غير متزامن ولماذا هو مهم جدا
يتم تنفيذ التطبيق اللامع نفسه بالتتابع ، لكل رابط url (تطبيق لامع) في الخادم المفتوح المصدر ، ترتفع عملية R واحدة للخلفية ، والتي تخدم الحسابات وفقًا لنشاط المستخدم. حتى الإصدار الأخير ، كانت النسخة المفتوحة المصدر اللامعة متزامنة تمامًا. وهذا يعني أن أي عملية حسابية طويلة داخل الرمز "جمدت" استجابة التطبيق لجميع المستخدمين الذين استخدموه في نفس الوقت. بطبيعة الحال ، في إصدار المؤسسة من Shiny Server Pro ، تم حل مشكلة إدارة جلسات المستخدم. أتيحت للمستهلك الفرصة لاختيار ما إذا كان سيحصل على كل ما يعجبه أثناء تطبيق المؤسسة في 5 ثوانٍ أم أن يكمله بنفسه.
من حيث المبدأ ، يمكن تسوية هذه الميزة من التطبيقات اللامعة من خلال:
- نشر تطبيقات لمستخدمين مختلفين على عناوين URL مختلفة ، بما في ذلك ، على سبيل المثال ، اسم المستخدم (رمز واحد ، يتم إنشاء الروابط على خادم لامع)
- إجراء حسابات معقدة مسبقًا ، في عملية خلفية مختلفة
- التكافل الأمثل بين إمكانات معالجة البيانات للخلفية والمعالجة اللاحقة في R.
ومع ذلك ، فقد أصبح الآن أكثر ملاءمة. تسمح عملية التزامن من خلال آليات (وعد) لعدد من الخطوط بتوليد خيوط R إضافية يتم فيها إجراء حسابات كثيفة الموارد ، دون التأثير على أداء الدفق ووقت الاستجابة للتطبيق اللامع الرئيسي. لذلك ، رسميًا ، يمكن اعتبار حل مشكلة العمل الموازي للعديد من المستخدمين في إصدار مفتوح المصدر أيضًا. الوقت لشرب القهوة وانتظار النتيجة ليس عن اللامع.
دراسات حالة نموذجية ل R
غالبًا ما يرغبون في كثير من الأحيان في التحدث عن النماذج و ML في إطار تطبيقات المؤسسة ، ولكن من الممكن التعامل مع هذه المهام فقط بعد رقمنة المهمة وإعداد البيانات. وكل هذا يمكن القيام به في إطار R.
بطبيعة الحال ، R ليس دائمًا كافيًا مع واحد ، اعتمادًا على حجم المهمة وكمية البيانات ، قد تكون هناك حاجة إلى كل من الواجهة الخلفية olap مفتوحة المصدر والنظام الفرعي للحصول على البيانات مفتوحة المصدر. ولكن هذا لا يغير أي شيء ، لأن المستخدم يعمل فقط مع تطبيق المستخدم (انظر أعلاه).
ظهرت العديد من القصص في السابق منتجات خاصة من "كبار البائعين" تم تقديمها على مر السنين إلى مليارات الدولارات. ولكن الآن يتم حل كل شيء أسهل وأرخص بكثير. تُظهر الممارسة أن 99٪ من مهام العمل تقع في إحدى الحالات الثلاث الموضحة أدناه.
القضية رقم 1. التحليلات التشغيلية
مهمة نموذجية ، وهي إنشاء حلقة ملاحظات تشغيلية. المراحل الرئيسية:
- جمع البيانات متعدد البروتوكولات ومتعدد الصيغ في وضع قريب من الحقيقي (وفقًا لخصائص العمليات التجارية ، الدلتا المثلى هي عدة عشرات من الدقائق) من أنظمة مختلفة من جهات تصنيع مختلفة وكتب مرجعية بتنسيقات مختلفة. على سبيل المثال ، يمكن أن تكون بيانات من معدات الضخ ، بيانات من أجهزة مسح ضوئية مختلفة ، سجلات تشغيل النظام
- التنظيف والتطبيع والإثراء مع البيانات من مصادر وأدلة أخرى
- تحليل السلسلة الزمنية التي تم الحصول عليها. هنا هو حساب التوقعات وتحليل الانحرافات عن القيم المتوقعة ، وتحليل الشذوذ ، ومختلف مضادات الاحتيال والتنبؤ بالمشكلات المحتملة (على سبيل المثال ، بدأت درجة الحرارة في الثلاجات ترتفع ببطء. أثناء وجود المؤشرات في الإعدادات ، ولكن الاتجاه واضح - قد يصبح المنتج سيئًا قريبًا)
- حساب أي قيم KPI لحظية (ضمن حدود خيال محللي الأعمال)
- استرجاع ردود الفعل متعدد القنوات: إنشاء تقارير ، تحديث لوحات المعلومات ، إعداد التقارير التلقائية للأنظمة الخارجية (مثل المراقبة) ، التنفيذ التلقائي للأوامر في الأنظمة الأقل.
الحالات الكلاسيكية:
- السيطرة على المعدات المختلفة ،
- مراقبة العمليات التجارية الطويلة ،
- تحليل المبيعات "عبر الإنترنت" ،
- تحليل عمل مركز الاتصال ،
- تحليل عام لأنظمة التحكم في الوصول (على سبيل المثال ، هل كان هناك تطبيق في SAP للوصول إلى موظف معين في وقت معين إلى مكان معين ، أو ما تراه ACS على أنه شذوذ؟).
هناك العديد من هذه المشاكل وكل شيء يمكن حله عن طريق النظام البيئي R.
القضية رقم 2. دمج Excel
تظهر الممارسة أن Excel في الغالبية العظمى من الشركات هو الأداة الرئيسية لمحللي الأعمال. بالنسبة للمهام البسيطة ، لا يزال هذا مقبولًا ؛ بالنسبة للمهام المعقدة التي تحتوي على الكثير من البيانات ، يتحول هذا النهج إلى ثقب أسود ، يمتص أي قدر من الموارد ولا يعطي أي شيء في الإخراج.
مهمة نموذجية:
بينما (! أطلقت) تفعل {
- جمع البيانات القذرة من مجموعة من المصادر المختلفة ، ومعظمها دليل التفوق ؛
- التحقق من صحة كل ذلك مرارًا (التحقق التقني والمنطقي للمصادر + التحقق المتبادل المنطقي بين المصادر) ؛
- إجراء الحسابات والتوحيد والتوزيع ؛
- عمل الكثير من عمليات التفريغ المختلفة للتسليم إلى الوحدات الأخرى ؛
- تقرير ببراعة عن العمل المنجز.
}}
ويتم تنفيذ كل هذا في وضع الطوارئ والمعالجة المستمرة.
الحالات الكلاسيكية:
- تحليلات لأنظمة إدارة المشاريع المتكاملة (KSUP) ، عندما لا يمكنك الخروج بمشروع واحد. تقارير كتلة المقاولين قدر المستطاع ، ولكننا بحاجة إلى تكوين صورة موحدة وإدارة المخاطر.
- أنظمة الطلب والتوزيع (التجارة والخدمات اللوجستية). ما يجب حمله ، وكيفية التوزيع ، وكيفية جمع الطلبات ، وكيفية تفكيكها. من الجيد أيضًا توقع عمليات الشراء.
القضية رقم 3. نظم دعم القرار
هنا هو أبسط وأقرب إلى ML النقي:
- جمع المعلومات من حيث يمكنك (جميع أنواع مصادر odbc وغير متوافقة تمامًا مع odbc ، xml \ json ، txt \ csv \ log ، xlsx ، REST API) ؛
- ربط البيانات من مصادر مختلفة مع بعضها البعض وتؤدي إلى نموذج قابل للهضم لخوارزميات ML ؛
- يأتي حصيرة. نموذج للكيانات التجارية الموصوفة ، لحساب ؛
- رسم شرائح ووجهات نظر مختلفة ، وإنشاء تقارير مختلفة في شكل إداري (docx ، xlsx ، pptx ، pdf) مع وصف الوضع الحالي والتوصيات.
لم يتم اختراع تصنيف الحالة ، ولكن تم تحديده بناءً على الاحتياجات الحقيقية للشركة (العلوم و ML \ AI \ DL بشكل منفصل). ربما في المستقبل القريب سيكون من الممكن "المشاركة في لقطات الشاشة" حول حل 2-3 مشاكل.
تدل الممارسة على أن R + Shiny يتيح لك "النقر" على هذه المهام بكفاءة عالية جدًا. إذا كانت هناك مهام ، فمن المنطقي أن ننظر إلى هذه الأدوات عن كثب.
الوظيفة السابقة - ميزات تطبيق R قوي للمؤسسات .