AI-Categorizer
view release on metacpan or search on metacpan
lib/AI/Categorizer/FeatureVector.pm view on Meta::CPAN
package AI::Categorizer::FeatureVector;
sub new {
my ($package, %args) = @_;
$args{features} ||= {};
return bless {features => $args{features}}, $package;
}
sub names {
my $self = shift;
return keys %{$self->{features}};
}
sub set {
my $self = shift;
$self->{features} = (ref $_[0] ? $_[0] : {@_});
lib/AI/Categorizer/Learner/KNN.pm view on Meta::CPAN
$_ /= $self->{k_value} foreach values %scores;
return (\%scores, $self->{threshold});
}
###################################################################
package AI::Categorizer::Learner::KNN::Queue;
sub new {
my ($pkg, %args) = @_;
return bless {
size => $args{size},
entries => [],
}, $pkg;
}
sub add {
my ($self, $thing, $score) = @_;
# scores may be (0.2, 0.4, 0.4, 0.8) - ascending
lib/AI/Categorizer/ObjectSet.pm view on Meta::CPAN
package AI::Categorizer::ObjectSet;
use strict;
sub new {
my $pkg = shift;
my $self = bless {}, $pkg;
$self->insert(@_) if @_;
return $self;
}
sub members {
return values %{$_[0]};
}
sub size {
return scalar keys %{$_[0]};
( run in 1.423 second using v1.01-cache-2.11-cpan-4505f990765 )