def Kmenas_General(tablename):
    conn = sqlite3.connect(dirm.sqlite_file)
    c = conn.cursor()
    cmd = 'SELECT * FROM {tn}'.format(tn=tablename)
    c.execute(cmd)
    all_rows = c.fetchall()
    ids = []
    data = []
    for row in all_rows:
        ids.append(str(row[0]))
        data.append(row[1:])
    X = np.array(data)

    estimators = {
        'k_means_3': KMeans(n_clusters=3),
        'k_means_5': KMeans(n_clusters=3),
        'k_means_8': KMeans(n_clusters=8)
    }

    est = KMeans(n_clusters=3)
    est.fit(X)
    labels = est.labels_
    labels_np = np.array(labels)
    results = []
    tsne_vals, ids2 = tsneHandler.getTSNEwithIds(tablename)
    tsne_x, tsne_y = zip(*tsne_vals)
    results = zip(ids, ids2, tsne_x, tsne_y, labels_np)
    #header = ('id','id2','tsne_x','tsne_y','lables')
    #results_w_header = header + results
    #print results_w_header
    util.writetoCSV(results, tablename + "_clustered")
def Kmenas_General(tablename):
    conn = sqlite3.connect(dirm.sqlite_file)
    c = conn.cursor()
    cmd = 'SELECT * FROM {tn}'.format(tn=tablename)
    c.execute(cmd)
    all_rows = c.fetchall()
    ids = []
    data = []
    for row in all_rows:
        ids.append(str(row[0]))
        data.append(row[1:])
    X = np.array(data)
    
    estimators = {'k_means_3': KMeans(n_clusters=3),'k_means_5':KMeans(n_clusters=3),'k_means_8': KMeans(n_clusters=8)}

    est = KMeans(n_clusters=3)
    est.fit(X)
    labels = est.labels_
    labels_np = np.array(labels)
    results = []
    tsne_vals,ids2 = tsneHandler.getTSNEwithIds(tablename)
    tsne_x,tsne_y = zip(*tsne_vals)
    results = zip(ids,ids2,tsne_x,tsne_y,labels_np)
    #header = ('id','id2','tsne_x','tsne_y','lables')
    #results_w_header = header + results
    #print results_w_header
    util.writetoCSV(results, tablename + "_clustered")
def exportTsneWithFile(name):
    tsne_vals,ids = getTSNEwithIds(name)
    tsne_x,tsne_y = zip(*tsne_vals)
    tsne_x = np.array(tsne_x) * 50
    tsne_y = np.array(tsne_y) * 50
    urls = []
    filenames = []
    for id in ids:
        fullurl = imagesHandler.get_full_url(id)
        filename = fullurl.split(dirm.rootDirectory)[1]
        urls.append(imagesHandler.get_full_url(id))
        filenames.append(str(filename))
    results = zip(ids,tsne_x,tsne_y,filenames,urls)
    util.writetoCSV(results, name + "tsne with url")