A simple multi-agent platform for prediction of intances with machine learning algorithms.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
A simple multi-agent platform for prediction of intances with machine learning algorithms. This is an example for the "Sistemas Inteligentes" ("Intelligent Systems") subject of the "Grado en Ingeniería Informática" ("Degree in Computer Engineering") degree at the Universidad Politécnica de Madrid (UPM) (Spain).
This project has been developed with the Eclipse IDE and Java. Therefore, for the execution of the project we are going to assume that both softwares are installed on the machine.
Although the use of the Eclipse IDE is recommended, any other Java development environment can be used.
To install and test the project, follow these steps:
- You need to download this repository and import the project into your IDE.
- Download and import the JADE and Weka libraries for Java into your project.
- Configure the execution of the project, for this in our ide we must specify that the main class of the project is
jade.Boot
. In addition to configure each one of the agents of our MAS it is necessary to include the following arguments to our execution,-gui UserAgent:es.upm.si.intelligentMASPlatform.UserAgent;TrainAgent:es.upm.si.intelligentMASPlatform.TrainAgent;PredictAgent:es.upm.si.intelligentMASPlatform.PredictAgent;ResultsAgent:es.upm.si.intelligentMASPlatform.ResultsAgent
.
Here we present the Multi-Agent System (MAS) proposed for this platform. The system is composed of a total of four agents:
- User agent: it is in charge of interacting with the user and communicating to the rest of the agents the actions defined by the user through the interaction.
- Training agent: it is in charge of training the model based on the user's preferences and communicating the resulting model to the prediction agent.
- Prediction agent: performs the prediction of the instance configured by the user using the model trained in the training agent. After finishing the prediction, it will communicate the results to the results agent.
- Results agent: communicates the results and notifies the user agent that new preconditions or training can be performed.
The interactions and exchange of messages in the defined platform are shown below.
When the project is executed, the following screen is displayed:
This screen allows you to select a dataset (for this particular platform the dataset is located in the data
folder) and a machine learning algorithm with which our platform model will be trained. Once the training is done, we can use the button at the bottom of the screen that will take us to the next screen.
In this screen you can select the values of the instances to be predicted. After introducing these values, press the button and the instance to be predicted will be sent. After making the prediction, the system will display the following screen:
Once the results have been displayed, you can return to the initial screen by clicking on the accept button.
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU General Public License v3.0. See LICENSE
for more information.
Diego M. Jiménez Bravo - @dmjimenezbravo - dmjimenezbravo@gmail.com
Project Link: https://github.com/dmjimenezbravo/IntelligentMASPlatform