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

الإسقاطات

جزء من قسم التعلّم غير الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 25 من 51.

يُسقط الإسقاط كل نقطة مباشرةً على خط، مثل الظل. إليك زوجَي النبيذ من درس «ميزات كثيرة جدًا»، متمركزَين حول متوسطهما، على خطين:

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

على طول السحابة، تحتفظ الظلال بمعظم التشتّت، لذا فإن رقمًا واحدًا لكل نوع من النبيذ يقول تقريبًا ما قاله رقمان.

الاتجاه هو عددان يكون مجموع مربعيهما 1، مثل (0.6, 0.8). والإسقاط هو مجموع موزون:

centered = X - X.mean(axis=0)
shadow = centered[:, 0] * 0.6 + centered[:, 1] * 0.8
print(round(shadow.std(), 3))

يطبع هذا 1.136. الاتجاه الأفضل هو الذي يحافظ على أكبر قدر من التشتّت.

challenge icon

التحدي

متوسط

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

  1. اكتب spread_along(direction): الانحراف المعياري لظلال المخاريط عليه.
  2. اطبع مقدارَي التشتّت، مع 3 منازل عشرية.
  3. اطبع الاتجاه الذي يجب الاحتفاظ به.

لمخاريط أخرى:

Along [0.6, 0.8]: spread 2.104
Along [0.8, -0.6]: spread 0.412
Keep [0.6, 0.8]

جرّب بنفسك

import numpy as np
import pandas as pd

# قاس أحد خبراء الغابات طول وعرض 70 مخروطًا من الصنوبر بوحدة cm
cones = pd.read_csv("cones.csv")
X = np.column_stack([cones["length_cm"], cones["width_cm"]])
first = [float(input()), float(input())]
second = [float(input()), float(input())]

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

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

جميع دروس التعلّم غير الخاضع للإشراف

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