import DBCV 
from sklearn import datasets
from sklearn.cluster import KMeans
from scipy.spatial.distance import euclidean


def generate_data(n_samples=300, noise=0.05):
    noisy_moons = datasets.make_moons(n_samples=n_samples, noise=noise)
    X = noisy_moons[0]
    return X


def generate_labels(X):
    kmeans =  KMeans(n_clusters=2)
    kmeans_labels = kmeans.fit_predict(X)
    return kmeans_labels

if __name__ == '__main__':
    X = generate_data()
    labels = generate_labels(X)
    score = DBCV.DBCV(X, labels, dist_function=euclidean)