This is for a senior-year project with an ANFIS (adaptive neuro-fuzzy inference system) module to be used as a predictor for financial instruments. The bulk of the system will be written in Python—chosen for its ease of use and the presence of libraries for genetic programming, another component of the project). I was initially looking to hook up MATLAB with Python and use its popular and well-established Fuzzy Logic Toolbox to take care of the ANFIS component. However, I've been told by faculty that I might come into conflict with the school's open source policy, and that using proprietary software like MATLAB defeats the project's purpose of coming up with software without any limiting dependencies for the user.

And so, I was forced to look for other ways of bringing in ANFIS into Python. The viable solutions I've come up with are:

  • R's fuzzy rule-based system (frbs) package, using ANFIS as the learning method. I will hook this up with Python using RPy2 or PypeR.
  • Implement it myself.

This raises a few questions: Are the R-Python bridges and the R frbs package robust enough for the job? Also, I think it would be a very laborious to implement ANFIS myself. Even so, I wouldn't have any guarantees about its efficacy and performance.

Here are some other stuff I saw:
* A 1993 C implementation by Jang (ANFIS proponent) himself
* Some dead-end GitHub ANFIS projects for Java
* NEFCLASS-J, last updated 1999

I think I have exhausted all possibilities right now. And this brings me to here. PyBrain, an ML library for Python, doesn't have an ANFIS implementation, does it? Or maybe I just wasn't looking hard enough?

Apparently, there is a fuzzy logic toolbox for Scilab as these links tend to prove

Scilab is free software under CeCILL license and it is very close to Matlab. There is also a python module called sciscipy to connect python to scilab.

Apart from this, a search with the keyword fuzzy in the python package index (pypi) yields various modules purporting to be fuzzy logic modules. Did you see them ?

This article has been dead for over six months. Start a new discussion instead.