//dump output to file void output_sgd_result(std::string filename) { MMOutputter_mat<vertex_data> user_mat(filename + "_U.mm", 0, M, "This file contains SGD output matrix U. In each row D factors of a single user node.", latent_factors_inmem); MMOutputter_mat<vertex_data> item_mat(filename + "_V.mm", M, M+N, "This file contains SGD output matrix V. In each row D factors of a single item node.", latent_factors_inmem); Rcpp::Rcout << "CLiMF output files (in matrix market format): " << filename << "_U.mm" << ", " << filename + "_V.mm " << std::endl; }
//dump output to file void output_rbm_result(std::string filename) { MMOutputter_mat<vertex_data> user_mat(filename + "_U.mm", 0, M, "This file contains RBM output matrix U. In each row D factors of a single user node.", latent_factors_inmem); MMOutputter_mat<vertex_data> mmoutput_right(filename + "_V.mm", M ,M+N, "This file contains RBM output matrix V. In each row D factors of a single item node.", latent_factors_inmem); MMOutputter_vec<vertex_data> mmoutput_bias_right(filename + "_V_bias.mm",M ,M+N , BIAS_POS, "This file contains RBM output bias vector. In each row a single item ni.", latent_factors_inmem); logstream(LOG_INFO) << "RBM output files (in matrix market format): " << filename << "_U.mm" << ", " << filename + "_V.mm " << std::endl; }
void output_als_result(std::string filename) { MMOutputter_mat<vertex_data> user_mat(filename + "_U.mm", 0, M, "This file contains ALS output matrix U. In each row D factors of a single user node.", latent_factors_inmem); MMOutputter_mat<vertex_data> item_mat(filename + "_V.mm", M, M + N, "This file contains ALS output matrix V. In each row D factors of a single item node.", latent_factors_inmem); logstream(LOG_INFO) << "ALS output files (in matrix market format): " << filename << "_U.mm" << ", " << filename + "_V.mm " << std::endl; }
void output_timesvdpp_result(std::string filename) { MMOutputter_mat<vertex_data> user_mat(filename + "_U.mm", 0, M, "This file contains TIMESVDPP output matrix U. In each row 4xD factors of a single user node. The vectors are [p pu x ptemp]", latent_factors_inmem); MMOutputter_mat<vertex_data> item_mat(filename + "_V.mm", M ,M+N, "This file contains -TIMESVDPP output matrix V. In each row 2xD factors of a single item node. The vectors are [q y]", latent_factors_inmem); MMOutputter_mat<vertex_data> time_mat(filename + "_T.mm", M+N ,M+N+K, "This file contains -TIMESVDPP output matrix T. In each row 2xD factors of a single time node. The vectors are [z pt]", latent_factors_inmem); MMOutputter_vec<vertex_data> mmoutput_bias_left(filename + "_U_bias.mm", 0, M, BIAS_POS, "This file contains time-svd++ output bias vector. In each row a single user bias.", latent_factors_inmem); MMOutputter_vec<vertex_data> mmoutput_bias_right(filename + "_V_bias.mm",M ,M+N , BIAS_POS, "This file contains time-svd++ output bias vector. In each row a single item bias.", latent_factors_inmem); MMOutputter_scalar gmean(filename + "_global_mean.mm", "This file contains time-svd++ global mean which is required for computing predictions.", globalMean); logstream(LOG_INFO) << " time-svd++ output files (in matrix market format): " << filename << "_U.mm" << ", " << filename + "_V.mm " << filename + "_T.mm, " << filename << " _global_mean.mm, " << filename << "_U_bias.mm " << filename << "_V_bias.mm " << std::endl; }
static sint read_matrix(char *title,MatMenu menu, char *matnam, sint matn, short *mat, short *xref) { static char userfile[FILENAMELEN+1]; int i; while(TRUE) { fprintf(stdout,"\n\n\n"); fprintf(stdout," ********* %s WEIGHT MATRIX MENU *********\n",title); fprintf(stdout,"\n\n"); for(i=0;i<menu.noptions;i++) fprintf(stdout," %d. %s\n",i+1,menu.opt[i].title); fprintf(stdout," H. HELP\n\n"); fprintf(stdout, " -- Current matrix is the %s ",menu.opt[matn-1].title); if(matn == menu.noptions) fprintf(stdout,"(file = %s)",userfile); fprintf(stdout,"--\n"); getstr("\n\nEnter number (or [RETURN] to exit)",lin2); if(*lin2 == EOS) return(matn); i=toupper(*lin2)-'0'; if(i>0 && i<menu.noptions) { strcpy(matnam,menu.opt[i-1].string); matn=i; } else if (i==menu.noptions) { if(user_mat(userfile, mat, xref)) { strcpy(matnam,userfile); matn=i; } } else switch(toupper(*lin2)) { case '?': case 'H': get_help('8'); break; default: fprintf(stdout,"\n\nUnrecognised Command\n\n"); break; } } }
void output_lp_result(std::string filename) { MMOutputter_mat<vertex_data> user_mat(filename + "_U.mm", 0, M , "This file contains LP output matrix U. In each row D probabilities for the Y labels", latent_factors_inmem); logstream(LOG_INFO) << "LP output files (in matrix market format): " << filename << "_U.mm" << std::endl; }