Skip to main content
. 2023 Feb 15;13(4):736. doi: 10.3390/diagnostics13040736
Algorithm 3 main: GP-Based Hybrid Optimal Feature Decision (HOFD).
  • 01: hybrid = 0;

  • swich(hybrid)

  •    case 0

  • 02:    [score,idx] = RNCA(X, Y)

  •    case 1

  • 03:    [score,idx] = F-test(X, Y)

  •    case 2

  • 04:    [score,idx] = MRMR(X, Y)

  • end

  • Procedure: RNCA(X, Y): a training dataset

  • 05: partition training dataset into 5 folds

  • for i=1,n do: where n is the number of the λ line space

  • 06:    λi,k: tuning using 5-fold cross-validation

  •    for k=1,5 do:

  • 07:    call NCA(X, Y, λi,k): train NCA for λ regularization parameter

  • 08:    compute Li,k: record loss values

  •    endfor

  • endfor

  • 09: Lμ = mean(Li,k): compute average lossvalue

  • 10: λb=argminLμ(y|x,λi,k,Lμ): find best λb

  • 11: call NCA(X, Y, λb, ζ): ζ = @(yi,yj)1exp(|yiyj|)

  • 12: return (w) that produces weighted feature vectors

  • 13: [weights, indices] = sort(w, ’decent’): starting from weighted feature set

  • 14: num = 25; where num is number of features

  • 15: rmse = zeros(1, num);

  • 16: brmse=zeros(num,2);

  • for j=1,num1 do:

  • 17:    call HOFD( X( :, indices(1:num), y):

  • 18:    return (ν): where ν is least rmse

  • 19:    brmse(j,1)= ν;

  • 20:    brmse(j,2)= num;

  • 21:    num = num − 1;

  • endfor

  • 22: [index] = min(brmse(:,1)):

  • 23: num = 25;

  • 24: num = num − index + 1;

  • 25: decision (indices(1:num)): the best feature subset

  • End procedure