Category Archives: GPdotNET
This is the third beta version of the GPdotNET v4.0 which brings new features and continuation of the new set of solvers. Beta 3 introduce Genetic Programming Multi-class Solver (GPMCS).
The latest version of the project can be found at http://github.com/bhrnjica/gpdotnet.
As announced in Beta 1 and Beta 2 there are new set of solvers. Beta 3 finally brings GP Multi-class solver, and announced feature complete of the GPdotNET v4.0.
Here is a quick recap of all new features announced in the last three beta versions:
1. New Start Page will be extended with new examples of Neural Nets : – binary classification, – multi-class classification and – regressions examples.
2. Improved module for loading experimental data, which now supports non numeric data like categorical or binary data. New data module also support normalization of the experimental data, handling missing values.
3. Introduction of the ANN solver for all three kind of problems:
4. Depending of the output column of loaded experimental data, different learning solver can be selected.
5. Introduction of the GP Binary class solver.
6. Introduction of the GP Multi-Class solver. In the flowing text you can see few screen shots:
Picture below shows loaded “iris flower data set” in to the GP multi-class solver.
The picture below shows GP Multi-class solver in action. As can be seen best solution is found at 242 iteration, with very high value of the fitness value.
Even better the prediction page shows how best chromosome predict iris value. As can be seen best solution predicts 13 rows correctly, and only 2 row are calculated wrong.
The last picture shows the Best Chromosome (solution) for the Iris Flows Data Set :
Since now the GPdotNET project is located at http://github.com/bhrnjica/gpdotnet.
Download GPdotNET v4 beta2
The last few days I am preparing the new build for publishing of GPdotNET v4.0 which will include lot of new features. In the last post I have announced ANN modul and compleately new modul for preparing tha data for modelling. Here is a quick overview of the new features comming in this build:
- Since this build the GP modul is also integrated with the new way of data preparation. Now with the latest version of GPdotNET the user will have the same user experience in modelling with GP and ANN.
- The big news for this build is ability for modelling classification problems (two-class as well ) with Genetic programming. Multy -classs GP solver will be released soon.
- Separation of the previous and new version. Both are included in the latest build.
- Disable protected operations.
As picture shows below you can choose models from prevous version on the left side. On the right side of the new model dialog, you can select modeling and prediction with ANN or GP.
After you select the solver GPdotNET is ready to accept the data.
From the previous blog post you can see more info about loading and handling data. The same user experimence you can see regadles of the solver type (ANN or GP).
Beside this GP integration there are several bug fix which were reported from the users.
In GP solver the new feature has been added: Ability to disable protected operations. In the previuous version of GPdotNET protected operations (eg. /, log, ln, etc) are enabled in the model. Whenever operation was undefined for the current value. GPdotNET returned default value (0 or 1). So with protected operation the model is always defined. With protected operations we collect much good genetic material dufirng evolution. In case the option is disable any upprotected operation can discar the model. This option is available in new and previous GP solver.
Features not implemented in this beta
1. Exporting GP/ANN model
2. Open/Save gpa file for new Solvers.
After some time of implementation and testing, the new version of GPdotNET is out. Go to codeplex page and download it. This is huge step in development of this project, because it contains completely new module based on Artificial Neural Network and other optimization methods e.g. Particle Swarm Optimization.
Almost all aspects of the architecture are changed, or will be changed when this version would be released.
The new Experiment class will replace existing classes for handling experimental data in GA based models, which is not implemented yet. Also New start page will contain more pre-calculated examples.
For this beta here are the new features:
- New Start Page will be extended with new examples of Neural Nets : – binary classification, – multiclass classification and – regressions examples.
- Improved module for loading experimental data, which now supports nonnumeric data like categorical or binary data.
- Depending of the output column of loaded experimental data different learning algorithm is selected. For example if the column is of categorical type, GPdotNET selects Neural Net algorithm with Cross-Entropy and Particle Swarm optimization learning algorithm. If the output column is numerical, GPdotNET selects the Neural Nets with Backpropagation learning algorithm. Currently only two learning algorithms are implemented. More will be implemented in the next beta release.
Classification problem with GPdotNET
This topic will give quick tutorial how to model classification problem with GPdotNET by using Neural Nets. For this tutorial you need some experimental data which you can download from this location.
- Open GPdotNET choose New Command
- New Dialog pops up, check Artificial Neural Nets, and Press Ok Button.
- Press Load Data button.
- New Popup dialog appears.
- Press File button select the file you previously downloaded.
- Check Semicolon and First Row Header check buttons.
Note: When the data is analyzed correctly you should see vertical line “|” between columns. Otherwise data will not be loaded correctly.
- When the experimental data is formatted correctly, press the “Import Data” button.
For each columns we have to set:
- a) proper type of the column (numeric, categorical or binary),
- b) type of the parameter (input, output or ignore)
- c) normalization method (MinMax,Gauss or Custom normalization of the column values ).
To change Column Type, double click on the cell which shows the column type, combo box appears with list of available types.
- To change Parameter Type, double click on the cell which shows the param type, combobox appears with list of available parameter types.
- To change Normalization Type, double click on the cell which shows MinMax value, combobox appears with list of available normalization types.
Note: you can set only one Output column. Put Parameter Type to Ignore if you want to skip column from modelling.
Now we have experimental data, and we can start modelling process. Before that we need to choose how much data will be treated for testing. Enter 10% for testing the data and press Start Modelling button.
Now we have more Pages:
1. Settings page for setting the parameters of the Neural Nets
2. Run page for simulation of searching solution
3. Prediction page which you can see how solution is good against testing data.
As you can see in Settings Page you can set various parameters for Neural Nets and Particle Swarm Optimization. Try to train the model with different parameters values. For this tutorial you can leave parameters as are.
Modeling page contains two diagrams. The first diagram shows errors with respect of the iteration number which is very useful for monitoring the searching process. The second diagram which is below the previous shows current best solution (blue line) in comparison with the experimental data (red line). Also on the left side of the page, you can see several iteration number, error, and other information about searching process.
Features don’t work in this BETA
1. Exporting Neural Network model
2. Saving to gpa file Neural Network Models