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

قاعدة المدى الربيعي (IQR)

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

يعرض مخطط الصندوق القيم البعيدة كنقاط. للعثور عليها في الشيفرة، حوّل قاعدته إلى حدّين، يبعد كلٌّ منهما بمقدار 1.5 من IQR عن أحد طرفي الصندوق:

12 سعرًا لتذاكر الحفلات الموسيقية كنقاط على خط. تقع عشر نقاط داخل صندوق ضيق حول 37 إلى 43 يورو. يقع حدّان متقطّعان على بُعد 1.5 من IQR من كل طرف للصندوق، عند 28.1 و51.1، ويتجاوزهما السعران 18 و72، وهما محددان باللون الأحمر كقيمتين شاذتين

في الشيفرة، باستخدام الأقنعة:

prices = np.array([35, 42, 38, 45, 40, 72, 37, 44, 39, 41, 36, 18])
q1 = np.percentile(prices, 25)
q3 = np.percentile(prices, 75)
iqr = q3 - q1
low = q1 - 1.5 * iqr
high = q3 + 1.5 * iqr
print(low, high)
print(prices[(prices < low) | (prices > high)])

يطبع هذا:

28.125 51.125
[72 18]

تتجاهل الأرباع القيم المتطرفة، لذا لا يمكن لقيمة شاذة أن تمدّ السياج لإخفاء نفسها. حدّد هذه القيم قبل التدريب: فقد تجذب قيمة شاذة واحدة النموذج نحوها.

challenge icon

التحدي

متوسط

حدّد معلّم وقت اختبار قصير، ويقرأ البرنامج عدد الدقائق التي استغرقها كل طالب في minutes. يطبع الكود المبدئي الحدود التي تُرجعها iqr_fences.

  1. أكمل iqr_fences(a) بحيث تُرجع حد IQR الأدنى والحد الأعلى لـ a.
  2. في الأسفل، اطبع Unusual: والأوقات التي تقع خارج الحدود، بترتيبها الأصلي.

بالنسبة إلى 9 طلاب استغرقوا 8 و11 و9 و10 و27 و12 و9 و10 و11 دقيقة:

Fences: 6.0 to 14.0 minutes
Unusual: [27]

جرّب بنفسك

import numpy as np


# تُرجع الحدّين السفلي والعلوي وفق IQR لمصفوفة
def iqr_fences(a):
    # اكتب شيفرتك هنا
    return 0.0, 0.0


n = int(input())
values = []
for i in range(n):
    values.append(int(input()))
minutes = np.array(values)

# لا تغيّر الأسطر أدناه
low, high = iqr_fences(minutes)
print(f"Fences: {np.round(low, 2)} to {np.round(high, 2)} minutes")

# اكتب شيفرتك أدناه
quiz iconاختبر نفسك

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

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

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