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

التنبؤ باستخدام خط

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

الخط الملائم هو آلة تنبؤ صغيرة: أدخل قيمة x جديدة، واحصل على قيمة y. تم وزن جرو من الأسبوع 8 إلى الأسبوع 20:

weeks = np.array([8, 10, 12, 14, 16, 18, 20])
kg = np.array([3.1, 4.0, 5.2, 6.1, 7.0, 8.2, 9.1])
slope, intercept = np.polyfit(weeks, kg, 1)
new_weeks = np.array([15, 52])
print(np.round(slope * new_weeks + intercept, 1))

يطبع هذا [ 6.6 25.2]. يقع الأسبوع 15 ضمن البيانات. أما الأسبوع 52 فلا يقع ضمنها، ويواصل الخط الارتفاع طويلًا بعد أن يتوقف الكلب:

سبعة قياسات للوزن من الأسبوع 8 إلى 20 على خط ملائم. يستمر الخط بخط متقطع داخل منطقة مظللة تحمل علامة خارج البيانات، ويصل إلى 25.2 كجم عند الأسبوع 52، بينما يستوي منحنى منقط لكلب حقيقي قرب 13 كجم

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

week = 52
print(week >= weeks.min() and week <= weeks.max())

يطبع هذا False.

challenge icon

التحدي

متوسط

قيس ارتفاع شمعة كل ساعة أثناء احتراقها، من الساعة 0 إلى الساعة 6: hours وheight بالسنتيمتر. يقرأ البرنامج new_hours.

  1. لائم الخط الذي يتنبأ بـheight من hours.
  2. اطبع توقعه لـnew_hours، مقربًا إلى منزلتين عشريتين.
  3. اطبع ما إذا كانت new_hours تقع ضمن نطاق ساعات البيانات، مع تضمين الطرفين.

عند الإدخال 4.5:

Predicted height: 13.07 cm
Inside the data: yes

جرّب بنفسك

import numpy as np

hours = np.array([0, 1, 2, 3, 4, 5, 6])
height = np.array([20.0, 18.4, 17.1, 15.3, 13.9, 12.2, 10.8])
new_hours = float(input())

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

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

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

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