التنظيم
جزء من قسم التعلّم الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 34 من 58.
يميل النموذج الخطي مفرط التكيّف إلى الاعتماد على أوزان كبيرة لينحني نحو كل صف مشوّش. يفرض انحدار Ridge عقوبةً على الأوزان الكبيرة، وتحدّد alpha مقدار هذه العقوبة.
إليك 20 غيتارًا مستعملًا، وست سمات مُقاسة تتنبأ بالسعر:
يتطلب الأمر تبديلًا واحدًا لـ LinearRegression، الذي كانت أوزانه [-83. 116. 104. 27. 17. 15.]:
from sklearn.linear_model import Ridge
ridge = Ridge(alpha=100)
ridge.fit(X_train, y_train)
print(np.round(ridge.coef_))يَطبع هذا:
[-14. 18. 16. 10. 5. 8.]ألفا أكبر، أوزان أصغر، وفرط مواءمة أقل. إذا كانت كبيرة جدًا، فإن النموذج يعاني من نقص المواءمة.
التحدي
متوسطيتنبأ موقع لقضاء العطلات بأسعار الأكواخ لكل ليلة اعتمادًا على 8 ميزات، باستخدام 16 كوخًا فقط. يقرأ البرنامج alpha؛ ويقسّم البرنامج التمهيدي البيانات ويُجري تحجيمها.
- درّب نموذجًا من
LinearRegressionونموذجًا منRidgeباستخدام قيمةalphaتلك. - اطبع إجمالي حجم الأوزان لكل نموذج: اجمع الأوزان بعد إزالة إشاراتها، ثم قرّب الناتج.
- اطبع قيمة R squared لكل نموذج على مجموعة الاختبار (3 منازل عشرية) والنموذج الأفضل، كما هو موضح أدناه.
لمنطقة أخرى و5:
Total weight size: plain 90, ridge 53
Test R squared: plain -0.471, ridge 0.642
Better on new cottages: ridgeجرّب بنفسك
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression, Ridge
from sklearn.metrics import r2_score
alpha = float(input())
# لا تغيّر الأسطر أدناه: 28 كوخًا للعطلات، و8 خصائص، والسعر لكل ليلة باليورو
cottages = pd.read_csv("cottages.csv")
features = ["size_m2", "bedrooms", "lake_m", "age_years", "town_km", "sauna", "road_noise_db", "forest_m"]
X = cottages[features]
y = cottages["price"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.4, random_state=0)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# اكتب الكود الخاص بك أدناه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعلّم الخاضع للإشراف
تدرّب بنفسك: مترجم Python عبر الإنترنت