Adjust feature ranking scores using correlation factor


correlationWeightedScore is a function used in code generated by Diagnostic Feature Designer.

[score,idx] = correlationWeightedScore(X,Z,alpha) weights the original ranking scores in Z for the features in X according to the correlation between features. Correlation weighting reduces feature redundancy. correlationWeightedScore lowers the score of a feature that has a high correlation to a higher ranking feature. The correlation importance factor alpha determines how much impact the correlation level has on the feature ranking score.

Code that is generated by Diagnostic Feature Designer uses correlationWeightedScore when ranking features if the specified correlation importance factor is greater than zero.

Input Arguments

collapse all

Feature set, specified as an m-by-1 vector or an m-by-n matrix, where m is the number of data samples and n is the number of features. For an ensemble-based feature set, m is the number of members in the ensemble.

Original ranking scores, computed by a ranking method such as bhattacharyyaDistance, and specified as a vector of length n, where n is the number of features. The length of Z must be the same as the width of X.

Correlation importance factor that determines how much impact correlation has on scores.

  • If alpha is set to 0, correlation has no impact on the ranking score.

  • If alpha is set to 1, correlation has the maximum possible impact on ranking score.

Output Arguments

collapse all

Adjusted ranking scores, returned as a vector that is the same size as Z.

Updated ranking order after the scores are adjusted by correlation weighting, returned as a vector of integers.


[1] Theodoridis, Sergios, and Konstantinos Koutroumbas. Pattern Recognition, 182–183. 2nd ed. Amsterdam; Boston: Academic Press, 2003.

Introduced in R2020a