def compute_ghcm_mdt_one_user(user_id): file_name = "ghcm_mdt_user_" + str(user_id) print "loading matrix user " + str(user_id) + "..." [rfvdata, featuresnames, valuesnames, recordsdates] = RVFDataExtractor.load_rvf(user_id) print "values" + JsonUtils.dict_as_json_str(valuesnames) print "data" + JsonUtils.dict_as_json_str(rfvdata[0]) vocab_size = [len(valuesnames[f]) for f in range(len(valuesnames.keys()))] print "user " + str(user_id) + " has " + str( len(featuresnames)) + " features and " + str(len(rfvdata)) + " records" print "features names" print featuresnames print "values" + JsonUtils.dict_as_json_str(valuesnames) for k in [10, 20, 30]: #compute the ghcm_mdt ghcm_mdt_comp = GHCM_MDTComputer(rfvdata, k, vocab_size) print "computing SVD for user " + str(user_id) + "..." ghcm_mdt_comp.compute() print "constructing interpretable output for user " + str( user_id) + "..." ghcm_mdt_comp.construct_rows_interpretable_output( featuresnames, valuesnames, disp_m) r_output = ghcm_mdt_comp.rows_interpretable_output #write the result print "writing SVD result for user " + str(user_id) + "..." JsonLogsFileWriter.write(r_output, file_name)
def compute_lcbmf_one_user(user_id): file_name = "lcbmf_user_" + str(user_id) print "loading matrix user " + str(user_id) + "..." data_matrix = MDataExtractor.load_matrix(user_id) rows_labels = MDataExtractor.load_labels_vector(user_id) columns_labels = MDataExtractor.load_time_vector(user_id) importance_scores = MDataExtractor.load_importance_scores(user_id) print "user " + str(user_id) + " has " + str( len(rows_labels)) + " features (rows) and " + str( len(columns_labels)) + " realization (columns)" #compute the lcbmf lcbmf_comp = LCBMFComputer(data_matrix, "idf", "[0,1]", "positive, sum=1", 10) print "computing LCBMF for user " + str(user_id) + "..." lcbmf_comp.compute() print "constructing interpretable output for user " + str(user_id) + "..." lcbmf_comp.construct_rows_interpretable_output(rows_labels, disp_m) r_output = lcbmf_comp.rows_interpretable_output #write the result print "writing LCBMF result for user " + str(user_id) + "..." JsonLogsFileWriter.write(r_output, file_name)
def compute_lcbmf_one_user(user_id): file_name = "lcbmf_user_"+str(user_id) print "loading matrix user "+str(user_id)+"..." data_matrix = MDataExtractor.load_matrix(user_id) rows_labels = MDataExtractor.load_labels_vector(user_id) columns_labels = MDataExtractor.load_time_vector(user_id) importance_scores = MDataExtractor.load_importance_scores(user_id) print "user "+str(user_id)+" has "+str(len(rows_labels))+" features (rows) and "+str(len(columns_labels))+" realization (columns)" #compute the lcbmf lcbmf_comp = LCBMFComputer(data_matrix, "idf", "[0,1]", "positive, sum=1", 10) print "computing LCBMF for user "+str(user_id)+"..." lcbmf_comp.compute() print "constructing interpretable output for user "+str(user_id)+"..." lcbmf_comp.construct_rows_interpretable_output(rows_labels, disp_m) r_output = lcbmf_comp.rows_interpretable_output #write the result print "writing LCBMF result for user "+str(user_id)+"..." JsonLogsFileWriter.write(r_output, file_name)
def compute_ghcm_mdt_one_user(user_id): file_name = "ghcm_mdt_user_"+str(user_id) print "loading matrix user "+str(user_id)+"..." [rfvdata, featuresnames, valuesnames, recordsdates] = RVFDataExtractor.load_rvf(user_id) print "values" + JsonUtils.dict_as_json_str(valuesnames) print "data" + JsonUtils.dict_as_json_str(rfvdata[0]) vocab_size = [len(valuesnames[f]) for f in range(len(valuesnames.keys()))] print "user "+str(user_id)+" has "+str(len(featuresnames))+" features and "+str(len(rfvdata))+" records" print "features names" print featuresnames print "values" + JsonUtils.dict_as_json_str(valuesnames) for k in [10,20,30]: #compute the ghcm_mdt ghcm_mdt_comp = GHCM_MDTComputer(rfvdata, k, vocab_size) print "computing SVD for user "+str(user_id)+"..." ghcm_mdt_comp.compute() print "constructing interpretable output for user "+str(user_id)+"..." ghcm_mdt_comp.construct_rows_interpretable_output(featuresnames, valuesnames, disp_m) r_output = ghcm_mdt_comp.rows_interpretable_output #write the result print "writing SVD result for user "+str(user_id)+"..." JsonLogsFileWriter.write(r_output, file_name)
def compute_svd_one_user(user_id): file_name = "svd_user_"+str(user_id) print "loading matrix user "+str(user_id)+"..." data_matrix = MDataExtractor.load_matrix(user_id) rows_labels = MDataExtractor.load_labels_vector(user_id) columns_labels = MDataExtractor.load_time_vector(user_id) importance_scores = MDataExtractor.load_importance_scores(user_id) print "user "+str(user_id)+" has "+str(len(rows_labels))+" features (rows) and "+str(len(columns_labels))+" realization (columns)" #do the idf / or idc transformation before computing the SVD print "doing idf transformation for user "+str(user_id)+"..." document_transformed_matrix = np.copy(data_matrix) [document_transformed_matrix, scores] = Numpy.idf_matrix_transformation(data_matrix, time_dimention, do_laplace_smoothing) #[document_transformed_matrix, scores] = Numpy.idc_matrix_transformation(data_matrix, time_dimention, do_laplace_smoothing) #[document_transformed_matrix, scores] = Numpy.idf3_matrix_transformation(data_matrix, time_dimention, do_laplace_smoothing) #[document_transformed_matrix, scores] = Numpy.ldc_matrix_transformation(data_matrix, time_dimention) term_transformed_matrix = np.ones(np.shape(data_matrix)) #term_transformed_matrix = Numpy.ti_matrix_transformation(data_matrix, importance_scores) #term_transformed_matrix = Numpy.nti_matrix_transformation(data_matrix, importance_scores) data_matrix = document_transformed_matrix * term_transformed_matrix #compute the SVD svd_comp = SVDComputer(data_matrix, rows_labels, columns_labels) print "computing SVD for user "+str(user_id)+"..." svd_comp.compute_svd() print "constructing interpretable output for user "+str(user_id)+"..." energy_captured = svd_comp.construct_rows_interpretable_output(disp_k, disp_m) r_output = svd_comp.rows_interpretable_output print "the energy captured with "+str(disp_k)+" concepts is "+str(energy_captured)+" %" #write the result print "writing SVD result for user "+str(user_id)+"..." JsonLogsFileWriter.write(r_output, file_name)
def compute_svd_one_user(user_id): file_name = "svd_user_" + str(user_id) print "loading matrix user " + str(user_id) + "..." data_matrix = MDataExtractor.load_matrix(user_id) rows_labels = MDataExtractor.load_labels_vector(user_id) columns_labels = MDataExtractor.load_time_vector(user_id) importance_scores = MDataExtractor.load_importance_scores(user_id) print "user " + str(user_id) + " has " + str( len(rows_labels)) + " features (rows) and " + str( len(columns_labels)) + " realization (columns)" #do the idf / or idc transformation before computing the SVD print "doing idf transformation for user " + str(user_id) + "..." document_transformed_matrix = np.copy(data_matrix) [document_transformed_matrix, scores] = Numpy.idf_matrix_transformation(data_matrix, time_dimention, do_laplace_smoothing) #[document_transformed_matrix, scores] = Numpy.idc_matrix_transformation(data_matrix, time_dimention, do_laplace_smoothing) #[document_transformed_matrix, scores] = Numpy.idf3_matrix_transformation(data_matrix, time_dimention, do_laplace_smoothing) #[document_transformed_matrix, scores] = Numpy.ldc_matrix_transformation(data_matrix, time_dimention) term_transformed_matrix = np.ones(np.shape(data_matrix)) #term_transformed_matrix = Numpy.ti_matrix_transformation(data_matrix, importance_scores) #term_transformed_matrix = Numpy.nti_matrix_transformation(data_matrix, importance_scores) data_matrix = document_transformed_matrix * term_transformed_matrix #compute the SVD svd_comp = SVDComputer(data_matrix, rows_labels, columns_labels) print "computing SVD for user " + str(user_id) + "..." svd_comp.compute_svd() print "constructing interpretable output for user " + str(user_id) + "..." energy_captured = svd_comp.construct_rows_interpretable_output( disp_k, disp_m) r_output = svd_comp.rows_interpretable_output print "the energy captured with " + str(disp_k) + " concepts is " + str( energy_captured) + " %" #write the result print "writing SVD result for user " + str(user_id) + "..." JsonLogsFileWriter.write(r_output, file_name)