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

گسسته‌سازی و یک خط برای هر بازه

یک مدل خطی روی یک ویژگی فقط یک خط است. با گسسته‌سازی و تعامل می‌شود برای هر بازه یک خط جدا داشت. تابع binned_lines(x, y, edges, x0):

  1. لبه‌های درونی edges (صعودی) محور را به بازه‌ها می‌بُرند. شماره‌ی بازه‌ی هر مقدار np.digitize(v, edges) است.
  2. ماتریس طرح: برای هر بازه kk دو ستون، I(bin=k)I(\text{bin} = k) و x⋅I(bin=k)x \cdot I(\text{bin} = k) — یک عرض از مبدأ و یک شیب برای هر بازه، بدون ستون یک.
  3. کمترین مربعات با np.linalg.lstsq روی داده‌ی آموزش؛ پیش‌بینی برای x0 با همان ستون‌ها.

این دقیقاً معادل برازش یک خط جدا در هر بازه است. در آزمون‌ها هر بازه دست‌کم دو نقطه‌ی آموزش با xx متفاوت دارد.

نمونه‌ها

ورودی نمونه ۱
[[-2.73, -2.71, -2.68, -2.64, -1.59, -1.29, -0.7, -0.65, -0.55, -0.39, -0.04, 0.09, 0.91, 1.06, 1.83, 1.85, 2.07, 2.39, 2.85, 3.0], [0.13, 0.37, 0.22, 0.08, -0.92, -1.03, -1.34, -1.01, -1.04, -0.66, -0.33, 0.16, 1.15, 1.15, 0.54, 0.65, 0.23, -0.22, -0.29, -0.6], [0.0], [-2.0, -0.5, 0.5, 2.0]]
خروجی نمونه ۱
[-0.2627, -0.9195, 0.8662, 0.2135]
ورودی نمونه ۲
[[-2.95, -2.71, -2.69, -2.36, -2.27, -2.26, -2.16, -1.88, -1.76, -1.02, -0.94, -0.79, -0.75, -0.41, -0.36, -0.02, 0.23, 0.24, 0.76, 0.8, 1.05, 1.08, 1.56, 1.71, 1.96, 2.1, 2.1, 2.2, 2.87, 2.92], [0.61, 0.33, 0.3, -0.04, -0.01, -0.24, -0.12, -0.8, -0.88, -1.34, -1.06, -1.08, -1.22, -0.26, -0.66, -0.06, 0.46, 0.75, 1.03, 1.23, 1.23, 0.92, 1.19, 1.09, 0.54, 0.41, 0.11, -0.02, -0.42, -0.24], [-1.5, 0.0, 1.5], [-2.5, -1.0, 0.0, 1.0, 2.5]]
خروجی نمونه ۲
[0.1066, -1.306, 0.5075, 1.1265, -0.0245]

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

ورود