الربط (ويسمى أيضًا تجميع البيانات) هو
هندسة الميزات
تقوم بتجميع النطاقات الفرعية العددية المختلفة في سلال أو
الحِزم:
في كثير من الحالات، يحول الربط البيانات الرقمية إلى بيانات فئوية.
على سبيل المثال، ننصحك باستخدام ميزة
باسم X
والذي تساوي أدنى قيمة فيه 15
أعلى قيمة هي 425. باستخدام الربط، يمكنك تمثيل X
باستخدام
السلال الخمس التالية:
- السلة 1: من 15 إلى 34
- السلة 2: من 35 إلى 117
- السلة 3: من 118 إلى 279
- السلة 4: من 280 إلى 392
- السلة 5: من 393 إلى 425
تمتد السلة 1 إلى النطاق من 15 إلى 34، وبالتالي فإن كل قيمة X
تتراوح بين 15 و34
ينتهي في السلة 1. أي نموذج تم تدريبه على هذه الصناديق لن يتفاعل بشكل مختلف
إلى X
وهي 17 و29 نظرًا لأن كلتا القيمتين في السلة 1.
يمثل متّجه الميزة السلال الخمسة على النحو التالي:
رقم السلة | النطاق | متجه الميزة |
---|---|---|
1 | 15-34 | [1.0، 0.0، 0.0، 0.0، 0.0] |
2 | 35-117 | [0.0، 1.0، 0.0، 0.0، 0.0] |
3 | 118-279 | [0.0، 0.0، 1.0، 0.0، 0.0] |
4 | 280-392 | [0.0، 0.0، 0.0، 1.0، 0.0] |
5 | 393-425 | [0.0، 0.0، 0.0، 0.0، 1.0] |
على الرغم من أن X
عبارة عن عمود واحد في مجموعة البيانات، إلا أن الربط يتسبب في نموذج
التعامل مع X
على أنّها خمس ميزات منفصلة. ومن ثم، يتعلم النموذج
أوزان منفصلة لكل سلة.
تشكّل عملية الربط بديلاً جيدًا للتحجيم أو الاقتصاص عندما استيفاء الشروط التالية:
- العلاقة الخطية الإجمالية بين العنصر و التصنيف ضعيف أو غير متوفّر.
- عندما يتم تجميع قيم الخصائص في مجموعات.
قد يبدو الربط متعارضًا، نظرًا لأن النموذج في يتعامل المثال السابق مع القيمتين 37 و115 بشكل متماثل. ولكن عندما إحدى الميزات تبدو غير مرتبة أكثر من الارتباط الخطي، فإن الربط يعد طريقة أفضل لتمثيل البيانات.
مثال على الربط: عدد المتسوقين مقابل درجة الحرارة
لنفترض أنك تنشئ نموذجًا للتنبؤ بعدد المتسوقين بدرجة الحرارة الخارجية لذلك اليوم. إليك مخطط درجة الحرارة مقابل عدد المتسوّقين:
![الشكل 9. رسم بياني بالنقاط المبعثرة 45 نقطة. الـ 45 نقطة بشكل طبيعي
مجمعة في ثلاث مجموعات.](https://developers.google.cn/static/machine-learning/crash-course/images/binning_temperature_vs_shoppers.png?authuser=19&hl=ar)
يظهر المخطط، وليس من المستغرب، أن عدد المتسوقين كان أعلى عندما كانت درجة الحرارة أكثر راحة.
يمكنك تمثيل الميزة كقيم أولية: درجة حرارة 35.0 في مجموعة البيانات ستكون 35.0 في الخط المتجه للخاصية. هل هذه أفضل فكرة؟
أثناء التدريب، يتعلم نموذج الانحدار الخطي وزنًا واحدًا لكل الجديدة. وبالتالي، إذا تم تمثيل درجة الحرارة كخاصية واحدة، عندها وتبلغ درجة الحرارة 35.0 درجة تأثير خمسة أضعاف التأثير (أو خمسة التأثير) في أحد التنبؤات عندما تكون درجة الحرارة 7.0. ومع ذلك، فإن المخطط أي نوع من العلاقة الخطية بين التصنيف قيمة الميزة.
يقترح الرسم البياني ثلاث مجموعات في النطاقات الفرعية التالية:
- السلة 1 هي نطاق درجة الحرارة من 4 إلى 11.
- السلة 2 هي نطاق درجة الحرارة 12-26.
- السلة 3 هي نطاق درجة الحرارة 27-36.
![الشكل 10. نفس مخطط التبعثر لـ 45 نقطة كما في السابق
ولكن بخطوط عمودية لجعل السلال أكثر وضوحًا.](https://developers.google.cn/static/machine-learning/crash-course/images/binning_temperature_vs_shoppers_divided_into_3_bins.png?authuser=19&hl=ar)
ويحدد النموذج الأوزان المنفصلة لكل سلة.
في حين أنه من الممكن إنشاء أكثر من ثلاث سلال، حتى لو كان منفصلاً كل قياس لدرجة الحرارة، فهذا غالبًا ما يكون فكرة سيئة للأسباب التالية:
- يستطيع النموذج فقط معرفة الارتباط بين السلة والتسمية إذا كان هناك أمثلة كافية في تلك السلة. في المثال المقدم، كل من السلال الثلاث يحتوي على 10 أمثلة على الأقل، والتي قد تكون كافية للتدريب. مع 33 سلة منفصلة، لن تحتوي أي من السلال على أمثلة كافية للتدريب عليها.
- يؤدي استخدام سلة منفصلة لكل درجة حرارة إلى 33 ميزة منفصلة لدرجة الحرارة ومع ذلك، عليك عادةً تقليل عدد الميزات في أي نموذج.
تمرين: التحقق من فهمك
يوضح الرسم البياني التالي متوسط سعر المنزل لكل 0.2 درجة من خط العرض للبلد الأسطوري وهو فريدونيا:
![الشكل 11. يشير ذلك المصطلح إلى مخطط لقيم المنزل لكل خط عرض. أدنى منزل
حوالي 327 وأعلى قيمة هي 712. تمتد خطوط العرض إلى 41.0
إلى 44.8، مع نقطة تمثل متوسط قيمة المنزل لكل
0.2 درجة من خط العرض. النمط غير منتظم للغاية، ولكن مع
مجموعتين عنقوديتين مختلفتين (مجموعة عنقودية واحدة بين خط العرض 41.0 و41.8،
ومجموعة عنقودية أخرى بين خط العرض 42.6 و43.4).](https://developers.google.cn/static/machine-learning/crash-course/images/MedianHouseValueByLatitude.png?authuser=19&hl=ar)
يوضح الرسم البياني نمطًا غير خطي بين القيمة الرئيسية وخط العرض، لذا من غير المحتمل أن يساعد تمثيل خط العرض كقيمة نقطة عائمة في النموذج ينتج تنبؤات جيدة. ربما يكون وضع خطوط العرض حجرية أفضل فكرة؟
- 41.0 إلى 41.8
- 42.0 إلى 42.6
- 42.8 إلى 43.4
- 43.6 إلى 44.8
تخزين كمية البيانات
تُنشئ تجميع البيانات الكمّية حدود تجميع، بحيث يكون الأمثلة في كل مجموعة تساوي بالضبط أو تكاد تكون. تجميع الكمية تخفي في الغالب القيم الاستثنائية.
لتوضيح المشكلة التي تحلها عملية تجميع الكمية، ضع في الاعتبار مجموعات ذات مسافات متساوية كما هو موضح في الشكل التالي، حيث تم تحديد من المجموعات العشر يمثل مساحة قدرها 10000 دولار بالضبط. لاحظ أن المجموعة من 0 إلى 10000 تحتوي على عشرات الأمثلة لكن المجموعة من 50000 إلى 60000 تحتوي على 5 أمثلة فقط. وبالتالي، يحتوي النموذج على أمثلة كافية للتدرّب على الأعداد من 0 إلى 10000 لكن لا تتوفّر أمثلة كافية للتدريب عليها لمجموعة من 50,000 إلى 60,000.
![الشكل 13. مخطط سعر السيارة مقابل عدد السيارات المبيعة في
بهذا السعر. وقد تجاوز عدد السيارات التي تم بيعها أعلى سعر يبلغ 6000.
وبلغ عدد السيارات التي تم بيعها بشكل عام فوق سعر 6,000.
انخفاض، مع بيع عدد قليل جدًا من السيارات بسعر 40000 إلى
60000. ينقسم المخطط إلى 6 مجموعات متساوية الحجم،
نطاق 10000. إذًا، تحتوي المجموعة الأولى على جميع السيارات المبيعة
سعر يتراوح بين 0 و10,000،
تحتوي الحزمة على جميع السيارات المبيعة بسعر يتراوح بين 10001 و
20000 وهكذا. تحتوي المجموعة الأولى على العديد من الأمثلة؛ التي يقضيها كل
تحتوي المجموعة اللاحقة على عدد أقل من الأمثلة.](https://developers.google.cn/static/machine-learning/crash-course/images/NeedsQuantileBucketing.png?authuser=19&hl=ar)
في المقابل، يستخدم الشكل التالي تجميع الكمية لقسمة أسعار السيارات في سلال تحتوي على العدد نفسه تقريبًا من الأمثلة في كل مجموعة. لاحظ أن بعض السلال تشمل نطاقًا ضيقًا للسعر بينما البعض الآخر نطاق سعر واسع جدًا.
![الشكل 14. مثل الشكل السابق، باستثناء مجموعات بيانات الجزء.
وهذا يعني أن للدلاء الآن أحجام مختلفة. المجموعة الأولى
يحتوي على السيارات المبيعة من 0 إلى 4000، وتحتوي المجموعة الثانية على
عدد السيارات المبيعة من 4001 إلى 6000. تحتوي المجموعة السادسة على
السيارات المبيعة من 25001 إلى 60000. عدد السيارات في كل مجموعة
أصبح الآن مماثلاً تقريبًا.](https://developers.google.cn/static/machine-learning/crash-course/images/QuantileBucketing.png?authuser=19&hl=ar)