Skip to content

A Python implementation of the Differential Evolution algorithm for the optimization of Fuzzy Inference Systems.

License

Notifications You must be signed in to change notification settings

tiagoCuervo/EvoFuzzy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EvoFuzzy

This is a very simple Python implementation of the Differential Evolution Algorithm for tuning Fuzzy Inference Systems.

Requirements

Known dependencies:

  • Python (3.5.5)
  • Numpy (1.14.2)
  • Matplotlib (2.2.2)

To install dependencies, cd to the directory of the repository and run pip install -r requirements.txt

Code Structure

  • anfis.py: contains a python ANFIS implementation.
  • diffevo.py: contains a python implementation of the Differential Evolution algorithm (based on this tutorial).
  • fobj.py: contains several objective functions.
  • mackey.py: contains an example that uses Differential Evolution for tuning an ANFIS for the prediction of the Mackey Glass series. This example trains the system on 1500 points of the series and plots the real vs. predicted series.

To run the example, cd to the directory of the repository and run python mackey.py

TODO:

  • Implement membership functions other than Gaussians.
  • Implement other evolutionary algorithms for tuning Fuzzy Systems (I would like to implement the Covariance Matrix Adaptation Evolution Strategy).