Exemple #1
0
def hdbscan():
    global source_data
    min_cluster_size = 0.5
    min_samples = 5
    alpha = 1.0
    cluster_selection_method = 'eom'
    if request.args.get('min_cluster_size'):
        min_cluster_size = int(request.args.get('min_cluster_size'))
    if request.args.get('min_samples'):
        min_samples = int(request.args.get('min_samples'))
    if request.args.get('alpha'):
        alpha = float(request.args.get('alpha'))
    if request.args.get('cluster_selection_method'):
        cluster_selection_method = int(
            request.args.get('cluster_selection_method'))
    model = MyHDBSCAN()
    clustering = model.fit(source_data, min_cluster_size, min_samples, alpha,
                           cluster_selection_method)
    labels = clustering.labels_
    labels = labels.tolist()
    clusters = np.unique(labels).size

    pca = MyPCA(source_data)
    data_pca = pca.return_data
    samples, features = data_pca.shape
    data_pca = data_pca.tolist()
    for i in range(samples):
        data_pca[i].append(labels[i])
    return render_template("cluster.html",
                           data=data_pca,
                           data_obj=dictionary_data,
                           clusters=clusters,
                           method='HDBSCAN')
Exemple #2
0
def pca():
    model = MyPCA(source_data)
    projection_data = model.return_data
    projection_data = projection_data.tolist()
    return render_template("pca.html",
                           data=projection_data,
                           data_obj=dictionary_data,
                           method='PCA')
Exemple #3
0
def hierarchical():
    method = 'average'
    if request.args.get('linkage'):
        method = request.args.get('linkage')
    model = MyHierarchical()
    clustering, labels = model.fit(source_data, method)
    labels = labels.tolist()
    clusters = np.unique(labels).size

    pca = MyPCA(source_data)
    data_pca = pca.return_data
    samples, features = data_pca.shape
    data_pca = data_pca.tolist()
    for i in range(samples):
        data_pca[i].append(labels[i])
    return render_template("cluster.html",
                           data=data_pca,
                           data_obj=dictionary_data,
                           clusters=clusters,
                           method='hierarchy')
Exemple #4
0
def sc():
    n_clusters = 8
    if request.args.get('s_clusters'):
        n_clusters = int(request.args.get('s_clusters'))
    model = MySC()
    clustering = model.fit(source_data, n_clusters)
    labels = clustering.labels_
    labels = labels.tolist()
    clusters = np.unique(labels).size

    pca = MyPCA(source_data)
    data_pca = pca.return_data
    samples, features = data_pca.shape
    data_pca = data_pca.tolist()
    for i in range(samples):
        data_pca[i].append(labels[i])
    return render_template("cluster.html",
                           data=data_pca,
                           data_obj=dictionary_data,
                           clusters=clusters,
                           method='SpectralClustering')
Exemple #5
0
def meanshift():
    global source_data
    bandwidth = None
    if request.args.get('bandwidth'):
        bandwidth = float(request.args.get('bandwidth'))
    model = MyMeanShift()
    clustering = model.fit(source_data, bandwidth)
    labels = clustering.labels_
    labels = labels.tolist()
    clusters = np.unique(labels).size

    pca = MyPCA(source_data)
    data_pca = pca.return_data
    samples, features = data_pca.shape
    data_pca = data_pca.tolist()
    for i in range(samples):
        data_pca[i].append(labels[i])
    return render_template("cluster.html",
                           data=data_pca,
                           data_obj=dictionary_data,
                           clusters=clusters,
                           method='MeanShift')
Exemple #6
0
def gmm():
    n_clusters = 1
    cov_type = 'full'
    if request.args.get('g_clusters'):
        n_clusters = int(request.args.get('g_clusters'))
    if request.args.get('cov_type'):
        cov_type = request.args.get('cov_type')
    model = MyGMM()
    clustering, labels = model.fit(source_data, n_clusters, cov_type)
    labels = labels.tolist()
    clusters = np.unique(labels).size

    pca = MyPCA(source_data)
    data_pca = pca.return_data
    samples, features = data_pca.shape
    data_pca = data_pca.tolist()
    for i in range(samples):
        data_pca[i].append(labels[i])
    return render_template("cluster.html",
                           data=data_pca,
                           data_obj=dictionary_data,
                           clusters=clusters,
                           method='GaussianMixture')
Exemple #7
0
def fa():
    n_clusters = 2
    method = 'ward'
    if request.args.get('f_clusters'):
        n_clusters = int(request.args.get('f_clusters'))
    if request.args.get('linkage'):
        method = request.args.get('linkage')
    model = MyFeatureAgglomeration()
    clustering = model.fit(source_data, n_clusters, method)
    labels = clustering.labels_
    labels = labels.tolist()
    clusters = np.unique(labels).size

    pca = MyPCA(source_data)
    data_pca = pca.return_data
    samples, features = data_pca.shape
    data_pca = data_pca.tolist()
    for i in range(samples):
        data_pca[i].append(labels[i])
    return render_template("cluster.html",
                           data=data_pca,
                           data_obj=dictionary_data,
                           clusters=clusters,
                           method='FeatureAgglomeration')
Exemple #8
0
def dbscan():
    eps = 0.5
    min_samples = 5
    if request.args.get('eps'):
        eps = float(request.args.get('eps'))
    if request.args.get('min_samples'):
        min_samples = int(request.args.get('min_samples'))
    model = MyDBSCAN()
    clustering = model.fit(source_data, eps, min_samples)
    labels = clustering.labels_
    labels = labels.tolist()
    clusters = np.unique(labels).size

    pca = MyPCA(source_data)
    data_pca = pca.return_data
    samples, features = data_pca.shape
    data_pca = data_pca.tolist()
    for i in range(samples):
        data_pca[i].append(labels[i])
    return render_template("cluster.html",
                           data=data_pca,
                           data_obj=dictionary_data,
                           clusters=clusters,
                           method='DBSCAN')
Exemple #9
0
def birch():
    threshold = 0.5
    branching_factor = 50
    if request.args.get('threshold'):
        threshold = float(request.args.get('threshold'))
    if request.args.get('branching_factor'):
        branching_factor = int(request.args.get('branching_factor'))
    model = MyBirch()
    clustering = model.fit(source_data, threshold, branching_factor)
    labels = clustering.labels_
    labels = labels.tolist()
    clusters = np.unique(labels).size

    pca = MyPCA(source_data)
    data_pca = pca.return_data
    samples, features = data_pca.shape
    data_pca = data_pca.tolist()
    for i in range(samples):
        data_pca[i].append(labels[i])
    return render_template("cluster.html",
                           data=data_pca,
                           data_obj=dictionary_data,
                           clusters=clusters,
                           method='Birch')
Exemple #10
0
def ap():
    damping = 0.5
    preference = None
    if request.args.get('damping'):
        damping = float(request.args.get('damping'))
    if request.args.get('preference'):
        preference = float(request.args.get('preference'))
    model = MyAP()
    clustering = model.fit(source_data, damping, preference)
    labels = clustering.labels_
    labels = labels.tolist()
    clusters = np.unique(labels).size

    pca = MyPCA(source_data)
    data_pca = pca.return_data
    samples, features = data_pca.shape
    data_pca = data_pca.tolist()
    for i in range(samples):
        data_pca[i].append(labels[i])
    return render_template("cluster.html",
                           data=data_pca,
                           data_obj=dictionary_data,
                           clusters=clusters,
                           method='AffinityPropagation')