التمثيل: صفات الميزات الجيدة

لقد اكتشفنا طرقًا لتعيين البيانات الأولية إلى متجهات خصائص مناسبة، ولكن هذا جزء فقط من العمل. يجب علينا الآن استكشاف أنواع القيم التي تجعل ميزات جيدة بالفعل داخل متجهات الميزات هذه.

تجنَّب استخدام قيم الخصائص المنفصلة التي نادرًا ما يتم استخدامها.

يجب أن تظهر قيم الخصائص الجيدة أكثر من 5 مرات في مجموعة البيانات. حيث يتيح ذلك للنموذج معرفة كيفية ارتباط قيمة الميزة هذه بالتسمية. ويعني ذلك أنّ توفُّر العديد من الأمثلة بنفس القيمة المنفصلة يمنح النموذج فرصة لرؤية الميزة في إعدادات مختلفة، وبالتالي تحديد ما إذا كان مؤشّرًا جيدًا للتصنيف. على سبيل المثال، من المرجح أن تحتوي ميزة house_type على العديد من الأمثلة التي كانت قيمتها victorian:

house_type: victorian

وبالعكس، إذا كانت قيمة الميزة تظهر مرة واحدة فقط أو نادرًا جدًا، لا يمكن للنموذج إجراء تنبؤات استنادًا إلى هذه الميزة. على سبيل المثال، تُعد unique_house_id ميزة سيئة نظرًا لأنه سيتم استخدام كل قيمة مرة واحدة فقط، لذلك لا يمكن للنموذج أن يتعلم أي شيء منها:

unique_house_id: 8SK982ZZ1242Z

تفضيل المعاني الواضحة والواضحة

ينبغي أن يكون لكل ميزة معنى واضح وواضح لأي شخص في المشروع. على سبيل المثال، تمت تسمية الميزة الجيدة التالية بوضوح وتكون القيمة منطقية في ما يتعلق بالاسم:

 house_age_years: 27 

وعلى العكس من ذلك، فإن معنى قيمة الميزة التالية لا يفهمه أي شخص إلا المهندس الذي أنشأه:

house_age: 851472000

في بعض الحالات، تسبب البيانات الصاخبة (بدلاً من الخيارات الهندسية السيئة) قيمًا غير واضحة. على سبيل المثال، جاء user_age_years التالي من مصدر لم يتحقق من القيم المناسبة:

user_age_years: 277

لا تخلِط بين القيم "السحرية" والبيانات الفعلية.

لا تحتوي ميزات النقطة العائمة الجيدة على حالات انقطاع خارج النطاق أو قيم "سحرية" خاصة. على سبيل المثال، لنفترض أن إحدى الميزات تحتوي على قيمة نقطة عائمة بين 0 و1. لذلك، لا بأس في استخدام قيم مثل ما يلي:

quality_rating: 0.82
quality_rating: 0.37

في المقابل، إذا لم يُدخل المستخدم السمة quality_rating، قد تكون مجموعة البيانات قد تمثّلت في عدم توفّر هذه السمة بقيمة سحرية على النحو التالي:

quality_rating: -1

لوضع علامة على القيم السحرية بوضوح، يمكنك إنشاء ميزة منطقية تشير إلى ما إذا تم توفير quality_rating أم لا. امنح هذه الميزة المنطقية اسمًا مثل is_quality_rating_defined.

في الميزة الأصلية، استبدل القيم السحرية على النحو التالي:

  • بالنسبة إلى المتغيرات التي تأخذ مجموعة محدودة من القيم (متغيرات منفصلة)، أضف قيمة جديدة إلى المجموعة واستخدمها للإشارة إلى أن قيمة الميزة مفقودة.
  • بالنسبة إلى المتغيرات المستمرة، تأكد من أن القيم المفقودة لا تؤثر في النموذج باستخدام القيمة المتوسطة لبيانات الميزة.

مراعاة عدم استقرار البث

يجب ألا يتغير تعريف الميزة بمرور الوقت. على سبيل المثال، تُعدّ القيمة التالية مفيدة لأنّ اسم المدينة على الأرجح لن يتغيّر. (لاحظ أننا سنظل بحاجة إلى تحويل سلسلة مثل "br/sao_paulo" إلى متجه واحد فعال).

city_id: "br/sao_paulo"

لكن جمع القيمة التي يستنتجها نموذج آخر يحمل تكاليف إضافية. ربما تمثل القيمة "219" حاليًا ساو باولو، ولكن يمكن أن يتغير هذا التمثيل بسهولة على التشغيل المستقبلي للنموذج الآخر:

inferred_city_cluster: "219"