The above .zip files contain open source python implementations of existing LCS algorithms (XCS, UCS, MCS) written/modified to accommodate SNP gene association studies. These are the implementations used in the following paper published in the proceeding of GECCO 2009:
R.J. Urbanowicz, J.H Moore. The Application of Michigan-Style Learning Classifier
Systems to Address Genetic Heterogeneity and Epistasis
in Association Studies. GECCO 2010
I ran the *_Test.py files for the XCS, UCS, and MCS algorithms. They all appear to do little better at classifying a binary class than a random flip of a coin. Am I reading these results right?
e.g. for UCS, it says “89 out of 160 correctly classified.” for a 55% accuracy?
The sample datasets included for *_Test.py were designed to model only partially penetrant epistatic, and heterogeneous effects. So even if the a given LCS was perfectly optimized and run for an infinate amount of time, it could not reach a testing accuracy of 100%. I’m not sure off hand what the max is for these datasets, but I’d estimate somewhere between 60-75% max testing accuracy. Each of these implementations were written specific to our problem domain, and will likely require modifications to address others. Hope that helps!
I recently started my own open source Python implementation of XCS, available here:
https://github.com/hosford42/xcs
(I linked to your page in the “Related projects” section of my readme file.)
Do let me know if you would like to collaborate in the future.