How to use Shapley function for an already fitted regression model?
조회 수: 8(최근 30일)
Say, I have a regression model:
Y = 1.5 * (V1)^3 * (V2)^-5 * (V2)^10.3
where, V1, V2 and V3 are the model features/predictors and Y is the dependant variable.
I also have the data used to fit/train that model, say "Data" which is a 100x3 matrix
How can I use the Shapley function in that case? since as I understand this function can only be used on model objects generated by the Statistics and Machine Learning Toolbox.
the cyclist 2022년 12월 1일
To my knowledge, there is no way to use MATLAB's shapley function other than with a blackbox model object as the input. The possible input types are in the documentation here.
It is unclear to me how you have the pre-existing regression fit, without the MATLAB object. It seems to me that the simplest thing to do would be to simply replicate the fit in MATLAB. That seems straightforward, but perhaps you have reasons not to do that. [I'm guessing that you don't have the ML & Stats Toolbox for doing the fitting, but then you also don't have access to the shapley() function.]
A second possiblity would be for you to search the File Exchange for user-contributed functions that calculate Shapley values.
A third -- and admittedly annoying -- possibility would be for you to code the Shapley value from scratch. The formula is in the documentation here, and of course elsewhere.