استكشاف التراجع باستخدام مصمم Azure Machine Learning
ملاحظة لإكمال هذا النشاط المعملي، ستحتاج إلى اشتراك Azure الذي لديك فيه حق الوصول الإداري.
في هذا التمرين، سوف تقوم بتدريب نموذج انحدار يتنبأ بسعر السيارة بناءً على خصائصها.
إنشاء مساحة عمل “التعلم الآلي من Azure”
-
سجل الدخول إلى مدخل Azure باستخدام بيانات اعتماد Microsoft الخاصة بك.
- حدد + Create a resource، وابحث عن Machine Learning، وأنشئ مورد Azure Machine Learning جديد باستخدام خطة Azure Machine Learning. استخدم الإعدادات التالية:
- الاشتراك: اشتراك Azure الخاص بك.
- Resource group: أنشئ مجموعة موارد أو حددها.
- Workspace name: أدخل اسم فريد لمساحة العمل الخاصة بك.
- Region: حدد أقرب منطقة جغرافية لك.
- Storage account: لاحظ حساب التخزين الجديد الافتراضي الذي سيتم إنشاؤه لمساحة العمل الخاصة بك.
- Key vault: لاحظ الحاوية الرئيسية الجديدة الافتراضية التي سيتم إنشاؤها لمساحة العمل الخاصة بك.
- Application insights: لاحظ مورد application insights الجديد الافتراضي الذي سيتم إنشاؤه لمساحة العمل الخاصة بك.
- Container registry: لا شيء (سيتم إنشاء سجل واحد تلقائياً عند أول مرة تقوم فيها بنشر نموذج في حاوية)
-
حدد Review + create، ثم حدد Create. انتظر حتى يتم إنشاء مساحة العمل الخاصة بك (قد يستغرق الأمر بضع دقائق)، ثم انتقل إلى المورد الموزع.
-
حدد Launch studio (أو افتح علامة تبويب جديدة في مستعرض الويب، وانتقل إلى https://ml.azure.com، وسجل الدخول إلى Azure Machine Learning studio باستخدام حساب Microsoft).
- في Azure Machine Learning studio، يجب أن تشاهد مساحة العمل التي تم إنشاؤها حديثًا. إذا لم يكن الأمر كذلك، فحدد دليل Azure في القائمة اليسرى. ثم من القائمة اليسرى الجديدة، حدد مساحات العمل، حيث يتم سرد جميع مساحات العمل المقترنة باشتراكك، وقم بتحديد مسحة العمل التي أنشأتها لتمرينك.
ملاحظة تعد هذه الوحدة هي واحدة من العديد من الوحدات التي تستخدم Azure Machine Learning workspace، بما في ذلك الوحدات الأخرى في مسار التعليم أساسيات Microsoft Azure AI: استكشاف الأدوات المرئية للتعلم الآلي. إذا كنت تستخدم اشتراكك على Azure، فيمكنك إنشاء مساحة العمل مرة واحدة وإعادة استخدامها في وحدات أخرى. سيتم تحصيل مبلغ صغير من اشتراكك على Azure لتخزين البيانات طالما أن مساحة عمل التعلم الآلي من Azure موجودة في اشتراكك، لذا نوصي بحذف مساحة عمل التعلم الآلي من Azure عندما لا تكون مطلوبة.
إنشاء حساب
-
في استوديو التعليم الآلي من Microsoft Azure، حدد أيقونة ≡ (الأيقونة التي تشبة الثلاثة أسطر فوق بعضها) في أعلى اليسار لعرض الصفحات المختلفة في الواجهة (قد تحتاج إلى زيادة حجم الشاشة إلى أقصى حد). يمكنك استخدام هذه الصفحات في الجزء الأيسر لإدارة الموارد في مساحة العمل. حدد صفحة Compute (ضمن Manage).
-
في صفحة Compute، حدد علامة التبويب Compute Clusters، وأضف نظام مجموعة حساب جديد بالإعدادات التالية لتدريب نموذج التعلم الآلي:
- Location: اختر نفس مساحة العمل التي تعمل فيها. إذا لم يكن هذا الموقع مدرجًا، فاختر أقرب موقع إليك.
- Virtual machine tier: Dedicated
- Virtual machine type: معالج
- Virtual machine size:
- اختر Select from all options
- ابحث عن Standard_DS11_v2 وحدده
- حدد التالي
- Compute name: أدخل اسمًا فريدًا
- الحد الأدنى من عدد العقد: 0
- الحد الأقصى من عدد العقد: 2
- ثواني الخمول قبل تقليص الحجم: 120
- Enable SSH access: غير محدد
- حدد إنشاء.
ملاحظة تستند مثيلات الحساب ومجموعاته إلى صور جهاز Azure الظاهري القياسية. في هذه الوحدة، ينصح باستخدام صورة Standard_DS11_v2 لتحقيق التوازن الأمثل بين التكلفة والأداء. إذا كان اشتراكك يحتوي على حصة نسبية لا تتضمن هذه الصورة، فاختر صورة بديلة؛ ولكن ضع في اعتبارك أن الصورة الأكبر قد تنطوي على تكلفة أعلى وقد لا تكون الصورة الأصغر كافية لإكمال المهام. بدلاً من ذلك، اطلب من مسؤول Azure توسيع الحصة النسبية.
سيستغرق إنشاء نظام مجموعة الحساب بعض الوقت. يمكنك الانتقال إلى الخطوة التالية في أثناء الانتظار.
إنشاء مسار في المصمم وإضافة مجموعة بيانات
يتضمن التعلم الآلي من Azure نموذج مجموعة بيانات يمكنك استخدامها لنموذج التراجع.
-
في استوديو التعلم الآلي في Microsoft Azure، قم بتوسيع الجزء الأيسر عن طريق تحديد أيقونة القائمة في الجزء العلوي الأيسر من الشاشة. عاين صفحة المصمم (قيد النشر)، وحدد + لإنشاء مسار جديد.
-
قم بتغيير اسم المسودة (إنشاء-المساربتاريخ) إلى تدريب سعر السيارة.
-
بجوار اسم البنية الأساسية لبرنامج ربط العمليات التجارية على اليسار، حدد أيقونة الأسهم لتوسيع اللوحة إذا لم يتم توسيعها بالفعل. يجب فتح اللوحة بشكل افتراضي إلى جزء Asset library، المشار إليها بواسطة أيقونة الكتب في أعلى اللوحة. يوجد شريط بحث لتحديد موقع الأصول في الجزء وزرين، Data وComponent.
-
حدد مكون. ابحث عن مجموعة البيانات Automobile price data (Raw) وضعها على اللوحة.
-
انقر بزر الماوس الأيمن (Ctrl+انقر في جهاز Mac) على مجموعة البيانات بيانات سعر السيارة (الصف) على اللوحة، وانقر على معاينة البيانات.
-
راجع مخطط Dataset output، مع الإشارة إلى أنه يمكنك مشاهدة توزيعات الأعمدة المختلفة كمدرجات تكرارية.
-
قم بالتمرير إلى يمين مجموعة البيانات حتى ترى عمود Price، وهو التصنيف الذي يتوقعه النموذج.
-
مرر إلى الخلف وإلى الجانب الأيسر وحدد رأس عمود خسائر تمت تسويتها. ثم راجع الإحصائيات بالنسبة لهذا العمود. لاحظ أن هناك عدداً قليلاً جداً من القيم المفقودة في هذا العمود. تحد القيم المفقودة من فائدة العمود في التنبؤ بتسمية price، لذا قد ترغب في استبعاده من التدريب.
-
أغلق نافذة مخرجات البيانات حتى تتمكن من رؤية مجموعة البيانات على اللوحة مثل هذا:
إضافة تحويلات البيانات
عادةً ما تُطبق تحويلات البيانات لإعداد البيانات من أجل النمذجة. ففي حالة بيانات سعر السيارات، ستضيف التحويلات لمعالجة المشكلات التي حددتها عند استكشاف البيانات.
-
في جزء مكتبة الأصول على اليسار، حدد المكون، الذي يحتوي على مجموعة واسعة من الوحدات التي يمكنك استخدامها لتحويل البيانات والتدريب على النماذج. يمكنك أيضا استخدام شريط البحث لتحديد موقع الوحدات بسرعة.
-
ابحث عن الوحدة Select Columns in Dataset واسحبها إلى اللوحة، وذلك أسفل الوحدة Automobile price data (Raw). ثم اربط الإخراج الموجود أسفل الوحدة النمطية Automobile price data (Raw) بالإدخال الموجود أعلى الوحدة النمطية Select Columns in Dataset، هكذا:
-
انقر نقراً مزدوجاً فوق الوحدة Select Columns in Dataset للوصول إلى الجزء على الجانب الأيمن. حدد Edit column. ثم في نافذة Select columns، حدد By name وAdd all لإضافة كل الأعمدة. ثم قم بإزالة normalized-losses، بحيث يبدو تحديد العمود النهائي كما يلي:
-
حدد حفظ وأغلق نافذة الخاصية.
في بقية هذا التمرين، ستتبع خطوات إنشاء المسار الذي يجب أن يبدو كما يلي:
اتبع الخطوات المتبقية، مستخدماً الصورة أعلاه كمرجع بينما تقوم بإضافة الوحدات النمطية المطلوبة وتكوينها.
-
في Asset library، ابحث عن وحدة Clean Missing Data وضعها ضمن وحدة Select Columns in Dataset على اللوحة. ثم اربط الإخراج من الوحدة النمطية Select Columns in Dataset بإدخال الوحدة النمطية Clean Missing Data.
-
انقر مرتين على وحدة تنظيف البيانات المفقودة ، وفي الجزء الموجود على اليسار، حدد تحرير عمود. ثم في نافذة Columns to be cleaned، حدد With rules، وفي قائمة Include، حدد Column names، وفي مربع أسماء الأعمدة، أدخل bore وstroke وhorsepower هكذا:
- مع استمرار تحديد الوحدة Clean Missing Data، وفي الجزء على الجانب الأيمن، قم بتعيين إعدادات التكوين التالية:
- الحد الأدنى لنسبة القيمة المفقودة: 0.0
- الحد الأقصى لنسبة القيمة المفقودة: 1.0
- وضع التنظيف: إزالة الصف بالكامل
تلميح إذا عرضت إحصائيات أعمدة bore وstroke وhorsepower سترى عدد القيم المفقودة. تتضمن هذه الأعمدة عدداً أقل بكثير من القيم المفقودة عن عمود normalized-losses، لذا فإنها لا تزال ذات فائدة في التنبؤ بـprice إذا استبعدت الصفوف التي بها قيم مفقودة من التدريب.
-
في Asset library، ابحث عن وحدة Normalize Data وضعها على اللوحة، أسفل الوحدة النمطية Clean Missing Data. ثم اربط إخراج الوحدة النمطية Clean Missing Data الموجود أقصى اليسار بإدخال الوحدة النمطية Normalize Data.
- انقر نقرا مزدوجا فوق الوحدة Normalize Data لعرض جزء المعلمات الخاص بها. ستحتاج إلى تحديد طريقة التحويل والأعمدة المراد تحويلها. عيّن أسلوب التحويل إلى MinMax. تطبيق قاعدة عبر تحديد الأعمدة لتضمين Edit column لتضمين Column names التالية:
- الترميز
- قاعدة العجلات
- الطول
- العرض
- الارتفاع
- الوزن الفارغ
- حجم المحرك
- قطر الأسطوانة
- الشمس
- نسبة الضغط
- القدرة الحصانية
- أقصى حد لعدد اللفات في الدقيقة
- عدد الأميال لكل جالون في المدينة
- عدد الأميال لكل جالون على الطريق السريع
تلميح إذا قارنت القيم في أعمدة stroke، وpeak-rpm، وcity-mpg، فجميعها تقاس بمقاييس مختلفة، ومن المحتمل أن القيم الأكبر لـ peak-rpm قد تحيز خوارزمية التدريب وتخلق تبعية مفرطة في هذا العمود مقارنة بالأعمدة ذات القيم الأقل، مثل stroke. عادة ما يقوم علماء البيانات بتقليل هذا الانحياز المحتمل عن طريق تسوية الأعمدة الرقمية كي تكون على مقاييس مماثلة.
قم بتشغيل البنية الأساسية
لتطبيق تحويلات البيانات الخاصة بك، يجب عليك تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية.
-
تأكد من أن مسارك يشبه هذا الصورة:
-
حدد تكوين وإرسال في أعلى الصفحة لفتح مربع حوار إعداد مهمة مسار.
-
في صفحة الأساسيات حدد إنشاء جديد وعيّن اسم التجربة إلى mslearn-auto-training ثم حدد التالي .
-
في صفحة الإدخالات والمخرجات، حدد التالي دون إجراء أي تغييرات.
-
في صفحة إعدادات وقت التشغيل يظهر خطأ حيث ليس لديك حساب افتراضي لتشغيل المسار. في القائمة المنسدلة تحديد نوع الحوسبة حدد حساب بنظام مجموعة وفي القائمة المنسدلة حدد مجموعة Azure ML للحوسبة حدد مجموعة الحوسبة التي تم إنشاؤها مؤخرًا.
-
حدد التالي لمراجعة مهمة مسار التدريب، ثم حدد إرسال لتشغيل مسار التدريب.
-
انتظر بضع دقائق حتى تنتهي عملية التشغيل. يمكنك التحقق من حالة المهمة عن طريق تحديد المهام ضمن الأصول. ومن هناك، حدد مهمة تدريب سعر السيارة. من هنا، يمكنك معرفة متى تكتمل المهمة. بمجرد اكتمال المهمة، يتم الآن إعداد مجموعة البيانات لتدريب النموذج.
-
انتقل إلى القائمة اليسرى. ضمن التأليف حدد المصمم. ثم حدد مسار تدريب سعر السيارة من قائمة االمسارات.
إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية للتدريب
بعد استخدام تحويلات البيانات لإعداد البيانات، يمكنك استخدامها لتدريب نموذج التعلم الآلي. العمل من خلال الخطوات التالية لتوسيع البنية الأساسية لبرنامج ربط العمليات التجارية للتدريب على السعر التلقائي.
-
تأكد من تحديد القائمة اليسرى المصمم وأنك قد عدت إلى مسار تدريب سعر السيارة.
-
في جزء Asset library الموجود في جهة اليسار، ابحث عن الوحدة Split Data وضعها في اللوحة ضمن الوحدة Normalize Data. ثم اربط إخراج Transformed Dataset للوحدة Normalize Data (على الجانب الأيسر) بإدخال الوحدة Split Data.
تلميح استخدم شريط البحث لتحديد موقع الوحدات بسرعة.
- انقر نقرًا مزدوجًا على الوحدة Split Data، وكوّن إعداداتها كما يلي:
- وضع التقسيم: تقسيم الصفوف
- كسر الصفوف في مجموعة بيانات الإخراج الأولى: 0.7
- Randomized split: True
- القيمة الأولية العشوائية: 123
- التقسيم الطبقي: خطأ
-
في Asset library، ابحث عن الوحدة Train Model وضعها في اللوحة، ضمن الوحدة Split Data. ثم اربط إخراج Results dataset1 للوحدة Split Data (على الجانب الأيسر) بإدخال Dataset للوحدة Train Model (على الجانب الأيمن).
-
سوف يتنبأ النموذج الذي نقوم بتدريبه بقيمة price، لذا حدد الوحدة Train Model وعدل إعداداتها لتعيين Label column على price (مطابقة الحالة والتدقيق الإملائي بالضبط!)
تُعدُّ تسمية السعر الذي سيتنبأ به النموذج قيمة رقمية، لذا يتعين علينا تدريب النموذج باستخدام خوارزمية انحدار.
-
في Asset library، ابحث عن الوحدة Linear Regression وضعها في اللوحة، على يسار الوحدة Split Data وفوق الوحدة Train Model. ثم اربط ناتجه بإدخال النموذج غير المدرب للوحدة النمطية Train Model (على الجانب الأيسر).
ملاحظة هناك العديد من الخوارزميات التي يُمكنك استخدامها لتدريب نموذج التراجع. للمساعدة على اختيار إحداها، ألقِ نظرة على ورقة المعلومات المرجعية لخوارزميات التعلم الآلي لمصمم التعلم الآلي من Azure.
لاختبار النموذج المدرب، يتعين علينا استخدامه من أجل تسجيل درجة مجموعة بيانات التحقق التي احتفظنا بها عند تقسيم البيانات الأصلية. بعبارة أخرى، التنبؤ بتسميات الميزات في مجموعة بيانات التحقق.
-
في Asset Library، ابحث عن الوحدة Score Model وضعها في اللوحة، أسفل الوحدة Train Model. ثم اربط إخراج الوحدة النمطية تدريب النموذج بإدخال النموذج المدرب للوحدة النمطية تسجيل نقاط النموذج (على الجانب الأيسر)؛ واسحب إخراج نتائج dataset2 للوحدة النمطية تقسيم البيانات (على الجانب الأيمن) بإدخال مجموعة البيانات للوحدة النمطية تسجيل النموذج (على الجانب الأيمن).
-
تأكد من أن المسار لديك يبدو كهذه الصورة:
تشغيل المسار الخاص بالتدريب
الآن أنت مستعد لتشغيل البنية الأساسية للتدريب وتدريب النموذج.
-
حدد تكوين وإرسال، وقم بتشغيل المسار باستخدام التجربة الموجودة المسماة mslearn-auto-training.
-
سيستغرق تشغيل التجربة 5 دقائق أو أكثر لإكمالها. ارجع إلى صفحة المهام وحدد أحدث تشغيل لمهمة تدريب سعر السيارة.
-
في النافذة الجديدة، انقر بزر الماوس الأيمن فوق وحدة وحدة الناتج وحدد معاينة البيانات ثم مجموعة البيانات المسجلة لعرض النتائج.
-
مرر إلى اليمين، ولاحظ أن بجانب عمود price (الذي يحتوي على القيم الصحيحة المعروفة للوصف) يوجد عمود جديد باسم Scored Labels، يحتوي على قيم الأوصاف المتوقعة.
-
أغلق علامة التبويب scored_dataset.
يتنبأ النموذج بقيم تسمية السعر، ولكن ما مدى موثوقية تنبؤاته؟ لتقييم ذلك، تحتاج إلى تقييم النموذج.
تقييم النموذج
تتمثل إحدى الطرق لتقييم نموذج التراجع في مقارنة التسميات المتوقعة بالتسميات الفعلية في مجموعة بيانات التحقق التي تم احتجازها أثناء التدريب. هناك طريقة أخرى تتمثل في مقارنة أداء نماذج متعددة.
-
افتح البنية الأساسية لبرنامج ربط العمليات التجارية للتدريب على سعر السيارات الذي قمت بإنشائه.
-
في Asset library ابحث عن الوحدة Evaluate Model وضعها في اللوحة، ضمن الوحدة Score Model، ووصل الإخراج الخاص بالوحدة Score Model بإدخال Scored dataset (الموجود على اليسار) الخاص بالوحدة Evaluate Model.
-
تأكد من أن البنية الأساسية تبدو على هذا النحو:
-
حدد تكوين وإرسال، وقم بتشغيل المسار باستخدام التجربة الموجودة المسماة mslearn-auto-training.
-
سيستغرق إكمال تشغيل التجربة بضعة دقائق. ارجع إلى صفحة المهام وحدد أحدث تشغيل لمهمة تدريب سعر السيارة.
-
عند اكتمال تشغيل التجربة، حدد Job detail، والتي ستفتح علامة تبويب أخرى. ابحث عن الوحدة Evaluate Model وانقر بزر الماوس الأيمن فوقها. حدد “Preview data” ثم “Evaluation results”.
- في جزء Evaluation_results، راجع مقاييس أداء التراجع.
- متوسط الخطأ المطلق (MAE)
- خطأ تربيعي متوسط الجذر (RMSE)
- خطأ تربيع نسبي (RSE)
- خطأ مطلق نسبي (RAE)
- معامل التحديد (R2)
- أغلق جزء “Evaluation_results”.
عندما تكون قد حددت نموذجاً باستخدام مقاييس التقييم التي تلبي احتياجاتك، يُمكنك الاستعداد لاستخدام هذا النموذج بالبيانات الجديدة.
إنشاء مسار استدلال وتشغيله
-
حدد موقع القائمة أعلى اللوحة وحدد إنشاء مسار الاستنتاج. قد تحتاج إلى توسيع الشاشة إلى وضع الشاشة الكاملة والنقر على أيقونة النقاط الثلاث … في الزاوية العلوية اليمنى من الشاشة من أجل العثور على Create inference pipeline في القائمة.
-
في القائمة المنسدلة إنشاء مسار الاستنتاج، حدد مسار الاستنتاج في الوقت الفعلي. بعد بضع ثوانٍ، سيتم فتح إصدار جديد من مسارك باسم الاستدلال في الوقت الفعلي على تدريب سعر السيارات.
-
أعد تسمية المسار الجديد ليكون التنبؤ بسعر السيارات، ثم راجع المسار الجديد. تحتوي على إدخال خدمة ويب للبيانات الجديدة المطلوب تقديمها، ومخرجات خدمة الويب لإرجاع النتائج. بعض التحويلات وخطوات التدريب هي جزء من هذا المسار. سيتم استخدام النموذج المدرب لتسجيل البيانات الجديدة.
ستقوم بإجراء التغييرات التالية على البنية الأساسية للاستدلال في الخطوات التالية:
استخدم الصورة كمرجع أثناء تعديل البنية الأساسية في الخطوات التالية.
- يفترض مسار الاستدلال أن البيانات الجديدة ستطابق مخطط بيانات التدريب الأصلية، وذلك كي تكون مجموعة البيانات التي تخص بيانات سعر السيارات (Raw) من مسار التدريب مضمنة. ومع ذلك، تتضمن بيانات الإدخال هذه تسمية price التي يتنبأ بها النموذج، والتي يعد من غير البديهي تضمينها في بيانات السيارة الجديدة التي لم يتم إجراء التنبؤ بسعرها بعد. احذف هذه الوحدة واستبدلها بوحدة إدخال البيانات يدويًا من قسم مدخلات ومخرجات البيانات.
-
قم بتحرير وحدة إدخال البيانات يدويًا وأدخل بيانات CSV التالية، والتي تتضمن قيم ميزات بدون تسميات لثلاث سيارات (انسخ كتلة النص بأكملها والصقها):
symboling,normalized-losses,make,fuel-type,aspiration,num-of-doors,body-style,drive-wheels,engine-location,wheel-base,length,width,height,curb-weight,engine-type,num-of-cylinders,engine-size,fuel-system,bore,stroke,compression-ratio,horsepower,peak-rpm,city-mpg,highway-mpg 3,NaN,alfa-romero,gas,std,two,convertible,rwd,front,88.6,168.8,64.1,48.8,2548,dohc,four,130,mpfi,3.47,2.68,9,111,5000,21,27 3,NaN,alfa-romero,gas,std,two,convertible,rwd,front,88.6,168.8,64.1,48.8,2548,dohc,four,130,mpfi,3.47,2.68,9,111,5000,21,27 1,NaN,alfa-romero,gas,std,two,hatchback,rwd,front,94.5,171.2,65.5,52.4,2823,ohcv,six,152,mpfi,2.68,3.47,9,154,5000,19,26
-
اربط وحدة إدخال البيانات يدويًا الجديدة مع مجموعة بيانات نفسها لوحدة تحديد الأعمدة في مجموعة البيانات باعتبارها إدخال خدمة الويب.
-
والآن بعد أن غيرت مخطط البيانات الواردة لاستبعاد حقل السعر، يتعين عليك إزالة أي استخدامات صريحة لهذا الحقل في الوحدات النمطية المتبقية. حدد الوحدة النمطية Select Columns in Dataset ثم من جزء “settings”، حرر الأعمدة لإزالة حقل السعر.
-
تتضمن البنية الأساسية للاستدلال الوحدة Evaluate Model، والتي تعد غير مفيدة عند إجراء التنبؤ باستخدام البيانات الجديدة، لذا احذف هذه الوحدة.
- يتضمن الإخراج الوارد من الوحدة النمطية Score Model جميع ميزات الإدخال وكذلك التسمية المتوقعة. لتعديل الإخراج كي يتضمن التنبؤ فقط:
- احذف الارتباط بين الوحدة Score Model وWeb Service Output.
- أضف وحدة من وحدات Execute Python Script من قسم “Python Language”، مستبدلاً جميع نصوص Python الافتراضية بالرمز التالي (الذي يحدد عمود التسميات المسجلة فقط ويعيد تسميته ليكون predicted_price):
import pandas as pd def azureml_main(dataframe1 = None, dataframe2 = None): scored_results = dataframe1[['Scored Labels']] scored_results.rename(columns={'Scored Labels':'predicted_price'}, inplace=True) return scored_results
ملاحظة: قد يؤدي النسخ واللصق إلى إدخال مسافات في البرنامج النصي لـ Python التي يجب ألا تكون موجودة. تحقق مرة إضافية من عدم وجود مسافة قبل الاستيراد أو التعريف أو العودة. تأكد من وجود مسافة بادئة لعلامة تبويب واحدة قبل scored_results و scored_results.rename().
-
اربط المخرجات من وحدة وحدة الناتج إلى إدخال Dataset1 (أقصى اليسار) من تنفيذ برنامج Python النصي.
-
اربط مخرجات مجموعة بيانات النتيحة (يسار) لـ النص البرمجي لتنفيذ Python مع وحدة مخرجات خدمة الويب.
-
تحقق من أن البنية الأساسية تشبه الصورة التالية:
-
أرسل المسار باعتباره تجربة جديدة باسم mslearn-auto-inference إلى نظام مجموعة الحساب الخاص بك. قد تستغرق التجربة بعض الوقت لتشغيلها.
-
ارجع إلى صفحة المهام وحدد تشغيل أحدث مهمة تدريب سعر السيارة (المهمة المتعلقة بـ تجربة mslearn-auto-inference).
-
عند اكتمال المسار، انقر بزر الماوس الأيمن فوق الوحدة النمطية تنفيذ برنامج Python النصي . حدد أيقونة معاينة البيانات ثم مجموعة بيانات النتائج لمشاهدة الأسعار المتوقعة للسيارات الثلاث في بيانات الإدخال.
- أغلق علامة التبويب Result_Dataset.
يتنبأ مسار الاستدلال الخاص بك بأسعار السيارات بناءً على ميزاتها. الآن أنت جاهز لنشر البنية الأساسية بحيث يمكن استخدام تطبيقات العميل.
توزيع النموذج
بعد أن قمت بإنشاء مسار استدلال واختبره للاستدلال في الوقت الحقيقي، يُمكنك نشره باعتباره خدمة لتطبيقات العملاء من أجل استخدامه.
ملاحظة: في هذا التمرين، ستقوم بتوزيع خدمة الويب على حل Azure Container Instance (ACI). يتم إنشاء هذا النوع من الحساب بشكل حيوي، وهو مفيد للتطوير والاختبار. للإنتاج، يجب عليك إنشاء “inference cluster”، والتي توفر مجموعة “Azure Kubernetes Service (AKS)” التي توفر قابلية التوسع والأمن أفضل.
نشر خدمة
-
في صفحة تشغيل مهمة تدريب سعر السيارة حدد نشر من شريط القوائم في الأعلى.
- في شاشة التكوين، حدد نشر نقطة نهاية في الوقت الفعلي، باستخدام الإعدادات التالية:
- الاسم: predict-auto-price
- الوصف: تراجع سعر السيارات
- نوع الحساب: Azure Container Instance
- حدد نشر وانتظر بضع دقائق حتى يتم نشر خدمة الويب.
اختبار الخدمة
-
من صفحة “Endpoints”، افتح النقطة النهائية في الوقت الحقيقي predict-auto-price.
-
عند فتح نقطة نهاية predict-auto-price، حدد علامة التبويب “Test”. سنستخدمه لاختبار نموذجنا ببيانات جديدة. احذف البيانات الحالية ضمن البيانات المُدخلة لاختبار نقطة النهاية. انسخ البيانات أدناه والصقها في قسم البيانات:
{ "Inputs": { "WebServiceInput0": [ { "symboling": 3, "normalized-losses": 1.0, "make": "alfa-romero", "fuel-type": "gas", "aspiration": "std", "num-of-doors": "two", "body-style": "convertible", "drive-wheels": "rwd", "engine-location": "front", "wheel-base": 88.6, "length": 168.8, "width": 64.1, "height": 48.8, "curb-weight": 2548, "engine-type": "dohc", "num-of-cylinders": "four", "engine-size": 130, "fuel-system": "mpfi", "bore": 3.47, "stroke": 2.68, "compression-ratio": 9, "horsepower": 111, "peak-rpm": 5000, "city-mpg": 21, "highway-mpg": 27 } ] }, "GlobalParameters": {} }
-
حدد اختبار. على الجانب الأيمن من الشاشة، يجب أن تشاهد الإخراج ‘predicted_price’. الإخراج هو السعر المتوقع للسيارة مع ميزات الإدخال المحددة في البيانات.
دعونا نستعرض ما فعلته. قمت بتنظيف وتحويل مجموعة بيانات من بيانات السيارات، ثم استخدمت ميزات السيارة لتدريب نموذج. يتنبأ النموذج بسعر السيارة، وهو التسمية.
لقد اختبرت خدمة جاهزة للاتصال بتطبيق عميل باستخدام بيانات الاعتماد في علامة التبويب Consume. سننهي التمرين المعملي هنا. نرحب بمواصلة تجربة الخدمة التي قمت بتوزيعها للتو.
التنظيف
تتم استضافة خدمة الويب التي قمت بإنشائها في Azure Container Instance. إذا كنت لا تنوي إجراء المزيد من التجارب عليها، فإنه يجب عليك حذف نقطة النهاية لتجنب تراكم استخدام Azure غير الضروري. يجب عليك أيضًا حذف نظام مجموعة الحوسبة.
-
في أستوديو التعلم الآلي من Azure، ومن علامة التبويب نقاط النهاية، حدد نقطة النهاية predict-auto-price. ثم حدد Delete، وقم بالتأكيد على رغبتك في حذف نقطة النهاية.
-
في صفحة Compute، وفي علامة التبويب Compute clusters، حدد نظام مجموعة الحساب ثم حدد Delete.
ملاحظة يضمن حذف الحساب عدم تحصيل رسوم من اشتراكك مقابل موارد الحساب. ومع ذلك، سيتم تحصيل مبلغ صغير لتخزين البيانات طالما أن مساحة عمل التعلم الآلي من Azure موجودة في اشتراكك. إذا انتهيت من استكشاف التعلم الآلي من Azure، فإنه يمكنك حذف مساحة عمل التعلم الآلي من Azure والموارد المقترنة بها. ومع ذلك، إذا كنت تخطط لإكمال أي معامل تجريبية أخرى في هذه السلسلة، سوف تحتاج إلى إعادة إنشائها.
لحذف مساحة العمل لديك:
- في مدخل Azure، ومن صفحة Resource groups، افتح مجموعة الموارد التي حددتها عند إنشاء مساحة عمل Azure Machine Learning.
- انقر فوق حذف مجموعة الموارد، واكتب اسم مجموعة الموارد لتأكيد أنك ترغب في حذفها، ثم حدد Delete.