The term "classifier" is widely used for (at least) three very different entities:

  1. A particular type of mathematical function, often viewed as resulting from the operation of a supervised learning algorithm.

  2. The declarative representation of #1, as created by hand or output by software implementing a supervised learning algorithm.

  3. A software component that takes #2, plus examples, and outputs predictions for those examples.

The overloading of vocabulary between #1 and #2 tends not to problematic, but the use of the same term for both #2 and #3 causes endless grief when I'm working with software developers. I've tried out various terms for #3 over the years: "applier", "interpreter", "executer", etc., alone or prefixed by "classifier", but keep wishing there was something both standard and distinctive.

So consider this a poll: what do you call #3 in conversation and/or when naming a software component?

asked Aug 26 '11 at 12:22

Dave%20Lewis's gravatar image

Dave Lewis
785162644

edited Aug 27 '11 at 12:23


3 Answers:
  1. "the algorithm" (as in, we use the SVM algorithm); 2. "the model" (as in, save the SVM model to a file); 3. "the code" (as in, there's a bug in the svm code).

answered Aug 27 '11 at 12:14

Alexandre%20Passos's gravatar image

Alexandre Passos ♦
1896744214334

FYI, for 1. I meant the mathematical object output by the algorithm, i.e. a hyperplane for linear SVMs, or a tree structure for decision tree learners. But one would like a generic term for this across all learning algorithms. "Code" is true for 3, but one would ideally like a way to talk about this part of a piece of software vs. other parts.

(Aug 28 '11 at 09:34) Dave Lewis

I'd call 1) a model, to an instance of the model and 3) as the prediction function of this model. Or maybe predictor?

answered Aug 27 '11 at 07:43

Andreas%20Mueller's gravatar image

Andreas Mueller
1817133671

I think the problem is that "the prediction function" could very well be the mathematical expression of the function (i.e., 1)

(Aug 27 '11 at 12:12) Alexandre Passos ♦

I tend to refer to #2 as a model, and #3 as a classifier. For #1, I think I also use classifier, or sometimes classification algorithm.

answered Aug 26 '11 at 14:06

Bryan%20Rink's gravatar image

Bryan Rink
12

Your answer
toggle preview

powered by OSQA

User submitted content is under Creative Commons: Attribution - Share Alike; Other things copyright (C) 2010, MetaOptimize LLC.