예제 #1
0
def main():
    #X = [[1, 1], [1, 2],[1,3], [4, 4],[4, 5], [5, 4], [5, 5], [10, 9], [10,10], [20,19], [20, 20]]
    X, Y = make_blobs(n_samples=5000,
                      centers=10,
                      cluster_std=0.60,
                      random_state=0)
    cluster = Clustering(X.tolist())
    cluster.buildTree(cluster.root)

    cluster.createLevelMatrix(cluster.root)
    cluster.createDistanceMatrix(numberOfCluster, numberOfLevels)

    query = [0, 0]

    start = timeit.default_timer()
    # Your statements here
    print("aug", aug_mmr(cluster, 0.5, query, X, 15))
    stop = timeit.default_timer()
    print('Time for aug mmr: ', stop - start)

    start = timeit.default_timer()

    # Your statements here
    print("mmr", _mmr(0.5, query, X, 15))

    stop = timeit.default_timer()

    print('Time for mmr: ', stop - start)
예제 #2
0
def main():
    # Xin, Y = make_blobs(n_samples=1000, centers=10, cluster_std=0.60, random_state=0)
    # np.random.seed(46)
    # Xin = np.random.randint(10000, size=(20, 2))
    # print(Xin)

    Xin = normalized_X

    X = Xin.tolist()
    # print(X)
    K = 15

    a = []
    b = []
    C = []

    maxd = 0

    for i in X:
        for j in X:
            if (i[0] == j[0] and i[1] == j[1]) == False:
                dis = euclidean_distance_square(i, j)
                if maxd < dis:
                    maxd = dis
                    a = i
                    b = j

    # print(a,b,max)

    C.append(a)
    C.append(b)

    X.remove(a)
    X.remove(b)

    start = timeit.default_timer()

    gmmResult = GMM(X, K, C)

    stop = timeit.default_timer()

    print('Time for gmm: ', stop - start)

    X1 = Xin.tolist()

    a1 = []
    b1 = []
    C1 = []

    maxd = 0

    for i in X1:
        for j in X1:
            if (i[0] == j[0] and i[1] == j[1]) == False:
                dis = euclidean_distance_square(i, j)
                if maxd < dis:
                    maxd = dis
                    a1 = i
                    b1 = j

    # print(a,b,max)

    C1.append(a1)
    C1.append(b1)

    X1.remove(a1)
    X1.remove(b1)

    indexMap = {}
    index = 0
    for e in X:
        indexMap[tuple(e)] = index
        index = index + 1

    cluster = Clustering(X1)
    cluster.buildTree(cluster.root)
    cluster.createLevelMatrix(cluster.root)
    cluster.createDistanceMatrix(numberOfCluster, numberOfLevels)
    #cluster.createDistanceMatrixforelements(numberOfCluster, numberOfLevels)

    start = timeit.default_timer()

    augGmmResult = AugGMM(cluster, X1, indexMap, K, C1)

    stop = timeit.default_timer()
    print('Time for aug-gmm: ', stop - start)

    checkResult(augGmmResult, gmmResult)
예제 #3
0
print('Time for calculate swap: ', stop - start)

print("results swap: ")
for rs in res:
    print(X[rs[0]])

# XX = []
# for item in SortedRecItems:
#     XX.append(X[item[0]])
# #print(XX)

cluster = Clustering(X)
cluster.buildTree(cluster.root)

cluster.createLevelMatrix(cluster.root)
cluster.createDistanceMatrix(numberOfCluster, numberOfLevels)
"""""
def printcluster(cluster):
    for node in cluster.root.children:
        print("node elements : ", node.elements)


printcluster(cluster)
        
""" ""

start = timeit.default_timer()

res = augSwap(cluster, X, r, d, k, 10000000000)

stop = timeit.default_timer()