Algorithm-Prefixspan
view release on metacpan or search on metacpan
lib/Algorithm/Prefixspan.pm view on Meta::CPAN
sub projection {
my $self = shift;
my $seq = shift;
my $b = shift;
my $h;
foreach my $i (@{$seq}) {
my @list = split /\s+/, $i;
for (my $j = 0; $j < @list; $j++) {
if ($list[$j] eq $b) {
splice @list, 0, ($j +1);
if (@list > 0) {
push @{$h}, join " ", @list;
}
}
}
}
return $h;
}
1;
__END__
=encoding utf-8
=head1 NAME
Algorithm::Prefixspan - Perl implementation for the algorithm PrefixSpan (Prefix-projected Sequential Pattern mining).
=head1 SYNOPSIS
use Algorithm::Prefixspan;
my $data = [
"a c d",
"a b c",
"c b a",
"a a b",
];
my $prefixspan = Algorithm::Prefixspan->new(
data => $data,
);
my $pattern = $prefixspan->run;
# $pattern got as follow.
# {
# 'c' => 3,
# 'a c' => 2,
# 'a' => 5,
# 'b' => 3,
# 'a b' => 2
# };
options:
# set minimum support (default: 2)
$prefixspan->{'minsup'} = 2
# set minimum pattern length (default: 1)
$prefixspan->{'len'} = 1
=head1 DESCRIPTION
Algorithm::Prefixspan is pure perl implementation
for the algorithm PrefixSpan (Prefix-projected Sequential Pattern mining)
by designed Pei et al.
This module is not fast.
Reference
* PrefixSpan: Mining Sequential Patterns Efficiently by Prefix-Projected Pattern Growth Jian Pei, Jiawei Han, Behzad Mortazavi-asl, Helen Pinto, Qiming Chen, Umeshwar Dayal and Mei-chun Hsu IEEE Computer Society, 2001, pages 215.
=head1 LICENSE
Copyright (C) Yukio HORI.
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
=head1 AUTHOR
Yukio HORI E<lt>horiyuki@cpan.orgE<gt>
=cut
( run in 0.688 second using v1.01-cache-2.11-cpan-e93a5daba3e )