File: 02-discrete.t

package info (click to toggle)
libalgorithm-naivebayes-perl 0.04-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 108 kB
  • sloc: perl: 253; makefile: 2
file content (27 lines) | stat: -rw-r--r-- 1,131 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

use strict;
use Test;
BEGIN { plan tests => 4 };
use Algorithm::NaiveBayes;
ok(1); # If we made it this far, we're loaded.

my $nb = Algorithm::NaiveBayes->new(model_type => 'Discrete');
ok $nb;

# This example data comes from the tests in Vlado Keselj's AI::NaiveBayes1 module
$nb->add_instance(attributes=>{model=>'H',place=>'B'},label=>'repairs=Y') for (1..30);
$nb->add_instance(attributes=>{model=>'H',place=>'B'},label=>'repairs=N') for (1..10);
$nb->add_instance(attributes=>{model=>'H',place=>'N'},label=>'repairs=Y') for (1..18);
$nb->add_instance(attributes=>{model=>'H',place=>'N'},label=>'repairs=N') for (1..16);
$nb->add_instance(attributes=>{model=>'T',place=>'B'},label=>'repairs=Y') for (1..22);
$nb->add_instance(attributes=>{model=>'T',place=>'B'},label=>'repairs=N') for (1..14);
$nb->add_instance(attributes=>{model=>'T',place=>'N'},label=>'repairs=Y') for (1.. 6);
$nb->add_instance(attributes=>{model=>'T',place=>'N'},label=>'repairs=N') for (1..84);

ok $nb->labels, 2;

$nb->train;

my $result = $nb->predict(attributes => {model=>'T', place => 'B'});
ok $result->{'repairs=Y'} > $result->{'repairs=N'};