Tue 27 Aug 00:14:56 CEST 2024

This commit is contained in:
sbosse 2024-08-27 00:15:31 +02:00
parent 08f4c2b2e6
commit da412a3a40

46
test/test-svm1.js Normal file
View File

@ -0,0 +1,46 @@
var x = [[0.4, 0.5, 0.5, 0., 0., 0.],
[0.5, 0.3, 0.5, 0., 0., 0.01],
[0.4, 0.8, 0.5, 0., 0.1, 0.2],
[1.4, 0.5, 0.5, 0., 0., 0.],
[1.5, 0.3, 0.5, 0., 0., 0.],
[0., 0.9, 1.5, 0., 0., 0.],
[0., 0.7, 1.5, 0., 0., 0.],
[0.5, 0.1, 0.9, 0., -1.8, 0.],
[0.8, 0.8, 0.5, 0., 0., 0.],
[0., 0.9, 0.5, 0.3, 0.5, 0.2],
[0., 0., 0.5, 0.4, 0.5, 0.],
[0., 0., 0.5, 0.5, 0.5, 0.],
[0.3, 0.6, 0.7, 1.7, 1.3, -0.7],
[0., 0., 0.5, 0.3, 0.5, 0.2],
[0., 0., 0.5, 0.4, 0.5, 0.1],
[0., 0., 0.5, 0.5, 0.5, 0.01],
[0.2, 0.01, 0.5, 0., 0., 0.9],
[0., 0., 0.5, 0.3, 0.5, -2.3],
[0., 0., 0.5, 0.4, 0.5, 4],
[0., 0., 0.5, 0.5, 0.5, -2]];
// Only binary classification here: Feature Y=-1->false, 1->true
var y = [-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,1,1,1,1,1,1,1,1,1,1];
var model = ml.learn({
algorithm : ml.ML.SVM,
x : x,
y : y,
C : 1, // default : 1.0. C in SVM.
tol : 1e-4, // default : 1e-4. Higher tolerance --> Higher precision
max_passes : 200, // default : 20. Higher max_passes --> Higher precision
alpha_tol : 1e-5, // default : 1e-5. Higher alpha_tolerance --> Higher precision
//kernel : { type: "polynomial", c: 1, d: 5}
kernel : { type: "rbf", sigma:0.5 }
});
print(toJSON(model).length+' Bytes')
// print(model)
a = [
[1.3, 1.7, 0.5, 0.5, 1.5, 0.4],
[0.05, 0.1, 0.5, 0.7, 0.4, -1.4]
]
print(ml.classify(model,x));
print(ml.classify(model,a));