def prepare_matrix(val, row_var, col_var):
# Takes a vector of observed values and two categorical variables
# and returns a sparse matrix in coo format that can be used to
# instantiate the class. Also returned are dictionaries that maps the
# row and column categories to indices of a matrix
#
# Params:
# val, row_var, col_var: numpy arrays
row_id = row_var.unique()
col_id = col_var.unique()
nrow = row_id.size
ncol = col_id.size
# Associate each of the unique id names to a row and column index.
row_id_map = {row_id[index]: index for index in range(len(row_id))}
col_id_map = {col_id[index]: index for index in range(len(col_id))}
row_indices = np.array([row_id_map[id] for id in row_var])
col_indices = np.array([col_id_map[id] for id in col_var])
y_coo = scipy.sparse.coo_matrix((val, (row_indices, col_indices)), shape=(nrow, ncol))
return y_coo, row_id_map, col_id_map
matrix_factorization.py 文件源码
python
阅读 35
收藏 0
点赞 0
评论 0
评论列表
文章目录