Я пытаюсь сгруппировать набор данных с более чем 1 миллионом точек данных. Один столбец имеет текст, а другой столбец имеет соответствующее ему числовое значение. Проблема, с которой я сталкиваюсь, заключается в том, что она застревает и никогда не завершается. Я пытался работать с меньшими наборами данных, около 100 000, и он работает довольно быстро, но когда я начинаю увеличивать количество точек данных, он начинает замедляться, и для миллиона он никогда не завершается и зависает. Сначала я подумал, что это может быть из-за того, что у меня есть матрица tfidf для текста и 100 измерений, поэтому это занимает много времени. Затем я попытался выполнить кластеризацию на основе суммы, которая представляет собой всего лишь одно значение для каждой точки данных, и она все еще не завершена. Ниже приведен фрагмент кода. Любая идея, что я могу делать неправильно? Я видел людей, работающих с большими наборами данных, и у них не было проблем.
Y=data['amount'].values
Y=Y.reshape(-1,1)
dbscan = DBSCAN(eps=0.3, min_samples= 10, algorithm='kd_tree')
dbscan.fit_predict(Y)
labels = dbscan.labels_
print(labels.size)
clusters = labels.tolist()
#printing the value and its label
for a, b in zip(labels, Y):
print(a, b)
eps
иmin_samples
?DBScan
очень чувствителен к этим параметрам. Даже небольшое изменение вeps
может изменить поведение вашей модели. - person Kalsi   schedule 29.09.2018