Cours:BUTiot TNS : Différence entre versions
(→Classification temps réel) |
|||
Ligne 12 : | Ligne 12 : | ||
* Source des données : https://www.kaggle.com/datasets/rishitdagli/anomaly-detection-sample-dataset | * Source des données : https://www.kaggle.com/datasets/rishitdagli/anomaly-detection-sample-dataset | ||
+ | |||
+ | A faire : | ||
+ | # Créer une nouvelle "application" node.js | ||
+ | # Télécharger le zip des données, décompresser, placer les deux fichiers <code>tr_server_data.csv</code> et <code>gt_server_data.csv</code> dans le dossier de l'application. | ||
+ | # Lire ces données au format CSV | ||
+ | <source lang="c++"> | ||
+ | const fs = require("node:fs"); | ||
+ | |||
+ | // training | ||
+ | let tr = fs.readFileSync("tr_server_data.csv", "utf-8") | ||
+ | .split('\n') // découpe des lignes | ||
+ | .map(l => l.split(',').map (v => parseFloat(v))); // découpe autour de la virgule et conv. en flottant | ||
+ | tr.pop(); // Les deux dernières lignes sont à rejeter. | ||
+ | tr.pop(); | ||
+ | </source< | ||
=== Classification temps réel === | === Classification temps réel === | ||
Ligne 18 : | Ligne 33 : | ||
** <code>data/latence</code> en ms | ** <code>data/latence</code> en ms | ||
** <code>data/debit</code> en mb/s | ** <code>data/debit</code> en mb/s | ||
− | ** <code>gt</code> = ''ground truth'' (vérité terrain) : est-ce une anomalie ? | + | ** <code>data/gt</code> = ''ground truth'' (vérité terrain) : est-ce une anomalie ? |
+ | |||
+ | A faire (en node.js) : | ||
+ | # lire ces données avec mqtt | ||
+ | # |
Version du 5 février 2024 à 14:22
Classification multivariée temps réel
Le travail de cette étape va consister à
- lire des données temps réel caractérisant l'état d'un réseau (latence et débit)
- A partir d'un ensemble de données d'entrainement, mettre en place un classifieur permettant de détecter des anomalies sur ce réseau
Lecture des données d'entrainement et apprentissage
- Source des données : https://www.kaggle.com/datasets/rishitdagli/anomaly-detection-sample-dataset
A faire :
- Créer une nouvelle "application" node.js
- Télécharger le zip des données, décompresser, placer les deux fichiers
tr_server_data.csv
etgt_server_data.csv
dans le dossier de l'application. - Lire ces données au format CSV
<source lang="c++"> const fs = require("node:fs");
// training let tr = fs.readFileSync("tr_server_data.csv", "utf-8")
.split('\n') // découpe des lignes .map(l => l.split(',').map (v => parseFloat(v))); // découpe autour de la virgule et conv. en flottant
tr.pop(); // Les deux dernières lignes sont à rejeter. tr.pop(); </source<
Classification temps réel
- Données publiées sur le broker habituel :
-
data/latence
en ms -
data/debit
en mb/s -
data/gt
= ground truth (vérité terrain) : est-ce une anomalie ?
-
A faire (en node.js) :
- lire ces données avec mqtt