Ah.

As a convenience method, it makes sense.  I do see value in resolving the
confusion you pointed out.  I am not sure how much value this brings.

As part of a bunch of small improvements, it might be more persuasive.

On Thu, Oct 25, 2012 at 11:54 PM, Timothy Mann <[email protected]>wrote:

> My point is just that a method named 'score' may convey the message of what
> 'classifyFull' does better than the name classify and it can easily be
> added to AbstractVectorClassifier without modifying any additional code
> beyond:
>
> public Vector score(Vector instance){
>      return classifyFull(instance);
> }
>
> I'm not necessarily pushing for this, I'm just generating discussion.
>
> -Timothy Mann
>
> On Tue, Oct 23, 2012 at 12:33 PM, Ted Dunning <[email protected]>
> wrote:
>
> > Classification *is* regression.  You can always ask the result for the
> > index of the largest score.
> >
> > On Tue, Oct 23, 2012 at 7:02 AM, Timothy Mann <[email protected]
> > >wrote:
> >
> > > It also seems strange that the classify method is being used for
> > > regression. To me classification is the act of selecting a category
> > > according to some rule. Here what classification does is calculate
> scores
> > > for an instance in each category. It may make sense to add a method,
> for
> > > example,
> > >
> > > public Vector scores(Vector); or maybe public Vector evaluate(Vector);,
> > > etc.
> > >
> > > Adding a method wouldn't break older code, but it also wouldn't resolve
> > > strange use of classifier.
> > >
> > > -Timothy Mann
> > >
> > > On Tue, Oct 23, 2012 at 5:32 AM, Grant Ingersoll <[email protected]
> > > >wrote:
> > >
> > > >
> > > > On Oct 22, 2012, at 12:20 AM, Ted Dunning wrote:
> > > >
> > > > > Yes.
> > > > >
> > > > > It seems stupid in retrospect.  Changing these things is very
> > painful,
> > > > > however, because we have no idea how many people will be affected.
> > > >
> > > > That being said, we are still pre 1.0.  Better to change now than to
> > bake
> > > > it in 1.0?
> > > >
> > > > >
> > > > > On Sun, Oct 21, 2012 at 9:16 PM, Timothy Mann <
> > [email protected]
> > > > >wrote:
> > > > >
> > > > >> It seems strange to me that the classify method declared in
> > > > >> AbstractVectorClassifier returns a vector with n-1 scores, where n
> > is
> > > > the
> > > > >> number of categories. I understand that this decision was made for
> > > > >> efficiency reasons, but it seems like classify is the first place
> > > where
> > > > >> people will look in the API. Instead classifyFull provides the
> > > > >> implementation that a user may find more intuitive. Furthermore,
> > > > >> classifyFull does not require the assumption that the scores over
> > all
> > > > >> categories represent probabilities that sum to one, and is
> therefore
> > > > more
> > > > >> general. In fact, classify is not even implemented for the Naive
> > Bayes
> > > > >> implementations but classifyFull is, which was initially confusing
> > > > until I
> > > > >> understood what classify actually does. Any thoughts on this?
> > > > >>
> > > > >> -Timothy Mann
> > > > >>
> > > >
> > > >
> > >
> >
>

Reply via email to