-
Notifications
You must be signed in to change notification settings - Fork 0
/
genrerate_data.js
53 lines (44 loc) · 2.05 KB
/
genrerate_data.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
const fs = require('fs');
const path = require('path');
function generateSyntheticData(numSamples) {
const syntheticData = [];
for (let i = 0; i < numSamples; i++) {
// Données normales
const normalData = {
temperature: Math.random() * 30 + 60, // Température entre 60 et 90
oxygen: Math.random() * 10 + 15, // Oxygène entre 15 et 25
suction: Math.random() * 20 + 40, // Succion entre 40 et 60
label: 0 // Normal
};
// Données de défaillance pour surchauffe
const overheatData = {
temperature: Math.random() * 20 + 80, // Température entre 80 et 100
oxygen: Math.random() * 10 + 15, // Oxygène entre 15 et 25
suction: Math.random() * 20 + 40, // Succion entre 40 et 60
label: 1 // Surchauffe
};
// Données de défaillance pour absence d'oxygène
const noOxygenData = {
temperature: Math.random() * 30 + 60, // Température entre 60 et 90
oxygen: Math.random() * 5, // Oxygène entre 0 et 5
suction: Math.random() * 20 + 40, // Succion entre 40 et 60
label: 2 // Absence d'oxygène
};
// Données de défaillance pour succion insuffisante
const lowSuctionData = {
temperature: Math.random() * 30 + 60, // Température entre 60 et 90
oxygen: Math.random() * 10 + 15, // Oxygène entre 15 et 25
suction: Math.random() * 20 + 20, // Succion entre 20 et 40
label: 3 // Succion insuffisante
};
// Ajouter les données normales et de défaillance
syntheticData.push(normalData);
syntheticData.push(overheatData);
syntheticData.push(noOxygenData);
syntheticData.push(lowSuctionData);
}
return syntheticData;
}
const data = generateSyntheticData(1000); // Génère 1000 échantillons de données
// Sauvegarder les données générées dans un fichier
fs.writeFileSync(path.join(__dirname, 'synthetic_data.json'), JSON.stringify(data, null, 2));