This R package contains a novel matrix sampling algorithm. Conducts conditional random sampling on observed values in sparse matrices. Useful for training and test set splitting sparse matrices prior to model fitting in cross-validation procedures and for estimating the predictive accuracy of data imputation methods, such as matrix factorization or singular value decomposition (SVD). Although designed for applications with sparse matrices, CRASSMAT can also be applied to complete matrices, as well as to those containing missing values.
CRASSMAT takes a matrix Aij and samples out a single jth value on the condition that the number of jth values within the ith observation is greater than the specified conditional (minimum number of values to remain per ith observation). This process repeats itself until the specified sampling threshold is met.
## install CRAN release
install.packages('crassmat')
## install developer version
library(devtools)
devtools::install_github('nickkunz/crassmat')
## load crassmat
library(crassmat)
## test set
A_test <- A
## training set
A_train <- crassmat(data = A, # matrix
sample_thres = 0.20, # remove 20% of observed values
conditional = 1) # keep > 1 observed values per row
© Nick Kunz, 2019. Licensed under the General Public License v3.0 (GPLv3).
CRASSMAT is open for improvements and maintenence. Your help is valued to make the package better for everyone.
Kunz, N. (2019). Unsupervised Learning for Submarket Modeling: A Proxy for Neighborhood Change (Master’s Thesis). Columbia University, New York, NY. https://doi.org/10.7916/d8-rj87-yx32.
Kunz, N. (2019). CRASSMAT: Conditional Random Sampling Sparse Matrices. The Comprehensive R Archive Network (CRAN). https://cran.r-project.org/web/packages/crassmat/index.html.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.