## Appendix B  
```
1 FunctionStandardize(input feature vectors): Data: input feature vectors with training samples Result: standardized feature vectors to 8 bit representation forfeature vector ininput feature vectorsdo
2 declare empty percentile vector; forpercentile in \(\{0,0.5\%,1\%,1.5\%,\dots,100\%\}\)do
3 derivepercentile value for afeature vector; appendpercentile value to apercentile vector;
4
5 end for
6 derivestandardized feature vector with integer vector indices by locating a feature vector within apercentile vector using a binary search algorithm;
7
8 end for
9 returnstandardized feature vectors to 8 bit representation;
10
11 end for Data: optimal feature combination Data: look-up vectors \(LUV_{ID}\) and \(LUV_{prob}\) for optimal feature combination Data: standardized feature vectors using Standardize() Result: classification probabilities forinput feature vectors declare empty IDs vector; declare \(i=0\);
12 forstandardized feature vector inoptimal standardized feature vectorsdo
13 bitwise_shift standardized feature vector by \(i\times 8\) bits;
14 bitwise_or shifted standardized feature vector with IDs vector; \(i=i+1\);
15
16 end for
17 deriveindex vector by locating IDs vector within the sorted \(LUV_{ID}\) vector using a binary search algorithm;
18 use the derivedindex vector to extractclassification probabilities from the \(LUV_{prob}\) vector;
``` Data: standardized optimal feature vectors using Standardize () Data: vector with training binary labels Result:\(LUV\) with IDs and \(LUV\) with classification probabilities derived for optimal feature combination
1 declare initial number of features \(N=1\);
2 whileCohen's kappa improved do
3 forN standardized feature vector(s) in standardized feature vectors do
4 declare empty IDs vector;
5 declare \(i=0\);
6 forstandardized feature vector in N standardized feature vector(s) do
7 bitwise shift standardized feature vector by \(i\times 8\) bits;
8 bitwise_or shifted standardized feature vector with IDs vector;
9\(i=i+1\);
10
11 end for
12 sort ascending IDs and apply the same sorting to binary training labels;
13 declare empty vector for initial classification probabilities \(P\);
14 forID in IDs vector do
15 select training binary labels where \(IDs=ID\);
16 average selected binary labels to derive _initial classification probability_;
17 append initial classification probability to a vector \(P\);
18
19 end for
20 balance classes within training binary labels and IDs vectors assuming the \(P\) probability distribution;
21 declare empty vector for initial classification probabilities \(P_{b}\);
22 declare empty \(LUV_{IDs}\) vector for IDs;
23 forID in balanced IDs vector do
24 select balanced binary labels where balanced \(IDs=ID\);
25 average selected balanced binary labels to derive \(P_{b}x\) probability;
26 append \(P_{b}x\) probability to a \(P_{b}\) vector;
27 append ID to a \(LUV_{IDs}\) vector;
28
29 end for
30 declare initial number of neighbors \(K\)=2;
31 whileCohen's kappa improved do
32 declare empty vector for reconstructed classification probabilities \(P^{\prime}\);
33 forID in \(LUV_{IDs}\)do
34 select \(K\) nearest IDs to the ID value using cKDTree KNN method;
35 reconstruct \(P^{\prime}_{x}\) using the IDW interpolation between \(K\) nearest \(P_{b}\) probabilities;
36 append reconstructed probability \(P^{\prime}_{x}\) to the \(P^{\prime}\) vector;
37
38 end for
39 compute [PERSON]'s kappa between Round (\(P^{\prime}\)) and Round (\(P\));
40\(K=K+2\);
41
42 end for
43\(N=N+1\);
44
55 end for
66
77 oversample the optimal \(LUV_{s}\) to IDs values unseen in the training feature vectors;
78 save optimal \(LUV_{IDs}\), \(LUV_{prob}\) and optimal feature combination;