Active and inactive molecules against DRD2 and against DRD3 were extracted from the ExCAPE-DB . This corresponded to 4,609 and 2,758 active molecules and 343,026 and 402,524 inactive molecules respectively. A further unique subset was defined for each target by excluding molecules with measured activity against the other target to ensure no domain overlap between DRD2 and DRD3 models for the dual and selective tasks, resulting in in 2,282 and 373 active molecules and 5,161 and 64,717 inactive molecules for DRD2 and DRD3 respectively. To tackle data imbalance, a maximally diverse selection of 5,000 inactive molecules were selected for DRD2 and DRD3, respectively, via a MaxMin algorithm on ECFP4 fingerprints with 2,048 bits, implemented in RDKit. Three random forest (RF) classification models were trained to predict probability of activity (with 100 estimators, max depth of 15 and minimum leaf sampled of 2), one on all DRD2 data with the diverse inactive subset and two on DRD2 and DRD3 unique data with diverse inactive subsets, all implemented in scikit-learn . In each case model performance was estimated by stratified, active cluster split (inactive molecules were split randomly due to being a maximally diverse selection) 5-fold cross-validation with GHOST decision threshold identification resulting in the performance shown in Figure .