Algorithm-SlopeOne
view release on metacpan or search on metacpan
t/01-simple.t view on Meta::CPAN
#!perl
use strict;
use utf8;
use warnings qw(all);
use Test::More;
use Algorithm::SlopeOne;
my $s = Algorithm::SlopeOne->new;
isa_ok($s, q(Algorithm::SlopeOne));
can_ok($s, qw(add predict));
$s->add([
{
squid => 1.0,
cuttlefish => 0.5,
octopus => 0.2,
}, {
squid => 1.0,
octopus => 0.5,
nautilus => 0.2,
}, {
squid => 0.2,
octopus => 1.0,
cuttlefish => 0.4,
nautilus => 0.4,
}, {
cuttlefish => 0.9,
octopus => 0.4,
nautilus => 0.5,
},
]);
is_deeply(
$s->predict({ squid => 0.4 }),
{ cuttlefish => 0.25, nautilus => 0.1, octopus => 7 / 30 },
q(range 0-1),
);
$s->clear;
$s->add({
24 => 9.5,
Lost => 8.2,
House => 6.8,
});
$s->add({
24 => 3.7,
"Big Bang Theory" => 2.1,
House => 8.3,
});
$s->add([
{
24 => 9.5,
Lost => 3.4,
House => 5.5,
"Big Bang Theory" => 9.3,
}, {
24 => 7.2,
Lost => 5.1,
House => 8.4,
"The Event" => 7.8,
},
( run in 0.393 second using v1.01-cache-2.11-cpan-677af5a14d3 )