Furnkranz's FINDBESTRULE Algorithm

From GM-RKB
Jump to navigation Jump to search

A Furnkranz's FINDBESTRULE Algorithm is a Rule Induction Algorithm that searches for a rule which to optimize a pre-defined quality criterion.



References

2017


procedure FINDBESTRULE (Examples, BestRule)
Input: Examples, a set of positive and negative examples for a class c.
InitRule = INITIALIZERULE(Examples)
InitVal = EVALUATERULE(InitRule)
BestRule = <InitVal,InitRule>
Rules= {BestRule}
while Rules ≠ ∅ do
     Candidates=SELECTCANDIDATES(Rules, Examples)
Rules = Rules \ Candidates
for Candidate Candidates do
     Refinements = REFINERULE(Candidate, Examples)
for Refinement Refinements do
     Evaluation=EVALUATERULE(Refinement, Examples)
if STOPPINGCRITERION (Refinement, Examples)
then next Refinement
NewRule = <Evaluation,Refinement>
Rules = INSERTSORT(NewRule, Rules)
if NewRule > BestRule
then BestRule = NewRule
endfor
endfor
Rules = FILTERRULES (Rules, Examples)
endwhile
Output: BestRule