<?xml version="1.0" encoding="UTF-8" ?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-07-24T06:25:30Z</responseDate><request identifier="10.35097/1345" metadataPrefix="datacite" verb="GetRecord">https://www.radar-service.eu/oai/OAIHandler</request><GetRecord><record><header><identifier>10.35097/1345</identifier><datestamp>2024-07-10T07:54:47Z</datestamp><setSpec>radar4kit</setSpec></header><metadata><resource xmlns="http://datacite.org/schema/kernel-4"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://datacite.org/schema/kernel-4 https://schema.datacite.org/meta/kernel-4.4/metadata.xsd">
   <identifier identifierType="DOI">10.35097/1345</identifier>
   <creators>
      <creator>
         <creatorName>Bach, Jakob</creatorName>
         <givenName>Jakob</givenName>
         <familyName>Bach</familyName>
         <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0003-0301-2798</nameIdentifier>
         <affiliation>Institut für Programmstrukturen und Datenorganisation (IPD), Karlsruher Institut für Technologie (KIT)</affiliation>
      </creator>
      <creator>
         <creatorName>Zoller, Kolja</creatorName>
         <givenName>Kolja</givenName>
         <familyName>Zoller</familyName>
         <affiliation>Computational Materials Science (IAM-CMS), Karlsruher Institut für Technologie (KIT)</affiliation>
      </creator>
      <creator>
         <creatorName>Schulz, Katrin</creatorName>
         <givenName>Katrin</givenName>
         <familyName>Schulz</familyName>
         <affiliation>Computational Materials Science (IAM-CMS), Karlsruher Institut für Technologie (KIT)</affiliation>
      </creator>
   </creators>
   <titles>
      <title>Experimental Data for the Paper ''An Empirical Evaluation of Constrained Feature Selection"</title>
   </titles>
   <publisher>Karlsruhe Institute of Technology</publisher>
   <dates>
      <date dateType="Created">2021</date>
   </dates>
   <publicationYear>2023</publicationYear>
   <subjects>
      <subject>Computer Science</subject>
      <subject>Feature selection</subject>
      <subject>Constraints</subject>
      <subject>Domain knowledge</subject>
      <subject>Theory-guided data science</subject>
   </subjects>
   <resourceType resourceTypeGeneral="Dataset"/>
   <rightsList>
      <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
      <rights schemeURI="https://spdx.org/licenses/"
              rightsIdentifierScheme="SPDX"
              rightsIdentifier="CC-BY-4.0"
              rightsURI="https://creativecommons.org/licenses/by/4.0/legalcode">Creative Commons Attribution 4.0 International</rights>
   </rightsList>
   <contributors>
      <contributor contributorType="RightsHolder">
         <contributorName>Bach, Jakob</contributorName>
         <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="https://orcid.org/">0000-0003-0301-2798</nameIdentifier>
      </contributor>
      <contributor contributorType="RightsHolder">
         <contributorName>Zoller, Kolja</contributorName>
      </contributor>
      <contributor contributorType="RightsHolder">
         <contributorName>Schulz, Katrin</contributorName>
      </contributor>
   </contributors>
   <descriptions>
      <description descriptionType="Abstract">These are the experimental data for the paper&#xD;
