Algorithm-Kmeanspp
view release on metacpan or search on metacpan
lib/Algorithm/Kmeanspp.pm view on Meta::CPAN
use base qw(Class::Accessor::Fast);
use Carp qw(croak);
use List::Util qw(shuffle);
our $VERSION = '0.03';
__PACKAGE__->mk_accessors($_) for qw(vectors centroids clusters);
sub new {
my $class = shift;
my $self = $class->SUPER::new( {@_} );
$self->vectors({}) if !$self->vectors;
$self->centroids([]) if !$self->centroids;
$self->clusters([]) if !$self->clusters;
return $self;
}
sub add_document {
my ($self, $id, $vector) = @_;
return if !defined $id || !$vector;
$self->vectors->{$id} = $vector;
( run in 0.538 second using v1.01-cache-2.11-cpan-49f99fa48dc )