Skip to main content
. 2021 Jan 14;22(2):789. doi: 10.3390/ijms22020789
Algorithm 1 Boruta Algorithm

Input:M: Genotype (rSNPs) data

Input:L: Labels (cultivars)

Output:C: A ranked list of rSNPs based on their importance score

Method:
  • 1:
    t=0
  • 2:
    repeat
  • 3:
        Mt=M
  • 4:
        M^t=shuffle(Mt): Creation of shadow attributes
  • 5:
        Mtext=[Mt;M^t;L]: Matrix (data) concatenation to extend the input data
  • 6:
        VISt(Mtext)=RF(Mtext): Gathering variable importance scores (VIS) using RF classifier
  • 7:
        VIS^t=max(VIS(M^t)): Max. VIS value (in terms of z-Score) for shadow attributes
  • 8:
        Mtc=Mtext[VIS(Mtext)>VIS^t]\M^t: rSNPs with significantly higher VIS values >VIS^
  • 9:
        Mtr=Mtext[VIS(Mtext)<VIS^t]\M^t: rSNPs with significantly lower VIS values <VIS^
  • 10:
        M=Mt\[Mtc;Mtr]: Remove all rSNPs with determined importance from the input Mt
  • 11:
        Ct=VIS(Mtc): Gathering the rSNPs with confirmed VIS
  • 12:
        t=t+1
  • 13:
    until importance of all rSNPs is assigned
  • 14:
    C=i=1tCi