Cours:BUTiot TNS : Différence entre versions
(→Lecture des données d'entrainement et apprentissage) |
|||
Ligne 26 : | Ligne 26 : | ||
tr.pop(); // Les deux dernières lignes sont à rejeter. | tr.pop(); // Les deux dernières lignes sont à rejeter. | ||
tr.pop(); | tr.pop(); | ||
− | </source | + | </source> |
=== Classification temps réel === | === Classification temps réel === |
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
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();
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