l-moments-optimization
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.5%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: galeanobra
- Language: Jupyter Notebook
- Default Branch: main
- Size: 2.9 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
This repository contains the raw results, framework code, and analysis scripts for the article \"Network traffic classification through high-order L-moments and multi-objective optimization\", published in the journal Journal.
Contents
Results Data:
- Includes the results obtained after the optimization of all analyzed scenarios, from (a) to (e).
- These results represent the sample size n, the amount of features selected, and balanced accuracy in
FUN.csvfiles, as well as decision variables inVAR.csvfiles. - The
permutation_importancefolder includes a Python script to compute the permutation importance and the files with the results obtained for each scenario.
Jupyter Notebook:
- Contains the scripts used to generate the figures included in the main article.
- Provides additional interactive visualizations, such as dynamic 3D plots, to enhance the analysis of the results.
Optimizer and L-moments code:
Dependencies, software requirements, and usage
This repository provides detailed dependency management to ensure reproducibility and facilitate broader adoption. Please ensure your environment matches the following specifications:
Java Optimizer Framework
- Java Development Kit (JDK): version 17 (or higher)
- JMetal Framework (version 6.6), managed through Maven with dependencies explicitly listed in the provided
pom.xmlfile, including:jmetal-corejmetal-algorithmjmetal-parallel
You can compile the Java code easily using Maven:
bash
mvn clean package
Python environment (Jupyter Notebook and L-moments scripts)
We recommend running the notebook directly in the cloud using mybinder or EGI Replay. Note that cloud execution may take a few minutes. To run it locally or use Python scripts:
Clone the repository:
bash git clone https://github.com/galeanobra/L-moments-optimization.git cd L-moments-optimizationEnsure Python (version 3.8 or higher) and
pipare installed:- Check Python version:
bash python --version - Check if
pipis installed:bash pip --version - If not installed, follow official Python installation instructions and pip installation guide.
- Check Python version:
Create a virtual environment (optional but recommended):
bash python -m venv lmomvenv source lmomvenv/bin/activate # On Windows use: lmomvenv\Scripts\activateInstall Python dependencies listed in
requirements.txt:bash pip install -r requirements.txtOpen the Jupyter Notebook:
bash jupyter labGenerate figures and perform analysis:
- Run the notebook to produce static figures included in the article.
- Explore interactive visualizations for deeper insights into the optimization process.
- Use Python scripts in the
lmomentsfolder to compute L-moments as needed.
Optimizer execution
To use the optimizer, ensure you have Java 17 or higher installed. Execute the optimizer using:
bash
java -cp lmom-optimization.jar NSGAIIMain <server_port> <pop_size> <max_evals> <scenario_json>
Where:
- <server_port>: Port of the node running the algorithm.
- <pop_size>: Population size.
- <max_evals>: Stopping condition.
- <scenario_json>: JSON file in lmoments/conf_default folder corresponding to predefined scenarios.
Run as many worker nodes as desired:
bash
java -cp lmom-optimization.jar Worker <IP_server> <port_server>
Citation
If you use this repository in your work, please cite the original article:
@article{galeano2025network,
title = {Network traffic classification through high-order L-moments and multi-objective optimization},
author = {Galeano-Brajones, Jes{\'u}s and Chidean, Mihaela I and Luna, Francisco and Calle-Cancho, Jes{\'u}s and Carmona-Murillo, Javier},
journal = {Preprint},
year = {2025},
volume = {XX},
pages = {XX--XX},
doi = {XX.XXXX/j.xx.xxxx},
}
License
The contents of this repository, including code, data, and results, are provided solely for academic and research purposes. Use of the materials requires proper citation of the original article. Any commercial use, redistribution, or modification without explicit permission from the authors is strictly prohibited.
For any questions or further clarifications, please contact the authors.
Owner
- Name: Jesus Galeano Brajones
- Login: galeanobra
- Kind: user
- Location: Mérida, Spain
- Company: University of Extremadura
- Website: galeanobra.github.io
- Twitter: galeanobra
- Repositories: 1
- Profile: https://github.com/galeanobra
PhD Student
GitHub Events
Total
- Release event: 1
- Delete event: 1
- Push event: 25
- Create event: 4
Last Year
- Release event: 1
- Delete event: 1
- Push event: 25
- Create event: 4