&#xD;
&gt; Bach, Jakob, et al. "An Empirical Evaluation of Constrained Feature Selection"&#xD;
&#xD;
published at the journal [*SN Computer Science*](https://www.springer.com/journal/42979).&#xD;
You can find the paper [here](https://doi.org/10.1007/s42979-022-01338-z) and the code [here](https://github.com/Jakob-Bach/Constrained-Filter-Feature-Selection).&#xD;
See the `README` for details.&#xD;
&#xD;
Some of the datasets used in our study (which we also provide here) originate from [OpenML](https://www.openml.org) and are CC-BY-licensed.&#xD;
Please see the paragraph `Licensing` in the `README` for details, e.g., on the authors of these datasets.</description>
      <description descriptionType="TechnicalInfo"># Experimental Data for the Paper "An Empirical Evaluation of Constrained Feature Selection"&#xD;
&#xD;
These are the experimental data for the paper&#xD;
&#xD;
&gt; Bach, Jakob, et al. "An Empirical Evaluation of Constrained Feature Selection"&#xD;
&#xD;
accepted at the journal [*SN Computer Science*](https://www.springer.com/journal/42979).&#xD;
&#xD;
Check our [GitHub repository](https://github.com/Jakob-Bach/Constrained-Filter-Feature-Selection) for the code and instructions to reproduce the experiments.&#xD;
The data were obtained on a server with an `AMD EPYC 7551` [CPU](https://www.amd.com/en/products/cpu/amd-epyc-7551) (32 physical cores, base clock of 2.0 GHz) and 128 GB RAM.&#xD;
The Python version was `3.8`.&#xD;
Our paper contains two studies, and we provide data for both of them.&#xD;
&#xD;
Running the experimental pipeline for the study with synthetic constraints (`syn_pipeline.py`) took several hours.&#xD;
The commit hash for the last run of this pipeline is [`acc34cf5d2`](https://github.com/Jakob-Bach/Constrained-Filter-Feature-Selection/tree/acc34cf5d22b0a8427852a01288bb8b34f5d8c98).&#xD;
The commit hash for the last run of the corresponding evaluation (`syn_evaluation.py`) is [`c1a7e7e99e`](https://github.com/Jakob-Bach/Constrained-Filter-Feature-Selection/tree/c1a7e7e99e56c1a178a602596c13641d7771df0a).&#xD;
&#xD;
Running the experimental pipeline for the case study in materials science (`ms_pipeline.py`) took less than one hour.&#xD;
The commit hash for the last run of this pipeline is [`ba30bf9f11`](https://github.com/Jakob-Bach/Constrained-Filter-Feature-Selection/tree/ba30bf9f11703e2a8a942425e2cd4b9f36ead513).&#xD;
The commit hash for the last run of the corresponding evaluation (`ms_evaluation.py`) is [`c1a7e7e99e`](https://github.com/Jakob-Bach/Constrained-Filter-Feature-Selection/tree/c1a7e7e99e56c1a178a602596c13641d7771df0a).&#xD;
&#xD;
All these commits are also tagged.&#xD;
&#xD;
In the following, we describe the structure/content of each data file.&#xD;
All files are plain CSVs, so you can read them with `pandas.read_csv()`.&#xD;
&#xD;
## `ms/`&#xD;
&#xD;
The input data for the case study in materials science (`ms_pipeline.py`).&#xD;
Output of the script `prepare_ms_dataset.py`.&#xD;
As the raw simulation dataset is quite large, we only provide a pre-processed version of it&#xD;
(we do not provide the input to `prepare_ms_dataset.py`).&#xD;
In this pre-processed version, the feature and target parts of the data are already separated into two files: `voxel_data_predict_glissile_X.csv` and `voxel_data_predict_glissile_y.csv`.&#xD;
In `voxel_data_predict_glissile_X.csv`, each column is a numeric feature.&#xD;
`voxel_data_predict_glissile_y.csv` only contains one column, the numeric prediction target (reaction density of glissile reactions).&#xD;
&#xD;
## `ms-results/`&#xD;
&#xD;
Only contains one result file (`results.csv`) for the case study in materials science.&#xD;
Output of the script `ms_pipeline.py`, input to the script `ms_evaluation.py`.&#xD;
The columns of the file mostly correspond to evaluation metrics used in the paper;&#xD;
see Appendix A.1 for definitions of the latter.&#xD;
&#xD;
- `objective_value` (float): Objective `Q(s, X, y)`, the sum of the qualities of the selected features.&#xD;
- `num_selected` (int): `n_{se}`, the number of selected features.&#xD;
- `selected` (string, but actually a list of strings): Names of the selected features.&#xD;
- `num_variables` (int): `n`, the total number of features in the dataset.&#xD;
- `num_constrained_variables` (int): `n_{cf}`, the number of features involved in constraints.&#xD;
- `num_unique_constrained_variables` (int): `n_{ucf}`, the number of unique features involved in constraints.&#xD;
- `num_constraints` (int): `n_{co}`, the number of constraints.&#xD;
- `frac_solutions` (float): `n_{so}^{norm}`, the number of valid (regarding constraints) feature sets relative to the total number of feature sets.&#xD;
- `linear-regression_train_r2` (float): `R^2` (coefficient of determination) for linear-regression models, trained with the selected features, predicting on the training set.&#xD;
- `linear-regression_test_r2` (float): `R^2` (coefficient of determination) for linear-regression models, trained with the selected features, predicting on the test set.&#xD;
- `regression-tree_train_r2` (float): `R^2` (coefficient of determination) for regression-tree models, trained with the selected features, predicting on the training set.&#xD;
- `regression-tree_test_r2` (float): `R^2` (coefficient of determination) for regression-tree models, trained with the selected features, predicting on the test set.&#xD;
- `xgb-linear_train_r2` (float): `R^2` (coefficient of determination) for linear XGBoost models, trained with the selected features, predicting on the training set.&#xD;
- `xgb-linear_test_r2` (float): `R^2` (coefficient of determination) for linear XGBoost models, trained with the selected features, predicting on the test set.&#xD;
- `xgb-tree_train_r2` (float): `R^2` (coefficient of determination) for tree-based XGBoost models, trained with the selected features, predicting on the training set.&#xD;
- `xgb-tree_test_r2` (float): `R^2` (coefficient of determination) for tree-based XGBoost models, trained with the selected features, predicting on the test set.&#xD;
- `evaluation_time` (float): Runtime (in s) for evaluating one set of constraints.&#xD;
- `split_idx` (int): Index of the cross-validation fold.&#xD;
- `quality_name` (string): Measure for feature quality (absolute correlation or mutual information).&#xD;
- `constraint_name` (string): Name of the constraint type (see paper).&#xD;
- `dataset_name` (string): Name of the dataset.&#xD;
&#xD;
## `openml/`&#xD;
&#xD;
The input data for the study with synthetic constraints (`syn_pipeline.py`).&#xD;
Output of the script `prepare_openml_datasets.py`.&#xD;
We downloaded 35 datasets from [OpenML](https://www.openml.org) and removed non-numeric columns.&#xD;
Also, we separated the feature part (`*_X.csv`) and the target part (`*_y.csv`) of each dataset.&#xD;
`_data_overview.csv` contains meta-data for the datasets, including dataset id, dataset version, and uploader.&#xD;
&#xD;
**Licensing**&#xD;
&#xD;
Please consult each dataset's website on [OpenML](https://www.openml.org) for licensing information and citation requests.&#xD;
According to OpenML's [terms](https://www.openml.org/terms), OpenML datasets fall under the [CC-BY](https://creativecommons.org/licenses/by/4.0/) license.&#xD;
The datasets used in our study were uploaded by:&#xD;
&#xD;
- Jan van Rijn (user id: 1)&#xD;
- Joaquin Vanschoren (user id: 2)&#xD;
- Rafael Gomes Mantovani (user id: 64)&#xD;
- Tobias Kuehn (user id: 94)&#xD;
- Richard Ooms (user id: 8684)&#xD;
- R P (user id: 15317)&#xD;
&#xD;
See `_data_overview.csv` to match each dataset to its uploader.&#xD;
&#xD;
## `openml-results/`&#xD;
&#xD;
Result files for the study with synthetic constraints.&#xD;
Output of the script `syn_pipeline.py`, input to the script `syn_evaluation.py`.&#xD;
One result file for each combination of the 10 constraint generators and the 35 datasets, plus one overall (merged) file, `results.csv`.&#xD;
The columns of the result files are the those of `ms-results/results.csv`, minus `selected` and `evaluation_time`;&#xD;
see above for detailed descriptions.</description>
   </descriptions>
   <alternateIdentifiers>
      <alternateIdentifier alternateIdentifierType="KITopen-DOI">10.5445/IR/1000148891</alternateIdentifier>
   </alternateIdentifiers>
   <relatedIdentifiers>
      <relatedIdentifier relatedIdentifierType="URL" relationType="IsIdenticalTo">https://publikationen.bibliothek.kit.edu/1000148891</relatedIdentifier>
   </relatedIdentifiers>
   <sizes>
      <size/>
   </sizes>
   <formats>
      <format>application/x-tar</format>
   </formats>
</resource></metadata></record></GetRecord></OAI-PMH>