Machine learning methods for generating high dimensional discrete datasets