jam/test/test-id3-2.js

35 lines
1.0 KiB
JavaScript

var data = load('test-data-iris.json')
var t0=time()
var target = "species";
var features = ["length", "width","petal_length","petal_width"];
var datac = ml.preprocess(data,'xy',{features:features,target:target});
var model = ml.learn({
algorithm:ml.ML.ID3,
data:data,
target:target,
features:features
})
var t1=time()
var result = ml.classify(model,datac.x).map(function (r,i) {
return {value:r,y:datac.y[i]}} )
var t2=time()
var correct=0,wrong=0;
result.forEach(function (r) { if (r.value==r.y) correct++; else wrong++ });
print('Training Data Test: Correct='+correct+', wrong='+wrong);
print(toJSON(model).length)
print(t1-t0,t2-t1)
datac.x = ml.noise(datac.x,
{length:0.2,
width:0.1,
petal_length:0.05,
petal_width:0.01
});
// print(datac.x)
var result = ml.classify(model,datac.x).map(function (r,i) {
return {value:r,y:datac.y[i]}} )
correct=0,wrong=0;
result.forEach(function (r) { if (r.value==r.y) correct++; else wrong++ });
print('Test Data Test (Noise): Correct='+correct+', wrong='+wrong);