Skip to main content
. 2018 Jun 12;18(6):1909. doi: 10.3390/s18061909
Algorithm 1. Feature Selection
Input:
  Original feature matrix XM with M-dimensional features.
Output:
  Selected feature subset S with D-dimensional features (D=1,2,,M).
Procedure:
  1: D = 1. Compute SI(fi) (i=1,2,, M) of each dimension of the original feature matrix and record the score1: score1=SI(fi). Choose the feature with the largest score1 as the first element of the optimal feature subset S. Then, the remaining feature element is XMD.
  2: do
  Step 1: D = D + 1. Then, choose a feature element from XMD in turn, and combine the element with S into a new feature subset XT, all subset XT make up a new feature matrix X. Compute the class separability index (SI) of each feature subset in the X and the SI is defined as SI=2Di=1DSI(fi).
  Step 2: For the formed new feature matrix X in Step 1, obtain t=(2D) subsets. Then, compute the average DI of the pairwise dissimilarity of all the subsets.
  Step 3: For each subset, compute the score2 defined as score2=SI+DI, which reflects whether the feature subset is appropriate.
  Step 4: Put the feature element with the largest value of score2 into S and reset the remaining feature element XMD.
  Step 5: Input the selected feature subset S with D-dimensional features into the classifier. Then, the classification accuracy of the D-dimensional features accuracy(D) will be obtained.
  End while until the number of selected elements D reaches M.
  3: Choose the best classification accuracy from accuracy(D)(D=1,2,3  M) as the final accuracy for this kind of feature after feature selection. If accuracy(i)=accuracy(j) but ij(i,j=1,2,3  M), i can be considered as the optimal feature dimension.
Return: S = {s1, s2, …, sM}.
Note: The larger score2 means the feature is more beneficial to increasing classification performance.