模型組成
先前你使用的是預先定義好的模型。這個練習中,你要實作一個模型函式,根據輸入資料 x,以及「第 0 階」項 a0、「第 1 階」項 a1,與二次項 a2 的任何輸入係數,計算並回傳 y 的模型值(見下式)。
\(y = a_0 + a_1 x + a_2 x^2\)
請記住,「一階」就是線性的,所以我們會將這個一般線性模型的預設值設為 a2=0。但之後我們會調整它來做比較。
本練習屬於課程
Python 線性建模入門
練習說明
- 完成函式定義
model(),讓它以x為必填引數,並有預設引數a0=3, a1=2, a2=0,且回傳y。 - 使用
numpy的np.linspace()建立數值陣列x。 - 將
x傳入你寫的model(),並且不要指定a0, a1, a2,以取得預設的預測y值。 - 使用預先定義好的
plot_prediction(),繪製得到的x與y圖形。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Define the general model as a function
def model(x, a0=____, a1=____, a2=____):
return a0 + (a1*____) + (a2*____*____)
# Generate array x, then predict y values for specific, non-default a0 and a1
x = np.____(-10, 10, 21)
y = model(____)
# Plot the results, y versus x
fig = plot_prediction(____, ____)