حمود الدوسري
حمود الدوسري

@Dr_Hmood

12 تغريدة 895 قراءة Apr 26, 2020
ماهو الفرق بين standardization و normalization؟
يساعد تحويل البيانات (Data transformation) على زيادة دقة نماذج #تعلم_الآلة (Machine Learning)، أسفل التغريدة سنشرح الفرق بين توحيد البيانات و تطبيعها، ومتى وكيف يتم تطبيق كل منهجية مع أمثلة وكود بلغة Python
kdnuggets.com
تحويل البيانات إحدى الخطوات الأساسية في مرحلة معالجة وتجهيز البيانات لمرحلة بناء النماذج، قد نقوم بتحويل البيانات من نوع إلى نوع (بيانات أسمية إلى رقمية أو العكس) ، وكذلك قد نقوم بتحويلها من مقاس إلى مقاس آخر (features rescaling)
هناك طريقتان لتحويل البيانات من مقاس إلى مقاس آخر:
📍توحيد البيانات (standarization)
📍تطبيع البيانات (normalization)
يُطلق على توحيد البيانات (z-score normalization) ، وتطبيع البيانات يسمونه (Max-Min normalization) ... وسنعرف لماذا؟
لماذا نحتاج هذا التحويل؟
في الحياة العملية غالباً مانواجه بيانات بمقاسات مختلفة مثل الراتب والعمر ، استخدام المقاس الأصلي لكل متغير عند تدريب خوارزميات تعلم الآلة يؤدي إلى إعطاء وزن أعلى للمتغير صاحب النطاق الأكبر (الراتب)، لذا نحتاج تحويل كل المتغيرات إلى نطاق موحد (range)
خلونا ناخذ هذا المثال لنوضح المشكلة وكيفية حلها بالطريقتين، لنفترض أن لدينا محل يريد أن يعرف العميل الذي سيشتري المنتج بناءً على البيانات الشخصية مثل ماهو واضح أمامكم (الجنسية، العمر، الراتب) لاحظوا أن نطاق أو مدى الراتب (35 ألف) أكبر بكثير من العمر (23)، مما يعطي الراتب وزن أعلى
لنوضح المشكلة أكثر ، عندما نحسب المسافة الإكليدية (Euclidean distance) يكون فرق الراتب أكبر بكثير من فرق العمر، وسيهيمن الراتب على حساب المسافة الإكليدية، ومساهمة العمر ستكون ضعيفة، لذا يجب تحويل مقاسات الراتب والعمر إلى نطاق موحد حتى تكون مساهمتها في المسافة الإكليدية متساوية
توحيد البيانات (standardisation):
هي تحويل القيم إلى مقاس جديد متوسطه 0 وانحرافه المعياري 1 ، هذه التقنية مفيدة في خوارزميات التحسين التي تستخدم في وزن المدخلات مع regression و neural networks ، وبشكل عام تكمن أهمية هذه التقنية مع الخوارزميات التي تعتمد على قياس المسافة مثل KNN
تطبيع البيانات (normalization):
تهدف هذه التقنية إلى إعادة قياس الميزات بقيمة توزيع بين 0 و 1 بحيث تكون القيمة الصغرى صفر والقيمة العظمى 1 ، لذلك يُسمى (Max-Min Normalization)
عند تطبيع البيانات (normalization) سنحصل على انحراف معياري أصغر بعكس توحيد البيانات(standarization) ، في الرسوم المرفقة سنلاحظ أن الانحراف المعياري للعمر والراتب عند تطبيع البيانات أصغر منها عند توحيد البيانات ، مما يعني أن التطبيع يُنتج بيانات أكثر تركيزاً حول المتوسط
لذلك إذا كان لدينا قيم متطرفة (outliers) فإن عملية التطبيع (normalization) تؤدي إلى تحويل قيم البيانات إلى مقياس صغير (كل الخصائص لها نفس الحجم)، بعكس التوحيد (standarization) والذي يُنصح به في حالة وجود قيم متطرفة لقوته ، وفي كثير من الأحيان يُفضل التوحيد على التطبيع
ماهي الخوارزميات التي تحتاج features rescaling؟
جدول يوضح الخوارزميات التي تحتاج عملية التوحيد أو التطبيع قبل تدريبها، مع ملاحظة أن الخوارزميات التي لا تعتمد على المسافة لاتحتاج لعملية التحويل مثل خوارزمية Naive Bayes ، و Tree-Based models (gradient boosting, random forest, etc.)
للمهتمين بالموضوع هنا رابط بيانات المثال الي ذكرناه مع كود Python لعملية التوحيد وعملية التطبيع:
github.com
مزيد من الأمثلة والأكواد أيضاً في هذا المقال:
@swethalakshmanan14/how-when-and-why-should-you-normalize-standardize-rescale-your-data-3f083def38ff" target="_blank" rel="noopener" onclick="event.stopPropagation()">medium.com
@cona2020 صحيح

جاري تحميل الاقتراحات...