To utilize SNA, we first turned the problem into a classification problem. For every data point in the original dataset, we labeled the compound active if its activity was less than 10 μm (pChEMBL value greater than 5). Then, for each target, we added an equal amount of randomly selected compounds that we labeled as inactive. When selecting these presumed inactive, we ensured that the compounds were not known to bind to any target in the same pocket similarity cluster as the current target in question. In addition to encouraging models to pay attention to both ligand and protein features, SNA also serves to balance the dataset.