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

البواقي

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

يرسم هذا الفصل خط اتجاه عبر البيانات، ويستخدمه للتنبؤ، ويقيّمه. إليك إلى أين يقود:

خمس مهام لقصّ العشب ممثّلة بنقاط، الدقائق مقابل مساحة العشب، مع خط اتجاه برتقالي يمرّ بها ونجمة خضراء كبيرة على الخط تتنبأ بـ 50 دقيقة لعشب جديد مساحته 10

ما مدى جودة الخط؟ تقدّر خدمة العناية بالعشب أن كل مهمة تستغرق 4.5 * area + 5 دقائق. تمثل كل فجوة حمراء باقيًا: القيمة الفعلية ناقص القيمة المتوقعة.

مهام العناية بالعشب الخمس والخط المقدّر، مع فجوة عمودية حمراء من كل نقطة إلى الخط تحمل التسميات +6 و-5 و+3.5 و-7 و+3.5

ربّعها واجمعها لتقييم الخط:

area = np.array([4, 6, 9, 12, 15])
minutes = np.array([29, 27, 49, 52, 76])
residuals = minutes - (4.5 * area + 5)
print(residuals)
print((residuals ** 2).sum())

يطبع هذا:

[ 6.  -5.   3.5 -7.   3.5]
134.5

يمنع التربيع العددين +6 و-6 من إلغاء أحدهما الآخر. كلما كان مجموع مربعات البواقي أصغر، كان الخط أفضل. يتعلم النموذج بتقليل هذا المجموع.

challenge icon

التحدي

متوسط

تُقدّر شركة نقل المدة التي تستغرقها عملية النقل بناءً على عدد الصناديق. تحتوي boxes وhours على بيانات ثماني عمليات نقل سابقة، ويقرأ البرنامج خطَّين تقديريَّين: slope1، intercept1، ثم slope2، intercept2.

  1. قيّم كل خط باستخدام مجموع مربعات البواقي.
  2. اطبع المجموعين، مقربين إلى منزلتين عشريتين، والخط الأفضل، كما هو موضح أدناه.

للخطين 0.16 * boxes + 0.8 و0.12 * boxes + 2.5:

Line 1 SSR: 0.57
Line 2 SSR: 4.1
Better: line 1

جرّب بنفسك

import numpy as np

boxes = np.array([10, 18, 25, 32, 40, 47, 55, 60])
hours = np.array([2.5, 3.5, 5.0, 5.5, 7.0, 8.0, 9.5, 10.0])
slope1 = float(input())
intercept1 = float(input())
slope2 = float(input())
intercept2 = float(input())

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

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

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

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