# Stability of Feature Selection in Multi-Omics Data Analysis
## 2 Materials and Methods
### Experimental Setup  
For each dataset, we conducted experiments separately on individual omics features (_cnv_, _minra_, _mutation_, and _rna_) as well as on the combined feature set. Each experiment was conducted using 5-fold cross-validation, repeated 3 times with different random seeds. For each data subset (omics layers or the combined feature set) and each classifier type (LR, SVM, Lasso), we selected the regularization parameter \(C\) prior to the cross-validation loops. This parameter was adjusted to obtain feature subsets of low, medium, and high cardinality, corresponding to approximately 7%, 30%, and 55% of the total number of observations in the datasets, respectively. Details about the algorithm for choosing the \(C\) value are described in the next paragraph. Using classifiers with fixed values for the regularization parameters \(C\), we fitted classification models to the training data and extracted the selected features from the fitted models (those with weights \(w_{i}\
eq 0\)). The selected features were saved for each split, resulting in a total of 15 subsets of features (5 folds \(\times\) 3 repetitions) for each classifier and each \(C\) value across all omics in the dataset. These subsets were then utilized to calculate feature-selection stability. Additionally, for each of these runs, we computed the accuracy on the test set, as shown in Figure 1.  
The experiments were conducted in the Python 3.9 programming environment. In most cases, including procedures for generating training and test dataset splits as well as the classification methods, implementations from the scikit-learn[50] library were utilized. Detailed implementation information is provided in the source code available in the GitHub repository ([[https://github.com/tlukaszuk/feature-selection-stability-on-multi-omics-data](https://github.com/tlukaszuk/feature-selection-stability-on-multi-omics-data)]([https://github.com/tlukaszuk/feature-selection-stability-on-multi-omics-data](https://github.com/tlukaszuk/feature-selection-stability-on-multi-omics-data)) (accessed on 26 November)). \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline
**Name** & **Objects** & **Split 0/1** & **\_ALL\_** & **cnv** & **mina** & **mutation** & **ma** \\ \hline BLCA & 382 & 196/186 & 100,451 & 57,964 & 825 & 18,576 & 23,081 \\ BRCA & 735 & 480/255 & 99,475 & 57,964 & 835 & 17,974 & 22,694 \\ COAD & 191 & 85/106 & 99,520 & 57,964 & 802 & 18,537 & 22,210 \\ ESCA & 106 & 23/83 & 96,854 & 57,964 & 763 & 12,627 & 25,494 \\ HNSC & 443 & 136/307 & 97,535 & 57,964 & 793 & 17,247 & 21,520 \\ LGG & 419 & 224/195 & 90,150 & 57,964 & 645 & 9234 & 22,297 \\ LIHC & 159 & 115/44 & 91,565 & 57,964 & 776 & 11,820 & 20,994 \\ LUAD & 426 & 214/212 & 100,840 & 57,964 & 799 & 18,387 & 23,681 \\ LUSC & 418 & 72/346 & 100,891 & 57,964 & 895 & 18,499 & 23,524 \\ PAAD & 124 & 46/78 & 93,325 & 57,964 & 612 & 12,391 & 22,348 \\ PRAD & 407 & 359/48 & 91,984 & 57,925 & 585 & 11,701 & 21,769 \\ SARC & 126 & 78/48 & 91,595 & 57,964 & 778 & 10,000 & 22,842 \\ SKCM & 249 & 210/39 & 99,815 & 57,964 & 1002 & 18,592 & 22,248 \\ STAD & 295 & 156/139 & 103,365 & 57,964 & 787 & 18,580 & 26,027 \\ UCEC & 405 & 261/144 & 103,354 & 57,447 & 866 & 21,052 & 23,978 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Summary of the datasets used in the experiments. The “Split” column indicates the number of objects without TP53 mutations and those with the mutation, respectively. The “\_ALL\_” column represents the total number of available features, while the columns on the right display the number of features for each omics layer. Figure 1: Experimental setup. For each omics layer and all omics, 5-fold stratified cross-validation was repeated 3 times. Each of 3 classifiers was trained using three different \(C\) values (\(C_{low}\), \(C_{mid}\) and \(C_{high}\)). For each classifier, both feature selection stability and accuracy were calculated.