« Code DBSCAN » : différence entre les versions
Aller à la navigation
Aller à la recherche
(→Code) |
Aucun résumé des modifications |
||
(3 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
Vous trouverez sur cette page le code pour la détection d'anomalies |
Vous trouverez sur cette page le code pour la détection d'anomalies avec l'algorithme DBSCAN. |
||
=Code= |
=Code= |
||
Ligne 9 : | Ligne 9 : | ||
def detectionAnomaly(donnee, taille_File): |
def detectionAnomaly(donnee, taille_File): |
||
liste_de_donnee = donnee |
liste_de_donnee = donnee |
||
X = convert_list_database(liste_de_donnee) # <- base de donnees en panda |
X = convert_list_database(liste_de_donnee) # <- base de donnees en panda |
||
## Partie de la détection d'anomalies |
## Partie de la détection d'anomalies |
||
db = DBSCAN(eps=0.5, min_samples=5).fit(X) |
db = DBSCAN(eps=0.5, min_samples=5).fit(X) |
||
labels = db.labels_ # <- une liste de score |
labels = db.labels_ # <- une liste de score |
||
if labels[len(labels)-1] == -1: # <- on regarde le dernier score et si -1 alors anomalie (bruit) |
if labels[len(labels)-1] == -1: # <- on regarde le dernier score et si -1 alors anomalie (bruit) |
||
print("--> Erreur détecter") |
print("--> Erreur détecter") |
||
## On renvoie la valeur de l'état du dernier point pour savoir s'il est une anomalie ou non et permettre de le traiter dans des fonctions futures. |
|||
return labels[len(labels)-1] |
return labels[len(labels)-1] |
||
</nowiki> |
</nowiki> |
||
=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> |
Dernière version du 26 mai 2023 à 11:51
Vous trouverez sur cette page le code pour la détection d'anomalies avec l'algorithme DBSCAN.
Code
## 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") ## On renvoie la valeur de l'état du dernier point pour savoir s'il est une anomalie ou non et permettre de le traiter dans des fonctions futures. 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