My original data has many more columns (features) than rows (users). I am trying to reduce the features of my SVD (I need all of the rows). I found one method of doing so in a book called “Machine Learning in Action” but I don’t think it will work for the data I am using.
The method is as follows. Define SVD as
Set an optimization threshold (i.e., 90%). Calculate the total sum of the squares of the diagonalmatrix. Calculate how many values it takes to reach 90% of the total sum of squares. So if that turns out to be 100 values, then I would take the first 100 columns of the matrix, first 100 rows of the matrix, and a square matrix out of the matrix. I would then calculate using the reduced matrices.
However, this method does not target the columns of my original data, since the dimensions of the resultingmatrix are the same as before. How would I target the columns of my original matrix?