如何将Twitter数据(csv / txt)输入DBSCAN python?

时间:2018-04-21 07:58:37

标签: python numpy dbscan

有人可以指导我如何在python中使用DBSCAN对Twitter数据进行聚类?我是DBSCAN的新手。另外,如何确定eps值和iloc或loc值。

import numpy as np
import pandas as pd
from sklearn.cluster import DBSCAN
from sklearn.preprocessing import StandardScaler


def clusterEvaluate(cluster):
count_cluster = np.bincount(cluster)
count_cluster = np.argmax(count_cluster) 

same_clusters = np.count_nonzero(cluster == count_cluster)/np.size(cluster)
return same_clusters



dataset = np.loadtxt('tweetdata.csv') # not sure if this works
X = StandardScaler().fit_transform(dataset)

y_valid = dataset.iloc[:6].values()

dbscan = DBSCAN(eps= 0.5,min_samples=5,metric='euclidean')

y = dbscan.fit_predict(X)

cluster_labels = np.unique(y)


same_clusters = []
i = 0

for index in cluster_labels:
   cluster = y_valid[y == index]
   same_clusters.insert((i, clusterEvaluate(cluster)))

1 个答案:

答案 0 :(得分:1)

您需要为此选择和适当的数据表示距离函数。此外,可伸缩性会杀死你。

我认为它不会很好用。除了用不必要的复杂方式计算频繁的单词之外,我还能看到任何可以提供深刻见解的结果。 Twitter数据是一个婊子。消息太短了。像LDA这样的所有好方法都需要更长的文档。