我很難讓 的線性回歸中的加權(quán)數(shù)組影響輸出。sklearn下面是一個沒有權(quán)重的示例。import numpy as npimport seaborn as snsfrom sklearn import linear_modelx = np.arange(0,100.)y = (x**2.0)xr = np.array(x).reshape(-1, 1)yr = np.array(y).reshape(-1, 1)regr = linear_model.LinearRegression()regr.fit(xr, yr)y_pred = regr.predict(xr)sns.scatterplot(x=x, y = y)sns.lineplot(x=x, y = y_pred.T[0].tolist())現(xiàn)在,在添加權(quán)重時,我得到了相同的最佳配合線。我預(yù)計會看到回歸有利于曲線的更陡峭部分。我做錯了什么?w = [p**2 for p in x.reshape(-1)]wregr = linear_model.LinearRegression()wregr.fit(xr,yr, sample_weight=w)yw_pred = regr.predict(xr)wregr = linear_model.LinearRegression(fit_intercept=True)wregr.fit(xr,yr, sample_weight=w)yw_pred = regr.predict(xr)sns.scatterplot(x=x, y = y) #plot curvesns.lineplot(x=x, y = y_pred.T[0].tolist()) #plot non-weighted best fit linesns.lineplot(x=x, y = yw_pred.T[0].tolist()) #plot weighted best fit line
1 回答

ITMISS
TA貢獻1871條經(jīng)驗 獲得超8個贊
這是由于代碼中的錯誤。加權(quán)模型的擬合應(yīng)為:
yw_pred = wregr.predict(xr)
而不是
yw_pred = regr.predict(xr)
有了這個,你會得到:
- 1 回答
- 0 關(guān)注
- 169 瀏覽
添加回答
舉報
0/150
提交
取消