예제 #1
0
    # labels = data[:, -1]
    # print("dataset = %s    data.shape = %s" % (dataset, fea.shape))

    fea, labels = loadData.load_coil100()
    print("------ Normalizing data ------")
    # fea = tool.data_Normalized(fea)
    Normalizer = MinMaxScaler()
    Normalizer.fit(fea)
    fea = Normalizer.transform(fea)

    print("------ PCA decomposition ------")
    # fea,b,c = tool.PCA.pca(fea, 150)
    pca = PCA(n_components=150)
    fea = pca.fit_transform(fea)
    print("fea.shape =", fea.shape)

    K = 5
    groupNumber = len(np.unique(labels))

    print("------ Clustering ------")
    start = time.time()
    cl = knnDPC.knnDPC2(fea, groupNumber, K)
    end = time.time()
    print("time =", end - start)

    print("------ Computing performance measure ------")
    nmi = measure.NMI(labels, cl)
    print("nmi =", nmi)
    acc = measure.ACC(labels, cl)  # 计算ACC需要label和labels_pred 在同一个区间[1,20]
    print("acc =", acc)
예제 #2
0
    print("data_set = %s    data.shape = %s" % (data_set, fea.shape))

    print("------ Normalizing data ------")
    # tool.data_Normalized(fea)
    Normalizer = MinMaxScaler()
    Normalizer.fit(fea)
    fea = Normalizer.transform(fea)

    print("------ Decomposition ------")
    #fea,b,c = PCA.pca(fea, 150)
    pca = PCA(n_components=150)
    fea = pca.fit_transform(fea)
    print("fea.shape =", fea.shape)

    K = 20
    u = 1
    group_number = len(np.unique(labels))

    print("------ Clustering ------")
    start = time.time()
    labels_pred = DPC.knnDPC1(fea, group_number, K, u)
    end = time.time()
    print("time =", end - start)

    nmi = measure.NMI(labels, labels_pred)
    print("nmi =", nmi)
    acc = measure.ACC(labels, labels_pred)
    print("acc =", acc)
    precision_score = measure.precision_score(labels, labels_pred)
    print("precision_score =", precision_score)
예제 #3
0
    K = 10
    v = 1
    z = 0.01
    groupNumber = len(np.unique(labels))
    ND = dist.shape[0]

    # build the adjacency graph
    graphW, NNIndex = tool.gacBuildDigraph(dist, K, v)
    graphW = np.around(graphW, decimals=4)

    # from adjacency matrix to probability transition matrix


    def f(x):
        return x / np.sum(x)

    graphW = np.apply_along_axis(f, 1, graphW)

    initialCluster = tool.gacNNMerge(dist, NNIndex)
    numClusters = len(initialCluster)
    cl = tool.gacMerging(graphW, initialCluster, groupNumber, 'path', z)
    end = time.time()
    print("time =", end - start)

    print("------ Computing performance measure ------")
    NMI = measure.NMI(labels, cl)
    print("NMI =", NMI)
    ACC = measure.ACC(labels, cl)
    print("ACC =", ACC)