MyMisPal
→ دروس الذكاء الاصطناعي العملي
الدرس 3 من 11

أول نموذج: التنبؤ بالمبيعات بخط مستقيم

سؤال نخلة: «لو صرفنا على الإعلانات أكثر، كم بنبيع؟». عندنا 8 شهور: المصروف على الإعلانات (بالآلاف) وعدد الكراتين المباعة (بالمئات). أبسط نموذج هو الانحدار الخطي (Linear Regression): نرسم أفضل خط مستقيم يمر وسط النقاط.

sales = intercept + slope × ads

الميل (slope): كم تزيد المبيعات مع كل ألف ريال إعلانات. والتقاطع (intercept): المبيعات المتوقعة لو ما صرفنا شي. حرّك المؤشرين وحاول تقلل متوسط الخطأ، بعدين خلّ الآلة تحسب أفضل خط:

305070901100246810الإعلانات (آلاف ريال)
sales = 30.0 + 4.00 × ads
متوسط الخطأ (MAE)20.9

حاول تقلل متوسط الخطأ: الخطوط المتقطعة هي أخطاء كل شهر.

الآلة ما تخمّن: فيه معادلة اسمها المربعات الصغرى (Least Squares) تحسب الخط اللي مجموع مربعات أخطائه أقل شي. هذا هو نفس الحساب بـ Python، بدون أي مكتبة:

PYTHON
ads   = [2, 3, 4, 5, 6, 7, 8, 9]          # ad spend, thousand SAR
sales = [52, 58, 63, 71, 74, 83, 87, 95]  # cartons sold, hundreds

n = len(ads)
mx = sum(ads) / n
my = sum(sales) / n
top = 0
bottom = 0
for x, y in zip(ads, sales):
    top += (x - mx) * (y - my)
    bottom += (x - mx) ** 2

slope = top / bottom
intercept = my - slope * mx
print(f"sales = {intercept:.1f} + {slope:.2f} x ads")
print(f"Forecast for 10k SAR: {intercept + slope * 10:.0f}")
انتبهانتبه من التوقع خارج نطاق البيانات: نموذجنا شاف مصروف من 2 إلى 9 آلاف. لو سألته عن 100 ألف بيعطيك رقم، لكن ما فيه ضمان إن العلاقة تستمر مستقيمة. السوق له حد.
انتبهالارتباط مو سببية: إذا المبيعات والإعلانات يرتفعون مع بعض، ممكن السبب موسم رمضان مثلاً، مو الإعلانات بحد ذاتها.

تمارين

تمرين 1 · حساب

نموذج نخلة: المبيعات = 40 + 6 × الإعلانات. كم المبيعات المتوقعة (بالمئات) لو صرفنا 10 آلاف على الإعلانات؟

مئة كرتون
تمرين 2 · اختيار

في النموذج نفسه، وش يعني الرقم 6؟

تمرين 3 · Python · يتصحح بالتشغيل

اكتب دالة predict(ads) ترجع المبيعات المتوقعة حسب النموذج 40 + 6 × ads. (المصحح بيستدعيها بقيم مختلفة ويطبع النتيجة.)

لقيت خطأ في هذي الصفحة، أو عندك فكرة تحسّن الموقع؟