AI-DecisionTree
view release on metacpan or search on metacpan
t/02-noisy.t view on Meta::CPAN
# Test on rest of data, get at least 80%
print "Testing on remainder of data\n";
my ($good, $bad) = (0,0);
while (<DATA>) {
chomp;
my @values = split /, /, $_;
my $result = pop @values;
my %pairs = map {$names[$_], $values[$_]} 0..$#names;
my ($guess, $confidence) = $dtree->get_result(attributes => \%pairs);
$guess ||= ''; $confidence ||= '';
($guess eq $result ? $good : $bad)++;
#print "$guess : $result : $confidence\n";
}
my $accuracy = $good/($good + $bad);
ok $accuracy > .8;
print "Accuracy=$accuracy\n";
#use YAML; print Dump($dtree->rule_tree);
#print map "$_\n", $dtree->rule_statements;
if (eval "use GraphViz; 1") {
my $graphviz = $dtree->as_graphviz;
( run in 0.343 second using v1.01-cache-2.11-cpan-702932259ff )