Как настроить этот алгоритм DBSCAN на PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Гость
 Как настроить этот алгоритм DBSCAN на Python

Сообщение Гость »


Я использую этот алгоритм кластеризации для кластеризации точек широты и долготы. Я использую заранее написанный код, который приведен по адресу http://scikit-learn.org/stable/auto_exa ... bscan.html.

Код выглядит следующим образом и использует мой файл с более чем 4000 точками широты и долготы. Однако я хочу настроить этот код так, чтобы он определял кластер только как точки в пределах, скажем, 0,000020 друг от друга, поскольку я хочу, чтобы мои кластеры находились почти на уровне улицы.

На данный момент я получаю 11 кластеров, тогда как теоретически мне нужно как минимум 100 кластеров. Я пробовал корректировать и изменять разные цифры, но безрезультатно.
print(__doc__) импортировать numpy как np из sklearn.cluster импортировать DBSCAN из показателей импорта sklearn из sklearn.datasets.samples_generator импортируйте make_blobs из sklearn.preprocessing импорт StandardScaler ######################################################################################### ########################### # Генерируем образец данных input = np.genfromtxt(open("dataset_import_noaddress.csv","rb"),delimiter=",",skip_header=1) координаты = np.delete(input, [0,1], 1) X, labels_true = make_blobs(n_samples=4000, center=coordinates, groups_std=0.0000005, случайное_состояние=0) X = StandardScaler().fit_transform(X) ######################################################################################### ########################### # Вычисление DBSCAN db = DBSCAN(eps=0,3, min_samples=10).fit(X) core_samples_mask = np.zeros_like(db.labels_, dtype=bool) core_samples_mask[db.core_sample_indices_] = Истина метки = db.labels_ # Количество кластеров в метках, игнорируя шум, если он присутствует. n_clusters_ = len(set(labels)) - (1, если -1 в метках, иначе 0) print('Оценочное количество кластеров: %d' % n_clusters_) print("Гомогенность: %0.3f" % metrics.homogeneity_score(labels_true, labels)) print("Полнота: %0.3f" % metrics.completeness_score(labels_true, labels)) print("V-мера: %0.3f" % metrics.v_measure_score(labels_true, labels)) print("Скорректированный индекс Ранда: %0.3f" % metrics.adjusted_rand_score(labels_true, labels)) print("Скорректированная взаимная информация: %0.3f" % metrics.adjusted_mutual_info_score(labels_true, labels)) print("Коэффициент силуэта: %0.3f" % metrics.silhouette_score(X, метки)) ######################################################################################### ########################### # Результат графика импортировать matplotlib.pyplot как plt # Черный цвет удален и вместо него используется для шума. unique_labels = set(метки) цвета = plt.cm.Spectral(np.linspace(0, 1, len(unique_labels))) для k, col в zip (уникальные_метки, цвета): если к == -1: # Черный используется для шума. столбец = 'к' class_member_mask = (метки == k) xy = X[маска_члена_класса и маска_core_samples_mask] plt.plot(xy[:, 0], xy[:, 1], 'o',markerfacecolor=col, маркереджколор = 'к', маркер размер = 14) xy = X[class_member_mask & ~core_samples_mask] plt.plot(xy[:, 0], xy[:, 1], 'o',markerfacecolor=col, маркереджколор = 'к', маркер размер = 6) plt.title('Оценочное количество кластеров: %d' % n_clusters_) plt.show()
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Вопрос о dbscan от sklearn и dbscan от Rapids
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • DBSCAN Python с периодическими граничными условиями
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Python DBSCAN кластеризация с периодическими граничными условиями
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как добавить еще один параметр в sklearn DBSCAN
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Аналогичный проект обнаружения объектов с участием DBSCAN не работает, как предполагалось
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»