Contaminant source identification using semi-supervised machine learning.