Feature Voting

Simple Explanation

Feature Voting is a machine learning classification algorithm. It takes the mean of each feature in the training examples and compares this mean with value of the corresponding feature in the unknown data point. Then, the value of each feature closest to that mean provides one vote for its corresponding class.

Example

Table 1a. Hypothetical data showing the flammability of an air mixture of methane, CO2, and SO2.

Class

Concentration of methane

Concentration of CO2

Concentration of SO2

Flammable

25

15

20

Flammable

30

18

15

Flammable

37

9

14

Non-flammable

10

27

35

Non-flammable

15

30

43

Non-flammable

8

40

32

Table 1b. The mean of each feature for each given class in the training examples from Table 1a.

Class

Concentration of methane

Concentration of CO2

Concentration of SO2

Avg Flammable

31

14

16

Avg Non-flammable

11

32

37

Table 2. Comparison of the features of an unknown class with the means of training examples (Table 1b). Votes of each feature in the unknown is taken toward flammable or non-flammable class.

Class

Concentration of methane

Concentration of CO2

Concentration of SO2

Unknown

25

21

30

One vote for flammable because 25 is closer to 31 than 11 (Table 1b)

One vote for flammable because 21 is closer to 14 than 32 (Table 1b)

One vote non-flammable because 30 is closer to 37 than 16 (Table 1b)


Classifying the unknown (Table 2), the classifier would compare the value of each feature separately with the mean learned from training examples (Table 1b). The result of each comparison count as one vote and the class that receives most votes is the class which the unknown belongs to. In this case (Table 2), the feature voting classifier would determine the unknown as flammable (2 votes flammable against 1 vote non-flammable) based on the votes cast.


Additional Information

It is possible to weigh different votes differently. Please contact us if you wish to use this feature.

Pros and Cons

ProsCons
  • fast training and prediction
  • can process training examples with missing data
  • sensitive to outliers in small datasets
  • ignores possible relationships between features