1
การลดขนาด (SVD หรือ PCA) บนเมทริกซ์ขนาดใหญ่ที่กระจัดกระจาย
/ แก้ไข: ติดตามเพิ่มเติมตอนนี้คุณสามารถใช้irlba :: prcomp_irlba / แก้ไข: ติดตามโพสต์ของฉันเอง irlbaขณะนี้มีอาร์กิวเมนต์ "กลาง" และ "สเกล" ซึ่งให้คุณใช้ในการคำนวณส่วนประกอบหลักเช่น: pc <- M %*% irlba(M, nv=5, nu=0, center=colMeans(M), right_only=TRUE)$v ฉันมีMatrixคุณสมบัติเบาบางขนาดใหญ่ที่ฉันต้องการใช้ในอัลกอริทึมการเรียนรู้ของเครื่อง: library(Matrix) set.seed(42) rows <- 500000 cols <- 10000 i <- unlist(lapply(1:rows, function(i) rep(i, sample(1:5,1)))) j <- sample(1:cols, length(i), replace=TRUE) M <- sparseMatrix(i, j) เนื่องจากเมทริกซ์นี้มีหลายคอลัมน์ฉันต้องการลดขนาดของมันเป็นสิ่งที่จัดการได้มากกว่า ฉันสามารถใช้แพ็คเกจ irlba ที่ยอดเยี่ยมเพื่อทำ …