1. A method stored in memory and executed via a processor of a computing device for extracting discriminant features from tensor based data samples, the method comprising: receiving a sample set including a plurality of data samples; generating at least one sample weight based on a contextual distance for each of a plurality of data samples in the sample set; generating a class weight based on a contextual distance for a first class of data samples in the sample set; calculating a within-class scatter for a class of data samples in the sample set, the within-class scatter calculated using the at least one sample weight; calculating a between-class scatter for multiple classes of data samples in the sample set, the between-class scatter calculated using the class weight; performing a mode-k matrix unfolding on the within-class scatter to generate a mode-k within-class scatter matrix; performing a mode-k matrix unfolding on the between-class scatter to generate a mode-k between-class scatter matrix; generating at least one orthogonal projection matrix using the mode-k within-class scatter matrix and the mode-k between-class scatter matrix; and outputting the at least one orthogonal projection matrix.