axis_pois, axis_users, train_structure_data, poi_adjacent_list, recommends, unknow_poi_set = preprocess( temp_data, time_slice, train, cluster_radius, order) print "train_structure_data: ", train_structure_data print "poi_adjacent_list: ", poi_adjacent_list print "recommends: ", recommends print "unknow_poi_set: ", unknow_poi_set tensor = trans(train_structure_data, poi_adjacent_list, order, len(axis_pois), len(axis_users), time_slice) # print "transition tensor: ", tensor U, S, D = HOSVD(numpy.array(tensor), 0.7) A = reconstruct(S, U) print "reconstruct tensor: ", A print frobenius_norm(tensor - A) avg_precision, avg_recall, avg_f1_score, availability = recommend( A, recommends, unknow_poi_set, time_slice, top_k, order) print "avg_precision, avg_recall, avg_f1_score, availability: ", avg_precision, avg_recall, avg_f1_score, availability # y_values1.append(sparsity(tensor)) # y_values2.append(sparsity(A)) y_values3.append(avg_precision) y_values4.append(avg_recall) y_values5.append(avg_f1_score) x_values.append(cluster_radius) cluster_radius += 0.05 pylab.plot(x_values, y_values3,
tensor = trans(train_structure_data, poi_adjacent_list, order, len(axis_pois), len(axis_users), time_slice) # print "transition tensor: ", tensor # print "tensor: ", tensor, numpy.array(tensor).shape # print "tensor: ", tensor[0][0] # print "sparsity: ", sparsity_tensor(tensor[0][0]) # print "tensor.shape: ", numpy.array(tensor[0][1]).shape # # # print cp(numpy.array(tensor[0][0]), n_components=1) U, S, D = HOSVD(numpy.array(tensor), 0.7) A = reconstruct(S, U) print "reconstruct tensor: ", A print frobenius_norm(tensor-A) # time_slice_range = (1, 2, 4, 6, 12) # index = 0 x_values = [] y_values1 = [] y_values2 = [] y_values3 = [] y_values4 = [] while top_k <= 10: avg_precision, avg_recall, avg_f1_score, availability = recommend(A, recommends, unknow_poi_set, time_slice, top_k, order) print "avg_precision: ", avg_precision print "avg_recall: ", avg_recall print "avg_f1_score: ", avg_f1_score print "availability: ", availability