The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
NAME
    Algorithm::ContextVector - Simple implementation based on
    Data::CosineSimilarity

SYNOPSIS
     my $cv = Algorithm::ContextVector->new( top => 300 );

     $cs->add_instance( label => 'label1', attributes => { feature1 => 3, feature2 => 1, feature3 => 10 } );
     $cs->add_instance( label => [ 'label2', 'label3' ], attributes => { ... } );
     $cs->add_instance( label => ..., attributes => ... );
     ...

     $cv->train;

     my $results = $cv->predict( attributes => { ... } );

DESCRIPTION
    Simple implementation based on Data::CosineSimilarity

  $class->new( top => ... )
    During the training, keeps the $top most heavy weighted features. Keeps
    the complete feature set if omitted.

  $class->new_from_file( $filename )
    Returns the instance of Algorithm::ContextVector stored in $filename.

  $self->save_to_file( $filename )
    Save the $self to $filename using Storable.

  $self->add_instance( label => [ ... ], attributes => { ... } )
  $self->train
    Keeps the best features (top N) and norms the vectors.

  $self->predict( attributes => { ... } )
    Returns a hashref with the labels as the keys and the cosines as the
    values.

AUTHOR
    Antoine Imbert, "<antoine.imbert at gmail.com>"

LICENSE AND COPYRIGHT
    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.