For each ML model, a train, validation, and test split of 8:1:1 was used. As the dataset consists of multiple types of sites (i.e. each Q n species), an attempt was made to stratify the data such that there is an approximately equal weighting of each Q n species in each of the training, validation, and test sets. To remove any opportunity for data leakage, stratification was done at the structure-level rather than the site-level. Due to structures containing multiple sites, often of different Q n 's, each structure was given a label based on whichever n was least common in the dataset. For example, in a structure with both a Q 1 and Q 2 site the structure would be labeled as Q 1 because the dataset consists of smaller number of Q 1 sites (32) than Q 2 sites (172). Structures were then randomly stratified to give roughly equal proportions of each n type in each set.