1. A method for transforming data comprising: receiving, by a computing device, input data with categorical labels, the input data comprising vectors and each categorical label denoting a subset of the vectors; forming, by the computing device, higher-order links for each subset of the vectors; calculating, by the computing device, a higher-order transform for each attribute in each subset; and transmitting, by the computing device, transformed data to a learner to build a model.