2015-03-19 13 views
0

我在matlab2015a分類模型生成使用如何從Matlab的廣義線性模型對象

glm = fitglm(Ttrain,...) 

我想保持GLM,並通過它去除訓練數據集,但MATLAB也保持訓練數據(Ttrain - 一個表)綁定到對象。如果你有很多模型+大量的訓練數據集(你可以很容易地耗盡內存),這可能會變得很難。但是做一些幼稚的,如設置:

glm.Variables= []; 

Error using classreg.regr.FitObject/subsasgn (line 753) 
The Variables property for class GeneralizedLinearModel is read-only. 

如何從線性模式丟棄的訓練數據,但仍然可以使用電話glm.predict(...)的所有便利和安全性? (我當然可以剔除迴歸係數,並自己做預測邏輯,但我不喜歡)

回答

0

我不認爲你可以這樣做,恐怕。

對於大多數其他模型類型,如RegressionTreeClassificationSVM等,有一個伴隨模型類如CompactRegressionTreeCompactClassificationSVM等等,這是相同的,但沒有保持訓練數據(和略微降低診斷功能因爲這一點,但保留預測能力)。

我到現在還沒有意識到這一點,但它看起來像LinearModelNonLinearModelGeneralizedLinearModel類沒有這樣的等價物。

恐怕我想不出一個簡單的解決方法。我將向MathWorks發出一個增強請求(登錄您的MathWorks帳戶並轉到支持部分),因爲我想不出爲什麼它會很困難,並且會產生更一致的功能。


編輯:看起來像MathWorks正在逐步引入此功能。在R2016a中引入了CompactLinearModel,並且在R2016b中引入了CompactGeneralizedLinearModel。但從R2017a開始,仍然沒有CompactNonLinearModel

+0

很酷,謝謝你的回覆 - 我確實會提交這個請求,如果MW同意你的意見,我會將其標記爲正確答案 - 再次感謝。 – 2015-03-19 14:43:05

+0

確實,MW同意這是不可能的,再加上他們已經有了一個增強的要求。 – 2015-04-09 10:56:29

相關問題