Beispiel #1
0
        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,
Beispiel #2
0
    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