Menu
CoddyTech
flag Ar iconالعربيةdown icon

التعامل مع القيم المتطرفة

جزء من قسم الإحصاء لتعلّم الآلة في رحلة Machine Learning على Coddy. الدرس 27 من 64.

استخدمت عشر شقق نحو 10 م³ من الماء لكل منها، لكن تسرّبًا رفع استهلاك إحداها إلى 64. يمكنك استبعاده، أو حصره عند أقرب حدّ فاصل:

استهلاك المياه لعشر شقق في ثلاثة صفوف. الإبقاء: تسع نقاط قرب 10 والتسرّب عند 64، المتوسط 15.2. الاستبعاد: إزالة التسرّب، المتوسط 9.8. الحصر: إرجاع التسرّب إلى الحدّ الفاصل عند 14، المتوسط 10.2

تضع np.clip(a, low, high) حدًا أقصى لكل مصفوفة:

water = np.array([8, 11, 9, 10, 12, 9, 64, 10, 11, 8])
low, high = 6.0, 14.0  # حدود IQR
dropped = water[(water >= low) & (water <= high)]
capped = np.clip(water, low, high)
print(len(dropped), len(capped))
print(capped)

يطبع هذا:

9 10
[ 8. 11.  9. 10. 12.  9. 14. 10. 11.  8.]

قد يلاحق النموذج تلك الشقة، لذا قرر قبل التدريب. صحّح الأخطاء المطبعية أو احذفها؛ واحتفظ بالقيم المتطرفة الحقيقية أو ضع لها حدًا أقصى. لا تحذف أبدًا بصمت: اذكر عدد القيم التي غيّرتها.

challenge icon

التحدي

متوسط

سجّل تطبيق لركوب الدراجات متوسط السرعة لـ 15 رحلة في speeds؛ ويبدو أن اثنتين منها غير اعتياديتين. وضع الكود الابتدائي حدود IQR في low وhigh.

  1. أنشئ dropped للسرعات الواقعة ضمن الحدود (بما فيها الحدّان)، وأنشئ capped.
  2. اطبع سطرًا لكل من keep وdrop وcap: عدد الرحلات، ومتوسطها، وقيمة .std() لها، مع التقريب إلى منزلتين عشريتين.
  3. اطبع عدد الرحلات التي غيّرها حصر القيم.

لدى راكب آخر 10 رحلات:

Keep: 10 rides, mean 21.38, std 6.58
Drop: 9 rides, mean 19.2, std 0.77
Cap: 10 rides, mean 19.45, std 1.04
Capping changed 1 of 10 rides

جرّب بنفسك

import numpy as np


# تُرجع الحدين السفلي والعلوي لـ IQR في مصفوفة
def iqr_fences(a):
    q1 = np.percentile(a, 25)
    q3 = np.percentile(a, 75)
    iqr = q3 - q1
    return q1 - 1.5 * iqr, q3 + 1.5 * iqr


speeds = np.array([24.5, 22.8, 26.1, 23.9, 3.1, 25.4, 21.7, 24.2, 27.3, 78.4, 23.1, 25.8, 22.4, 24.9, 26.6])
low, high = iqr_fences(speeds)

# اكتب الكود الخاص بك أدناه
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الإحصاء لتعلّم الآلة

تدرّب بنفسك: مترجم Python عبر الإنترنت