We have a matrix $A$ whose rows are data records and whose columns are features. We would like to omit useless features such as zero or constant columns, duplicate columns, columns that are equal to other columns or columns that are linear combinations of other columns. I believe that the problem can be formulated in linear algebraic terms:



> 
> Find columns of matrix $A$ that form a basis of the column space of matrix $A$.
> 
> 
> 



Find a columns of matrix $A$ which form a basis of columns space of matrix $A$
The easiest and well-known approach is "Gaussian-elimination". Make $A$ into a reduced row echelon form, and pick up columns which contain an element "leading 1". Then these form a basis for the column space of $A$; moreover, their original versions form a basis too.


