LinearModel.fit results to array

7 ビュー (過去 30 日間)
OoM
OoM 2013 年 8 月 26 日
Hi,
I would like to ask about results from LinearModel.fit function. I used the function and it ran smoothly. However, I could not extract the result properly.
I have a 100 set of X and Y. What I would like to have is a array showing coefficient and R-square of all. I basically try to do a loop and have LinearModel.fit function inside. My problem is I could not write out coefficient from mdl.Coefficients and r-square from mdl.Rsquared.Ordinary value to save into my array.
I crated array 100 x 1 to save R-square value from each set. To sum up, how can I save the values of results from each set to array?
Thank you.

回答 (3 件)

Leah
Leah 2013 年 8 月 26 日
I was able to do it, i made a dataset mid to hold everything
md = LinearModel.fit()
mid.RsqAdj=md.Rsquared.Adjusted;
mid.Intercept=md.Coefficients.Estimate(1);
for c=2:length(md.CoefficientNames)
mid.(md.CoefficientNames{c})=md.Coefficients.Estimate(c);
end
  2 件のコメント
OoM
OoM 2013 年 8 月 26 日
Thank you very much.
OoM
OoM 2013 年 8 月 26 日
mid.RsqAdj=md.Rsquared.Adjusted
gave me
mid =
Rsq: 0.8690
It is in struct format. Any way to transform it to array
Rsq = [0.8690]

サインインしてコメントする。


the cyclist
the cyclist 2013 年 8 月 26 日
mdl.Coefficients
is a variable of type dataset.
mdl.Coefficients.Estimate
will be an array of doubles, which I think is what you need.
  2 件のコメント
OoM
OoM 2013 年 8 月 26 日
I tried to call only mdl.Coefficients.Estimate. It does not work.
the cyclist
the cyclist 2013 年 8 月 27 日
Does calling this code give you a 5x1 double for mdl.Coefficients.Estimate?
load hald
X = ingredients; % predictor variables
y = heat; % response
mdl = LinearModel.fit(X,y)
mdl.Coefficients.Estimate

サインインしてコメントする。


OoM
OoM 2013 年 8 月 26 日
I am able to get R-squared from
rsq = mdl.Rsquared.Ordinary
rsq =
0.8690
and only coefficient from
Coefficient = mdl.Coefficients.Estimate(:,1)
Coefficient =
1.0e+05 *
1.4231
-0.0012

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by