https://github.com/dmjimenezbravo/intelligentmasplatform
A simple multi-agent platform for prediction of intances with machine learning algorithms. This is an example for the Intelligent Systems subject of the Computer Engineering degree at the Polytechnic University of Madrid (Spain).
https://github.com/dmjimenezbravo/intelligentmasplatform
agents jade machine-learning multi-agent-systems weka
Last synced: 4 months ago
JSON representation
A simple multi-agent platform for prediction of intances with machine learning algorithms. This is an example for the Intelligent Systems subject of the Computer Engineering degree at the Polytechnic University of Madrid (Spain).
- Host: GitHub
- URL: https://github.com/dmjimenezbravo/intelligentmasplatform
- Owner: dmjimenezbravo
- License: gpl-3.0
- Created: 2022-05-10T12:45:17.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-05-16T11:25:23.000Z (about 3 years ago)
- Last Synced: 2024-12-26T01:26:04.260Z (6 months ago)
- Topics: agents, jade, machine-learning, multi-agent-systems, weka
- Language: Java
- Homepage:
- Size: 13.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Intelligent MAS Platform
A simple multi-agent platform for prediction of intances with machine learning algorithms.
Explore the docs »
Report Bug
·
Request Feature
Table of Contents
## About The Project
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).
### Built With
* [Java](https://www.java.com/).
* [JADE](https://jade.tilab.com/).
* [Weka](https://www.cs.waikato.ac.nz/ml/weka/).## Getting Started
This project has been developed with the [Eclipse IDE](https://www.eclipse.org/ide/) and Java. Therefore, for the execution of the project we are going to assume that both softwares are installed on the machine.
### Prerequisites
* [Java](https://www.java.com/).
* [Eclipse IDE](https://www.eclipse.org/ide/).Although the use of the Eclipse IDE is recommended, any other Java development environment can be used.
### Installation
To install and test the project, follow these steps:
1. You need to download this repository and import the project into your IDE.
2. Download and import the JADE and Weka libraries for Java into your project.
3. 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`.## About the MAS
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.
## Usage
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.
## Contributing
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!1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## License
Distributed under the GNU General Public License v3.0. See `LICENSE` for more information.
## Contact
Diego M. Jiménez Bravo - [@dmjimenezbravo](https://twitter.com/dmjimenezbravo) - [email protected]
Project Link: [https://github.com/dmjimenezbravo/IntelligentMASPlatform](https://github.com/dmjimenezbravo/IntelligentMASPlatform)
## Acknowledgments
* [JADE, Java Agent DEvelopment Framework](https://jade.tilab.com/).
* [Weka](https://www.cs.waikato.ac.nz/ml/weka/).