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

لماذا نُحجِّم الميزات؟

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

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

شخص عمره 25 عامًا يكسب 52,000 دولار مقارنةً بشخص عمره 61 عامًا يكسب 53,000 دولار:

عمودان يوضحان مقدار ما يضيفه كل عامل إلى المسافة بين العميلين: العمر، بفارق 36 عامًا، يضيف 1,296، وهو جزء ضئيل أرفع من أن يُرى؛ والدخل، بفارق 1,000 دولار، يضيف 1,000,000، وهو عمود طويل

بالنسبة إلى جدول كامل، يجمع axis=1 مربعات كل صف، ويعثر .argmin() على أقرب صف:

a = np.array([25, 52000])  # العمر، الدخل
X = np.array([[61, 53000],   # الشخص البالغ من العمر 61 عامًا
              [26, 55000]])  # شخص يبلغ من العمر 26 عامًا ويكسب $55,000
dists = np.sqrt(((X - a) ** 2).sum(axis=1))
print(np.round(dists, 2))
print(dists.argmin())

هذا يطبع:

[1000.65 3000.  ]
0

الشخص البالغ من العمر 61 عامًا هو الأقرب: فالدولارات تأتي بأرقام أكبر، لذا فإن $1,000 تتفوق على 36 عامًا. من دون تحجيم، تحسم الوحدات الأكبر الأمر.

يمنح هذا الفصل كل ميزة فرصة عادلة للتعبير عن رأيها.

challenge icon

التحدي

متوسط

يقارن متجر الغسالات حسب السعر ($) والطاقة (kWh في السنة) والماء (لترات لكل غسلة)، والمُسماة في features. يقرأ البرنامج موضعي غسالتين، i وj. اطبع:

  1. Squared gaps: الفجوة لكل ميزة، بعد تربيعها.
  2. Distance: مقربة إلى منزلتين عشريتين.
  3. Dominant feature: اسم الميزة ذات أكبر فجوة مربعة.

لغسالتين أخريين:

Squared gaps: [2500 6400    1]
Distance: 94.35
Dominant feature: energy

جرّب بنفسك

import numpy as np

features = ["price", "energy", "water"]
# صف واحد لكل غسالة: السعر بالدولار، والطاقة بوحدة kWh سنويًا، والماء باللترات لكل غسلة
machines = np.array([[499, 160, 48],
                     [349, 210, 55],
                     [899, 120, 42],
                     [529, 250, 50],
                     [279, 230, 60],
                     [749, 140, 45]])
i = int(input())
j = int(input())

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

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

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

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