Class Ai4r::Classifiers::Classifier
In: lib/ai4r/classifiers/classifier.rb
Parent: Object

This class defines a common API for classifiers. All methods in this class must be implemented in subclasses.

Methods

build   eval   get_rules  

Included Modules

Ai4r::Data::Parameterizable

Public Instance methods

Build a new classifier, using data examples found in data_set. The last attribute of each item is considered as the item class.

You can evaluate new data, predicting its class. e.g.

  classifier.eval(['New York',  '<30', 'F'])  # => 'Y'

This method returns the generated rules in ruby code. e.g.

  classifier.get_rules
    # =>  if age_range=='<30' then marketing_target='Y'
          elsif age_range=='[30-50)' and city=='Chicago' then marketing_target='Y'
          elsif age_range=='[30-50)' and city=='New York' then marketing_target='N'
          elsif age_range=='[50-80]' then marketing_target='N'
          elsif age_range=='>80' then marketing_target='Y'
          else raise 'There was not enough information during training to do a proper induction for this data element' end

It is a nice way to inspect induction results, and also to execute them:

    age_range = '<30'
    city='New York'
    marketing_target = nil
    eval classifier.get_rules
    puts marketing_target
      # =>  'Y'

[Validate]