« Code DBSCAN » : différence entre les versions

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Ligne 24 : Ligne 24 :


=Explication des principales lignes=
=Explication des principales lignes=

Permet de trouver des anomalies dans une base de données X,
avec comme epsilon 0.5,
et avec un minimum de points dans un cluster de 5.

<nowiki>
DBSCAN(eps=0.5, min_samples=5).fit(X)
</nowiki>

Permet de récupérer la colonne labels qui correspond à des valeurs allant de -1 à 1 (-1 étant une anomalie). Ces valeurs sont issues de la ligne ci-dessus.
<nowiki>
db.labels
</nowiki>

Version du 26 mai 2023 à 11:49

Vous trouverez sur cette page le code pour la détection d'anomalies sur une File.

Code

Lien PDF

## Fonction de la détection d'anomalie DBSCAN
def detectionAnomaly(donnee, taille_File):

   liste_de_donnee = donnee
   X = convert_list_database(liste_de_donnee) # <- base de donnees en panda

   ## Partie de la détection d'anomalies
   db = DBSCAN(eps=0.5, min_samples=5).fit(X)
   labels = db.labels_ # <- une liste de score


   if labels[len(labels)-1] == -1: # <- on regarde le dernier score et si -1 alors anomalie (bruit)
      print("--> Erreur détecter")

   return labels[len(labels)-1]

Explication des principales lignes

Permet de trouver des anomalies dans une base de données X, avec comme epsilon 0.5, et avec un minimum de points dans un cluster de 5.

   DBSCAN(eps=0.5, min_samples=5).fit(X)

Permet de récupérer la colonne labels qui correspond à des valeurs allant de -1 à 1 (-1 étant une anomalie). Ces valeurs sont issues de la ligne ci-dessus.

   db.labels