feature ranking for regression using F-tests

Hi,
I have table data with containing 11 different features for which i have to apply F-test, check their ranking and then plot them in order of the highest ranking. For this purpose, i am trying to use fdrftest() command but showing the error "Undefined function or variable 'fsrftest'" as mentioned below. If somone can help out with this issue. Thanks in advance.
>> table_data = readtable('data.txt');
varnames={'a1';'a2';'a3';'a4';'a5';'a6';'a7';'a8';'a9';'a10';'a11';'b'};
table_data.Properties.VariableNames = varnames;
idx = fsrftest(table_data,'b')
Undefined function or variable 'fsrftest'.

 Accepted Answer

You have not posted the Release you are using. (There is an option to do that just below ‘Products’ in the right margin of this page.)
That is significant, because the fsrftest function was introduced in R2020a. You apparentlly have an earlier version/release.

3 Comments

That option was not accessable while posting the question. You are right regarding answering the query, I am using 2018a. Surely this is the reason. Many thanks.
Regards,
As always, my pleasure!
Upgrade to R2020b if that is an option. It has a number of significant new features.
Hey the fsrftest-function is great and fast ^^
you can use it like this:
[idx, scores] = fsrftest(Predictors,Target);
BUT what i still not understand is the Inf-output in the scores. In the documentation stands:
The output scores is –log(p). Therefore, a large score value indicates that the corresponding predictor is important. If a p-value is smaller than eps(0), then the output is Inf.
Why do they use –log(p)? What do they mean with eps(0)?
regards MLP

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!