From: Jason Frankovitz Date: 2007-02-07T02:43:52+09:00 Subject: Re: Classifier::Bayes - handling "none of the above" cases Giles Bowkett wrote: >> above" class, then you'd need to provide examples from that none of the >> above class. It's not so easy to decide what's representative of "none of >> the above", and even if you could do so, it would probably violate the >> assumptions of the classifier and lead to reduced performance. Thus, we >> have to come up with more creative problem-specific solutions to handle >> something resembling a "none-of-the-above" case, usually solutions that >> change the definition of the problem quite dramatically. > > Really a "none of the above" filter is of limited usefulness. > Categories in Bayesian classifiers are all about compartmentalization. > The goal isn't really categorization, it's training the filter. You > really want the filter to separate on an unambiguous difference, like > "spam" vs. "not spam," because this will teach the filter to > differentiate unambiguously. That's what Bayesian filters are good at > doing. > > Giving a Bayesian classifier a "none of the above" category will just > confuse it. It doesn't work by checking category A, then category B, > then finally category C. It works by aggregating data and extracting > probabilistic similarity. The features shared by the "none of the > above" will be too varied and numerous for any similarity to be > extracted. Instead of all the stuff that doesn't fit anywhere else > going into "none of the above," **everything** will run a risk of > going into "none of the above," because "none of the above" will be > too vaguely specified to be dissimilar from anything else. > > Really you would either want to use the classifier differently, or use > a different technique altogether. First of all Giles and Ken, thanks for your answers. It sounds like a Bayesian approach won't work for what I want to do. This same gem has another classifer inside it, called Classifier::LSI which does latent semantic indexing. I don't know much about it yet other than it's not as fast or as small as a Bayesian classifier. However, would it be more suited to supporting a "none of the above" feature? Or would you recommend something entirely different? Many thanks, -Jason -- Posted via http://www.ruby-forum.com/.