مخططات البواقي
جزء من قسم التعلّم الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 14 من 58.
قد تخفي الدرجة الجيدة شكلًا خاطئًا. يحقق هذا الخط درجة R squared قدرها 0.82 على عجينة ترتفع، لكن أخطاءه تتخذ شكل قوس:
ذلك الرسم البياني الموجود على اليمين هو مخطط البواقي: كل باقٍ، أي القيمة الفعلية ناقص القيمة المتوقعة، مقابل القيمة المتوقعة له، مع خط عند 0:
residuals = y_test - pred
fig, ax = plt.subplots()
ax.scatter(pred, residuals)
ax.axhline(0, color="gray", linestyle="--")
plt.show()تتناثر البواقي السليمة كأنها ضوضاء حول 0. يشير وجود نمط إلى أن النموذج لا يلتقط شيئًا ما: هنا، أن الارتفاع يتباطأ.
مع وجود عدة ميزات، ارسم البواقي مقابل كل ميزة أيضًا: الميزة التي يتخذ رسمها شكل قوس تخفي المنحنى.
التحدي
متوسطلائمَت مدرسة قيادة خطًا على 80 اختبار كبح: speed_kmh وbraking_m. يحتفظ الكود الابتدائي بتنبؤات الاختبار في pred ويضع تسميات على المخطط.
- احسب البواقي.
- مثّلها مبعثرة مقابل التنبؤات فوق خط رمادي متقطع عند 0، ثم اعرض المخطط.
هل لا يلتقط الخط منحنى؟ بل إنه يتنبأ على اليسار بمسافة كبح سالبة.
يبدو مخطط خط سليم، باستخدام بيانات أخرى، هكذا:
يصف Coddy مخططك.
جرّب بنفسك
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
brakes = pd.read_csv("braking.csv")
X_train, X_test, y_train, y_test = train_test_split(brakes[["speed_kmh"]], brakes["braking_m"], test_size=0.25, random_state=0)
model = LinearRegression()
model.fit(X_train, y_train)
pred = model.predict(X_test)
fig, ax = plt.subplots()
ax.set_title("Braking Line Check")
ax.set_xlabel("Predicted braking distance (m)")
ax.set_ylabel("Residual (m)")
# اكتب الكود الخاص بك أدناه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعلّم الخاضع للإشراف
تدرّب بنفسك: مترجم Python عبر الإنترنت