Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

how to do feature selection

7 views
Skip to first unread message

Jianmin WU

unread,
May 19, 2007, 8:42:58 AM5/19/07
to per...@perl.org
hi, buddies,

I am not sure if i am in the right place. :-)

I am a fresh man to the perl and perl AI module.

I am trying to do the NaiveBayes experiments with the help of code demo.pl in
example of the module of AI::Categorizer.
Now I am confused about how to do the feature selection.

The documents say that KnowledgeSet::load( ) will do feature selection and
read the corpus at the same time. So, I change the construction of
KnowledgeSet in
demo.pl from
my $k = AI::Categorizer::KnowledgeSet->new( verbose => 1 );
$k->load( collection => $training )
to
my $k = AI::Categorizer::KnowledgeSet->new( verbose => 1 , features_kept =
5000 );
$k->load( collection => $training )

Then I re-run the code with expection to keep the top 5000 features with
high Document Frequency.
But it seems that there is no difference as before. do i misunderstand any
point ?

And also, is there any smoothing method implemented in
AI::Categorizer::Learner::NaiveBayes ?

Thanks for your attention

Jianmin

Alan Gibson

unread,
May 23, 2007, 10:24:18 PM5/23/07
to per...@perl.org
im not sure if this pertains to your problem exactly, but you probably
want to specify the weighting method like

my $k = AI::Categorizer::KnowledgeSet->new( verbose => 1 ,

features_kept = 5000,
tfidf_weighting=>'nfc'
);

the default weighting is 'xxx' which if i understand correctly doesnt
actually do anything.

alan

0 new messages