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

ملاءمة المربعات الصغرى

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

قد يستمر تخمين الخطوط إلى الأبد. تعثر np.polyfit(x, y, 1) على أفضل خط دفعة واحدة: الخط ذو أصغر مجموع لمربعات البواقي. إليك عمق الثلج خلال عاصفة:

hours = np.array([1, 2, 3, 5, 6])
depth = np.array([14, 22, 35, 52, 61])
slope, intercept = np.polyfit(hours, depth, 1)
print(np.round(slope, 2), np.round(intercept, 2))

يطبع هذا 9.5 4.5: نحو 9.5 سم إضافية من الثلج في الساعة، و4.5 سم عند الساعة 0. لا يخطئ أي خط آخر بمقدار أقل:

عمق الثلج مقابل الساعات كنقاط خمس، مع ثلاثة خطوط: تخمينان متقطعان بمجموعي مربعات البواقي 159 و18، وخط polyfit السميك بقيمة 6.5

يطلب 1 خطًا مستقيمًا، ويأتي x أولًا. هذا هو الانحدار الخطي، أول نموذج تدرّبه في القسم 3.

challenge icon

التحدي

متوسط

يريد مُصنّع طائرات مسيّرة معرفة أيّ قياس يتنبأ بمدة الطيران على أفضل وجه. يحتوي drones.csv على 15 رحلة: payload_g وwind_kmh وflight_min. يحمّل البرنامج المبدئي الملف ويعرّف ssr(x, y, slope, intercept).

  1. لكل عمود في columns، اضبط الخط الذي يتنبأ بـ flight_min انطلاقًا منه.
  2. اطبع معادلته وSSR كما يلي: الميل إلى 3 منازل عشرية، والتقاطع وSSR إلى منزلتين عشريتين.
  3. اطبع العمود الذي يحقق SSR الأصغر.

لطائرة مسيّرة أخرى:

payload_g: flight_min = -0.001 * payload_g + 21.55, SSR 164.94
wind_kmh: flight_min = -0.481 * wind_kmh + 28.13, SSR 9.1
Better predictor: wind_kmh

جرّب بنفسك

import numpy as np
import pandas as pd


# تُرجع مجموع مربعات البواقي للمستقيم slope * x + intercept (الدرس 35)
def ssr(x, y, slope, intercept):
    return ((y - (slope * x + intercept)) ** 2).sum()


drones = pd.read_csv("drones.csv")
columns = ["payload_g", "wind_kmh"]

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

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

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

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