Можно ли указать функцию расстояния levenshtein с помощью scikit-learn K-Means Clustering? [Дубликат]

Не убивает adb-connection-by-wifi . Просто перечисления USB влияют на свойства системы sys.usb.*, которые на многих устройствах вызывают перезагрузку adbd независимо от того, используется ли она над USB или tcpip.

Сделайте grep "stop adbd" /init*rc до см., что я имею в виду.

Вы можете либо прокомментировать эти строки stop adbd, либо просто отсоединить USB-кабель до , выполнив команду adb connect.

6
задан Nickil Maveli 2 August 2016 в 14:50
поделиться

2 ответа

Попробуйте ELKI вместо sklearn.

Это единственный инструмент, который я знаю, который позволяет индексировать DBSCAN с помощью любой метрики.

Он включает расстояние Левенштейна , Вам нужно добавить индекс в свою базу данных с помощью -db.index. Я всегда использую индекс обложки (вам нужно выбрать одинаковое расстояние для индекса и алгоритма, конечно!) [/ ​​G3]

Вы могли использовать расстояния «pyfunc» и шаровые деревья в sklearn, но производительность была очень плохо из-за переводчика. Кроме того, DBSCAN в sklearn намного интенсивнее.

3
ответ дан Anony-Mousse 20 August 2018 в 12:24
поделиться
  • 1
    Я попробовал ELKI, но я застрял на его входном формате. Я не могу найти много информации на своем веб-сайте. Было бы здорово, если бы вы могли указать мне в правильном направлении или дать ссылку на полное окончание учебника о dbscan ELKI. Благодарю. – KaziJehangir 2 August 2016 в 22:13
  • 2
    Существует несколько парсеров. Используйте JavaDoc, здесь объясняются форматы ввода. – Anony-Mousse 3 August 2016 в 08:11

Из scikit-learn faq вы можете сделать это с помощью , создавая собственную метрику :

from leven import levenshtein       
import numpy as np
from sklearn.cluster import dbscan
data = ["ACCTCCTAGAAG", "ACCTACTAGAAGTT", "GAATATTAGGCCGA"]
def lev_metric(x, y):
    i, j = int(x[0]), int(y[0])     # extract indices
    return levenshtein(data[i], data[j])

X = np.arange(len(data)).reshape(-1, 1)
dbscan(X, metric=lev_metric, eps=5, min_samples=2)
5
ответ дан Luke 20 August 2018 в 12:24
поделиться
  • 1
    Что возвращает метод dbscan? Более конкретно, я запустил этот фрагмент в оболочке Python и получил кортеж массивов (array ([0, 1]), array ([0, 0, -1])), и мне интересно, что это представляет. – Sticky 29 March 2017 в 02:01
Другие вопросы по тегам:

Похожие вопросы: