إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح هذه المقالة كيفية إعداد AutoML للبيانات للتدريب على التراجع وتصف إعدادات البيانات القابلة للتكوين. يمكنك ضبط هذه الخيارات أثناء إعداد التجربة في واجهة مستخدم AutoML.
لتكوين هذه الإعدادات باستخدام واجهة برمجة تطبيقات AutoML، راجع مرجع واجهة برمجة تطبيقات AutoML Python.
أنواع ميزات البيانات المدعومة
يتم دعم أنواع الميزات المدرجة أدناه فقط. على سبيل المثال، الصور غير معتمدة.
أنواع الميزات التالية مدعومة:
- رقمية (
ByteTypeوIntegerTypeShortTypeوLongTypeوFloatTypeو وDoubleType) - Boolean
- سلسلة (نص فئوي أو إنجليزي)
- الطوابع الزمنية (
TimestampType،DateType) - ArrayType[Numeric] (Databricks Runtime 10.4 LTS ML وما فوق)
- DecimalType (Databricks Runtime 11.3 LTS ML وما فوق)
إسناد القيم المفقودة
في Databricks Runtime 10.4 LTS ML وما فوق، يمكنك تحديد كيفية تسجيل القيم الخالية. في واجهة المستخدم، حدد أسلوبا من القائمة المنسدلة في العمود Impute with في مخطط الجدول. في واجهة برمجة التطبيقات، استخدم المعلمة imputers . لمزيد من المعلومات، راجع مرجع AutoML Python API.
بشكل افتراضي، يحدد AutoML أسلوبا للاقتراض استنادا إلى نوع العمود والمحتوى.
إشعار
إذا قمت بتحديد أسلوب غير افتراضي للاعتداء، لا يقوم AutoML بإجراء الكشف عن النوع الدلالي.
تحديد العمود
في Databricks Runtime 10.3 ML وما فوق، يمكنك تحديد الأعمدة التي يجب أن يستخدمها AutoML للتدريب. لاستبعاد عمود في واجهة المستخدم، قم بإلغاء تحديده في العمود تضمين . في واجهة برمجة التطبيقات، استخدم المعلمة exclude_cols . لمزيد من المعلومات، راجع مرجع AutoML Python API.
لا يمكنك إسقاط العمود المحدد كهدف التنبؤ أو عمود الوقت لتقسيم البيانات.
بشكل افتراضي، يتم تضمين جميع الأعمدة.
تقسيم البيانات إلى مجموعات التدريب والتحقق من الصحة والاختبار
يقسم AutoML بياناتك إلى ثلاثة تقسيمات للتدريب والتحقق من الصحة والاختبار. اعتمادا على نوع مشكلة التعلم الآلي، لديك خيارات مختلفة لتقسيم البيانات.
استخدم الطرق التالية لتقسيم البيانات إلى مجموعات التدريب والتحقق من الصحة والاختبار:
(افتراضي) تقسيم عشوائي: إذا لم يتم تحديد استراتيجية تقسيم البيانات، يتم تقسيم مجموعة البيانات عشوائيا إلى تقسيم قطار بنسبة 60٪، و20٪ التحقق من صحة التقسيم، وتقسيم الاختبار 20٪. للتصنيف، يضمن التقسيم العشوائي الطبقي تمثيل كل فئة بشكل كاف في مجموعات التدريب والتحقق من الصحة والاختبار.
تقسيم زمني: في Databricks Runtime 10.4 LTS ML وما فوق، يمكنك تحديد عمود زمني لإنشاء تدريب زمني والتحقق من صحة التقسيمات واختبارها. تستخدم التقسيمات الزمنية أقدم نقاط البيانات للتدريب، والأقرب التالي للتحقق من الصحة، وأحدث نقاط الاختبار. يمكن أن يكون عمود الوقت طابعا زمنيا أو عددا صحيحا أو عمود سلسلة.
الانقسام اليدوي: في Databricks Runtime 15.3 ML وما فوق، يمكنك استخدام واجهة برمجة التطبيقات لإعداد تقسيم يدوي. حدد عمودا منقسما واستخدم القيم trainأو validateأو test لتحديد الصفوف التي تريد استخدامها للتدريب والتحقق من صحة مجموعات البيانات واختبارها. يتم تجاهل أي صفوف ذات قيم أعمدة مقسمة بخلاف trainأو testأو validate ويتم رفع تنبيه مطابق.
أخذ عينات من مجموعات البيانات الكبيرة
على الرغم من أن AutoML يوزع تجارب ضبط المعلمات الفائقة عبر العقد العاملة في نظام المجموعة، يتم تدريب كل نموذج على عقدة عاملة واحدة.
يقوم AutoML تلقائيا بتقدير الذاكرة المطلوبة لتحميل مجموعة البيانات وتدريبها وعينات مجموعة البيانات إذا لزم الأمر.
| إصدار وقت تشغيل Databricks | سلوك أخذ العينات |
|---|---|
| 9.1 LTS ML - 10.4 LTS ML | كسر أخذ العينات ثابت ولا يعتمد على نوع عقدة نظام المجموعة أو الذاكرة لكل عقدة. |
| 11.x ML | يزيد كسر أخذ العينات للعقد العاملة مع المزيد من الذاكرة لكل ذاكرة أساسية. لزيادة حجم العينة: - استخدم نوع مثيل محسن للذاكرة . - اضبط spark.task.cpus في تكوين Spark. الافتراضي هو 1، والقيمة القصوى هي عدد وحدات المعالجة المركزية على عقدة العامل. القيمة القصوى هي عدد وحدات المعالجة المركزية على عقدة العامل. عند زيادة هذه القيمة، يكون حجم العينة أكبر، ولكن يتم تشغيل عدد أقل من الإصدارات التجريبية بالتوازي.مثال: على جهاز مزود بذاكرة وصول عشوائي بسعة 4 ذاكرات أساسية وذاكرة وصول عشوائي بسعة 64 غيغابايت: - مع spark.task.cpus=1، يتم تشغيل أربع تجارب لكل عامل، يستخدم كل منها ذاكرة وصول عشوائي 16 غيغابايت.- مع spark.task.cpus=4، يتم تشغيل إصدار تجريبي واحد لكل عامل، باستخدام جميع ذاكرة الوصول العشوائي بسعة 64 غيغابايت. |
| 11.3 LTS ML وما فوق | إذا عين AutoML مجموعة البيانات، يتم عرض كسر أخذ العينات في علامة التبويب نظرة عامة في واجهة المستخدم. |
| 12.2 LTS ML وما فوق | يمكن ل AutoML معالجة مجموعات البيانات الأكبر عن طريق تخصيص المزيد من الذاكرات الأساسية لوحدة المعالجة المركزية لكل مهمة تدريب. قم بزيادة حجم العينة عن طريق تحديد مثيل بذاكرة إجمالية أكبر. |
بالنسبة لمشاكل التصنيف، يستخدم AutoML أسلوب PySpark sampleBy لأخذ العينات الطبقية للحفاظ على توزيع التسمية الهدف.
بالنسبة لمشكلات الانحدار، يستخدم AutoML أسلوب PySpark.sample
الكشف عن النوع الدلالي
إشعار
- لا يقوم AutoML بإجراء الكشف عن النوع الدلالي للأعمدة التي تم تحديد أساليب الإسناد المخصصة لها.
مع Databricks Runtime 9.1 LTS ML وما فوق، يحاول AutoML اكتشاف ما إذا كانت الأعمدة لها نوع دلالي مختلف عن نوع بيانات Spark أو pandas في مخطط الجدول. يعامل AutoML هذه الأعمدة على أنها النوع الدلالي المكتشف. هذه الاكتشافات هي أفضل جهد وقد تفوت أحيانا وجود أنواع دلالية. يمكنك أيضا تعيين النوع الدلالي لعمود يدويا أو إخبار AutoML بعدم تطبيق الكشف عن النوع الدلالي على عمود باستخدام التعليقات التوضيحية.
على وجه التحديد، يقوم AutoML بإجراء هذه التعديلات:
- يتم التعامل مع أعمدة السلسلة والعدد الصحيح التي تمثل بيانات التاريخ أو الطابع الزمني كنوع طابع زمني.
- يتم التعامل مع أعمدة السلسلة التي تمثل البيانات الرقمية كنوع رقمي.
مع Databricks Runtime 10.1 ML وما فوق، يقوم AutoML أيضا بإجراء هذه التعديلات:
- يتم التعامل مع الأعمدة الرقمية التي تحتوي على معرفات فئوية كميزة فئوية.
- يتم التعامل مع أعمدة السلسلة التي تحتوي على نص إنجليزي كميزة نصية.
التعليقات التوضيحية للنوع الدلالي
باستخدام Databricks Runtime 10.1 ML وما فوق، يمكنك التحكم يدويا في النوع الدلالي المعين عن طريق وضع تعليق توضيحي للنوع الدلالي على عمود. لإضافة تعليق توضيحي للنوع الدلالي للعمود <column-name> يدويا ك <semantic-type>، استخدم بناء الجملة التالي:
metadata_dict = df.schema["<column-name>"].metadata
metadata_dict["spark.contentAnnotation.semanticType"] = "<semantic-type>"
df = df.withMetadata("<column-name>", metadata_dict)
<semantic-type> يمكن أن يكون أحد الإجراءات التالية:
categorical: يحتوي العمود على قيم فئوية (على سبيل المثال، القيم الرقمية التي يجب معاملتها كمعرفات).numeric: يحتوي العمود على قيم رقمية (على سبيل المثال، قيم السلسلة التي يمكن تحليلها إلى أرقام).datetime: يحتوي العمود على قيم الطابع الزمني (قيم سلسلة أو عددية أو تاريخ يمكن تحويلها إلى طوابع زمنية).text: يحتوي عمود السلسلة على نص إنجليزي.
لتعطيل الكشف عن النوع الدلالي على عمود، استخدم التعليق التوضيحي nativeللكلمة الأساسية الخاصة .