[PYTHON] DBSCAN avec scikit-learn

DBSCAN implémenté dans scikit-learn )

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
import numpy as np
from sklearn import cluster

"""Spécifiez les paramètres"""
dbscan = cluster.DBSCAN(eps=float(sys.argv[1]), min_samples=int(sys.argv[2]))

"""Lire les données"""
data_list = []
for line in open(sys.argv[3]):
    x = map(float, line.rstrip().split(' '))
    data_list.append(x)
data = np.array(data_list)

"""Clustering"""
dbscan.fit(data)

"""Voir les résultats"""
labels = dbscan.labels_
for i in range(len(labels)):
    if labels[i] != -1:
        print labels[i], data[i]

Comment utiliser

Préparez le fichier suivant qui décrit les exemples de données dans la ligne et la valeur de l'attribut à écrire dans la colonne

0 1
8.5 6
2 0
1.5 0
1 1.5
10 5
9 6
8 5.5
9.5 5.6
100 100
-100 -50
1 0

Exécuter en passant eps, min_samples, data_file dans cet ordre comme arguments

>> python dbscan.py 1.5 3 data
0.0 [ 0.  1.]
1.0 [ 8.5  6. ]
0.0 [ 2.  0.]
0.0 [ 1.5  0. ]
0.0 [ 1.   1.5]
1.0 [ 10.   5.]
1.0 [ 9.  6.]
1.0 [ 8.   5.5]
1.0 [ 9.5  5.6]
0.0 [ 1.  0.]

dbscan.labels_ montre à quel cluster chaque échantillon a été affecté. Quand il vaut "-1", cela signifie que le bruit ne peut être attribué à aucun cluster.

Recommended Posts

DBSCAN avec scikit-learn
Clustering avec scikit-learn + DBSCAN
DBSCAN (clustering) avec scikit-learn
Isomap avec Scikit-learn
Clustering avec scikit-learn (1)
Clustering avec scikit-learn (2)
PCA avec Scikit-learn
kmeans ++ avec scikit-learn
SVM multi-classes avec scikit-learn
Installez scikit.learn avec pip
Calculer tf-idf avec scikit-learn
Réseau de neurones avec Python (scikit-learn)
Traitement parallèle avec Parallel de scikit-learn
[Python] Régression linéaire avec scicit-learn
Régression linéaire robuste avec scikit-learn
Recherche en grille d'hyper paramètres avec Scikit-learn
Créer un arbre déterminé avec scikit-learn
Segmentation d'image avec scikit-image et scikit-learn
Segmentation et regroupement de photos avec DBSCAN
Identifiez les valeurs aberrantes avec le classificateur de forêt aléatoire de scikit-learn
Factorisation matricielle non négative (NMF) avec scikit-learn
SVM essayant l'apprentissage automatique avec scikit-learn
Scikit-learn DecisionTreeClassifier avec des valeurs de type datetime
L'analyse de clustering la plus basique avec scikit-learn
Affinons les hyper paramètres du modèle avec scikit-learn!
Scikit-learn revisité
[Scikit-learn] J'ai joué avec la courbe ROC
Essayez SVM avec scikit-learn sur Jupyter Notebook
Classification multi-étiquettes par forêt aléatoire avec scikit-learn
Regrouper les écoles représentatives à l'été 2016 avec scikit-learn
Implémentez un estimateur auto-créé minimal avec scikit-learn
Remplissez les valeurs manquantes avec Scikit-learn impute
Visualisez l'arbre de décision scikit-learn avec Treemap de Plotly
J'ai essayé la reconnaissance manuscrite des caractères des runes avec scikit-learn
Prédisez le deuxième tour de l'été 2016 avec scikit-learn
Modèle de régression multivariée avec scikit-learn - J'ai essayé de comparer et de vérifier SVR