Twan07 commited on
Commit
582228b
·
verified ·
1 Parent(s): 8907c83

Update src/security/anomalyEngine.js

Browse files
Files changed (1) hide show
  1. src/security/anomalyEngine.js +18 -8
src/security/anomalyEngine.js CHANGED
@@ -1,13 +1,23 @@
1
- import IsolationForest from "ml-isolation-forest";
 
 
 
2
 
3
- let model = null;
 
 
4
 
5
- export function trainModel(data) {
6
- model = new IsolationForest({ contamination: 0.02 });
7
- model.fit(data);
 
 
 
 
 
8
  }
9
 
10
- export function isAnomaly(vec) {
11
- if (!model) return false;
12
- return model.predict([vec])[0] === -1;
13
  }
 
1
+ let stats = {
2
+ mean: 0,
3
+ std: 1,
4
+ };
5
 
6
+ export function trainModel(values) {
7
+ const n = values.length;
8
+ if (n === 0) return;
9
 
10
+ const mean = values.reduce((a, b) => a + b, 0) / n;
11
+ const variance =
12
+ values.reduce((a, b) => a + (b - mean) ** 2, 0) / n;
13
+
14
+ stats.mean = mean;
15
+ stats.std = Math.sqrt(variance) || 1;
16
+
17
+ console.log("📊 Anomaly model trained", stats);
18
  }
19
 
20
+ export function isAnomaly(value) {
21
+ const z = Math.abs((value - stats.mean) / stats.std);
22
+ return z > 3; // Z-score threshold
23
  }