Строка кластера на основе DBSCAN - PullRequest
0 голосов
/ 08 ноября 2019

Резюме: В поисках DBSCAN-реализации кода Python для кластеризации многостолбцового CSV-файла на основе столбца «содержимое»

Input:

    input csv file rows sample

    Rank, Domain, Contents      

    1, abc.com, hello random text out
    2, xyz.com, hello random somethingelse
    3, not.com, a b c d
    4, plus.com, a b asdsadsa asdsadasdsadsa
    5, minus.com, man win 

   Where,

   Column 1 => Rank = digit
   Column 2 => Domain = domain name ex. abc.com
   Column 3 => Contents = list of words (string, this is 
extracted clean up words from html page)

Output :
    The output of the cluster be based on similar list of contents

    Cluster 1: abc.com, xyz.com
    Cluster 2: not.com, plus.com
    Cluster 3: minus.com
    ....

    Please note: In output, I am not looking for words that are in same cluster. Instead, I am looking for a 'domain name', column which is clustered based on similar contents of column 3, 'contents' 

Я исследовал следующие ресурсы, но ониоснованы на kmeans и не относятся к выводу кластера DBSCAN, который я ищу. Обратите внимание, что предоставление номера кластера не будет применимо в этом случае, так как мы не хотим ограничивать номер кластера на основе входных данных.

1) Как кластеризовать текстовые данные с несколькими столбцами?

2) Кластеризация текстовых документов с использованием kmeans scikit-learn в Python

3) http://brandonrose.org/clustering

4) https://datasciencelab.wordpress.com/2013/12/12/clustering-with-k-means-in-python/

5) https://towardsdatascience.com/applying-machine-learning-to-classify-an-unsupervised-text-document-e7bb6265f52

Итак,

input <= csv file with 'Rank', 'Domain', 'Contents'
output <= cluster with domain name [NOT contents]

A python implementation in DBSCAN clustering would be an ideal.

Спасибо!

1 Ответ

0 голосов
/ 13 ноября 2019

Сначала вам нужно выбрать столбец «Содержимое» вашего набора данных. Для этого шага вы можете использовать модуль Python csv.

Затем вам нужно преобразовать тексты в векторы, по которым можно обучить DBSCAN. Вторая ссылка, которую вы дали, содержит все необходимое для этого шага.

Затем вы должны обучить DBSCAN векторам. Например, вы можете использовать реализацию DBSCAN в scikit-learn .

Когда у вас есть метки, связанные с векторами (то есть строками файла CSV), вы можете сгруппировать числострок по кластерам и получить домены.

...