راه
۶ کیو· متوسطمتوسطPYTHON۴ ثانیه · ۲۵۶ مگابایت

رگرسیون ریج با فرمول بسته

تابع ridge(X, y, lam) رگرسیون ریج را با فرمول بسته حل می‌کند:

  1. هر ستون XX را استاندارد کنید: میانگین ستون را کم کنید و بر انحراف معیارش تقسیم کنید — X.std(axis=0)، یعنی تقسیم بر nn (همان کاری که StandardScaler می‌کند). ماتریس حاصل را ZZ بنامید.
  2. yy را مرکزی کنید: y~=y−yˉ\tilde y = y - \bar y.
  3. ضرایب: β^λR=(Z⊤Z+λI)−1Z⊤y~\hat\beta^R_\lambda = (Z^\top Z + \lambda I)^{-1} Z^\top \tilde y — عرض از مبدأ جریمه نمی‌شود.
  4. عرض از مبدأ روی همین مقیاس استانداردشده yˉ\bar y است.

خروجی [intercept, beta_1, ..., beta_p] است. با lam = 0 همان کمترین مربعات روی ویژگی‌های استانداردشده را می‌گیرید. وارون را صریح نسازید؛ np.linalg.solve دقیق‌تر است.

نمونه‌ها

ورودی نمونه ۱
[[[5.86, 4.29], [4.51, 6.44], [6.41, 4.01], [4.26, 1.39], [8.36, 4.55], [7.67, 5.83], [8.89, 8.07], [5.64, 7.96], [3.1, 7.52], [2.04, 5.69]], [8.56, 3.55, 8.24, 7.19, 10.65, 9.73, 9.16, 3.24, -1.12, 1.04], 0.0]
خروجی نمونه ۱
[6.024, 3.4493, -1.8678]
ورودی نمونه ۲
[[[5.86, 4.29], [4.51, 6.44], [6.41, 4.01], [4.26, 1.39], [8.36, 4.55], [7.67, 5.83], [8.89, 8.07], [5.64, 7.96], [3.1, 7.52], [2.04, 5.69]], [8.56, 3.55, 8.24, 7.19, 10.65, 9.73, 9.16, 3.24, -1.12, 1.04], 5.0]
خروجی نمونه ۲
[6.024, 2.2578, -1.1737]

برای نوشتن پاسخ و دریافت امتیاز، ابتدا وارد حساب شوید.

ورود