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

ما مدى جودة الملاءمة؟

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

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

لوحتان، في كل منهما ست نقاط، لسرعة القارب مقابل سرعة الرياح. اليسرى: خط أفقي عند المتوسط مع فجوات حمراء طويلة إلى النقاط، مجموع مربعات البواقي 16.23. اليمنى: الخط الملائم مع فجوات حمراء صغيرة، مجموع مربعات البواقي 0.35

مربع R هو نسبة التشتت التي يفسرها الخط:

wind = np.array([6, 8, 10, 12, 15, 18])
boat = np.array([3.1, 4.4, 4.9, 6.2, 6.8, 8.1])
slope, intercept = np.polyfit(wind, boat, 1)
predicted = slope * wind + intercept
ss_res = ((boat - predicted) ** 2).sum()  # الملاءمة: 0.35
ss_tot = ((boat - boat.mean()) ** 2).sum()  # المتوسط: 16.23
print(np.round(1 - ss_res / ss_tot, 3))

يطبع هذا 0.979: يفسّر الخط 98% من تشتّت السرعة. القيمة 1 تعني خطًا مثاليًا، أما 0 فلا يعني أفضل من المتوسط.

إنه المقياس القياسي لنموذج يتنبأ بالأرقام. وبالنسبة إلى خط ملائم، فإنه يساوي r squared.

challenge icon

التحدي

متوسط

سجّل مزرع فطر 16 حوضَ زراعة في mushrooms.csv. يقرأ البرنامج اسم عمود، ويُوائم الكود الابتدائي الخط الذي يتنبأ بـ harvest_kg انطلاقًا منه. يحتاج تقريره إلى r_squared، الذي لا يزال فارغًا.

  1. أكمل r_squared(y, predicted) بحيث تُرجع قيمة R squared.
  2. في النهاية، اطبع التحقق: ارتباط x وy، تربيعه، مضروبًا في 100، ومقربًا إلى منزلة عشرية واحدة.

لمزرعة أخرى ومع الإدخال humidity:

humidity explains 27.0% of the harvest variation
Check with r squared: 27.0%

جرّب بنفسك

import numpy as np
import pandas as pd


# تُرجع قيمة R تربيع للتنبؤات الخاصة بـ y
def r_squared(y, predicted):
    # اكتب الكود الخاص بك هنا
    return 0


beds = pd.read_csv("mushrooms.csv")
column = input()
# لا تغيّر الأسطر أدناه
x = beds[column]
y = beds["harvest_kg"]
slope, intercept = np.polyfit(x, y, 1)
predicted = slope * x + intercept
r2 = r_squared(y, predicted)
print(f"{column} explains {np.round(r2 * 100, 1)}% of the harvest variation")

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

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

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

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