var x = [[0, 0, 0], [0, 1, 1], [1, 1, 0], [2, 2, 2], [1, 2, 2], [2, 1, 2]];
var y = ['A', 'A', 'B', 'B', 'C', 'C'];
var model = ml.learn({
    algorithm:ml.ML.SVM,
    x:x, 
    y:y,
    threshold:false,  // no threshold function on output; highest value of svms is winner
    labels:['A','B','C'],  // multi-SVM
    C : 15.0, // default : 1.0. C in SVM.
    tol : 1e-5, // 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: 'rbf', sigma: 0.5 } // { type: "polynomial", c: 1, d: 5}
});
print(toJSON(model).length+' Bytes')
print(model)
print(model.svms[0])

var test_data =[[0, 1.2, 0],
                [2.1, 2, 3],
                [2.1,1.1,2.0]
];

print(ml.classify(model,x))
print(ml.classify(model,x.map(function (row) { return row.map(function (col) { return col+random(-0.3,0.3,0.001) })})))
print(ml.classify(model,test_data))
print(ml.stats.utils.best(ml.classify(model,[1,2,3])))
