Let's assume for now that I'm constrained to use a perceptron based method . say I have a user-item matrix filled with rating data on scale of 1 to 5 like this, with around 50% of the matrix with no data:r<- matrix(c(2,4, NA,5,NA,3, NA,5,NA,1,NA,3,NA,5,NA,4,4,NA,NA,NA,1,1,2,NA,1,1,1,1,NA,NA,NA,NA,2,3,4,2,NA,NA,NA,NA,3,4,5,1,NA,NA,2,3,NA), nrow=7).#one row represents one user, hile one column represents one itemr    [,1] [,2] [,3] [,4] [,5] [,6] [,7][1,]    2    5   NA    1   NA    2    5[2,]    4   NA    4    2   NA   NA    1[3,]   NA    1    4   NA   NA   NA   NA[4,]    5   NA   NA    1   NA   NA   NA[5,]   NA    3   NA    1    2   NA    2[6,]    3   NA   NA    1    3    3    3[7,]   NA    5    1    1    4    4   NAI'm recoding the NA's to 0's, which makes the perceptron give out only 2 classes (one containing all the 1's and 0's , and the other containing all the 2,3,4 and 5. Which is understandable I guess.) How do I deal with this? I tried mean imputation but the results are not good (20% accuracy)(Sorry I can't give exact code due to this being a proprietery code of my company, but any perceptron based method should work for this example)Any help would be appreciated. Thanks
How to deal with a sparse matrix when using a perceptron based recommender system?
machine learning;recommender system