Nathan Gary Glenn
and 3 contributors

NAME

Algorithm::AM::DataSet::Item - A single item for classification training and testing

VERSION

version 3.11

SYNOPSIS

  use Algorithm::AM::DataSet::Item 'new_item';

  my $item = new_item(
    features => ['a', 'b', 'c'],
    class => 'x',
    comment => 'a sample, meaningless item'
  );

DESCRIPTION

This class represents a single item contained in a data set. Each item has a feature vector and possibly a class label and comment string. Once created, the item is immutable.

METHODS

new

Creates a new Item object. The only required argument is 'features', which should be an array ref containing the feature vector. Each element of this array should be a string indicating the value of the feature at the given index. 'class' and 'comment' arguments are also accepted, where 'class' is the classification label and 'comment' can be any string to be associated with the item. A missing or undefined 'class' value is assumed to mean that the item classification is unknown. For the feature vector, empty strings are taken to indicate null values.

new_item

This is an exportable shortcut for the new method. If exported, then instead of calling <Algorithm::AM::DataSet::Item-new>>, you may simply call new_item.

class

Returns the classification label for this item, or undef if the class is unknown.

features

Returns the feature vector for this item. This is an arrayref containing the string value for each feature. An empty string indicates that the feature value is null (meaning that it has no value).

comment

Returns the comment for this item. By default, the comment is just a comma-separated list of the feature values.

cardinality

Returns the length of the feature vector for this item.

id

Returns a unique string id for this item, for use as a hash key or similar situations.

AUTHOR

Theron Stanford <shixilun@yahoo.com>, Nathan Glenn <garfieldnate@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Royal Skousen.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.