A scikit-learn compatible learning classifier system

2020 
Parallel to genetic algorithms and genetic programming, the evolutionary computation (EC) sub-field of learning classifier systems (LCS) has been an active area of research, development, and application. LCSs are best known for their ability to flexibly adapt to perform well on a wide range of problems, and to outperform other machine learning (ML) algorithms on problems characterized as being complex and heterogeneous. However, to date LCSs remain poorly recognized and thus rarely considered for comparison to other ML approaches in or outside of the EC community. One likely reason for this is the general lack of easy-to-use LCS implementations to facilitate comparisons to other well-known ML approaches. The Python-based scikit-learn library has become a very popular way to implement, utilize, and compare ML algorithms in a simple, uniform manner. In this work, we develop and evaluate the first LCS scikit-learn package, called scikit-eLCS. The scikit-eLCS algorithm is a modern Michigan-style supervised-learning LCS descended from eLCS, UCS, and XCS. We demonstrate the efficacy and capabilities of this package over benchmark n-bit multiplexer problems. We expect scikit-eLCS to serve as an algorithmic benchmark to facilitate future ML comparisons, as well as a blueprint for the implementation of other scikit-learn compatible LCS algorithms.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    9
    References
    0
    Citations
    NaN
    KQI
    []