![](/img/trans.png)
[英]Is there a way to calculate standard deviation and median for the models fitted using sklearn.mixture.GaussianMixture
[英]Sum of fitted models with sklearn
我正在嘗試做一些涉及對兩個擬合模型求和的事情,以便輸出是另一個 LinearRegression 類型的對象。 我使用 sklearn 的標准 LinearRegression 方法擬合了這兩個模型。
from sklearn.linear_model import LinearRegression
reg_1 = LinearRegression().fit(X1, y)
reg_2 = LinearRegression().fit(X2, y)
我希望能夠生產出類似的東西
reg = reg_1 + reg_2
這樣我仍然可以執行標准操作,例如
reg.predict(X3)
有沒有一種簡單的方法可以做到這一點,顯然我可以獲得reg_1
和reg_2
的系數,所以如果我可以使用這些來定義reg
,它會起作用,但我看不到這樣做的方法。
由於您這樣做的原因是“它們只是具有相同特征的不同數據集”,因此我建議您簡單地附加數據集並在所有數據上創建一個模型。
但是,如果由於某種原因這是不可能的,您可以通過將第三個線性模型的coef_
和intercept_
屬性手動設置為前兩個的平均值來實現,例如:
reg = LinearRegression()
reg.coef_ = np.array([np.mean(t) for t in zip(reg_1.coef_, reg_2.coef_)])
reg.intercept_ = np.mean([reg_1.intercept_, reg_2.intercept_])
然后,您可以像往常一樣使用reg.predict(X3)
方法從 2 個線性模型項的組合平均值進行預測。
但是,這種方法存在危險,例如,如果用於擬合原始模型的數據集之一比另一個大得多,那么較小數據集的截距和系數項將在組合模型中過重,您將可能想在平均截距和系數項時做一些加權。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.