Giter VIP home page Giter VIP logo

elixir's Introduction

Elixir

This repository contains the implementation of Elixir, a machine learning framework for control traffic prediction in SDN systems

Overview

We provide all source codes, including Elixir implementation and experiment scripts. The provided codes are organized as follows.

  • Part 1 describes the source-code organization of this repository.
  • Part 2 contains the steps to configure dependencies and compilation to run Elixir.
  • Part 3 gives a general guide on executing the codes.

Repository organization

The repository is organized as follows:

  • Elixir/: contains the core implementation of Elixir.
  • Elixir/dataset_new_avg/: contains the dataset of Elixir.
    • Elixir/dataset_new_avg/: Training dataset
      • 'fl_default_of10.csv', 'fl_default_of13.csv', 'odl_default_of10.csv', 'odl_default_of13.csv', 'onos_default_of10.csv', 'onos_default_of13.csv', 'onos_proxyarp_of13.csv', 'onos_stats1_of13.csv', 'p4_default.csv'
    • dataset_new_avg/inf_realvalue/scoring/: Scroing datset
      • 'fl_default_of10.csv', 'fl_default_of13.csv', 'odl_default_of10.csv', 'odl_default_of13.csv', 'onos_default_of10.csv', 'onos_default_of13.csv', 'onos_proxyarp_of13.csv', 'onos_stats1_of13.csv', 'p4_default.csv'
      • 'fl_default_of10.xlsx', 'fl_default_of13.xlsx', 'odl_default_of10.xlsx', 'odl_default_of13.xlsx', 'onos_default_of10.xlsx', 'onos_default_of13.xlsx', 'onos_proxyarp_of13.xlsx', 'onos_stats1_of13.xlsx', 'p4_default.xlsx'
    • dataset_new_avg/inf_realvalue/evaluation/: Evaluation datset
      • 'fl_default_of10.csv', 'fl_default_of13.csv', 'odl_default_of10.csv', 'odl_default_of13.csv', 'onos_default_of10.csv', 'onos_default_of13.csv', 'onos_proxyarp_of13.csv', 'onos_stats1_of13.csv', 'p4_default.csv'
      • 'fl_default_of10.xlsx', 'fl_default_of13.xlsx', 'odl_default_of10.xlsx', 'odl_default_of13.xlsx', 'onos_default_of10.xlsx', 'onos_default_of13.xlsx', 'onos_proxyarp_of13.xlsx', 'onos_stats1_of13.xlsx', 'p4_default.xlsx'
  • Elixir/dataset_new_avg/exlixir_model_save/: pre-trained model (example of trained models of model space)

Prerquisites

  • Install required dependencies and libraries with conda. Please install conda
  • Execute conda $conda activate
  • Import conda env $conda env create -f Elixir_env.yaml
  • Activate env $conda activate Elixir_env

Execution guides

1. Training (Model Space)

$ python trainmodel.py [training_dataset csv name]

  • e.g., $ python trainmodel.py onos_default_of10.csv onos_default_of13.csv
  • Please check location of training dataset path: dataset_new_avg/
  • Training result(trained models) path: dataset_new_avg/elixir-modelsave/

2. Inference

$ python inference.py [test_type] [training_dataset csv name]

  • inference dataset path: dataset_new_avg/inf_realvalue/[test_type]/

    • require both csv file and xlsx file
    • test_type: scoring or evaluation
  • scoring: $ python inference.py scoring onos_default_of10.csv onos_default_of13.csv

  • evaluation: $ python inference.py evaluation onos_default_of10.csv onos_default_of13.csv

  • result files(xlsx): dataset_new_avg/result/

3. Model selection

  1. Naive model: $ python naiiveselction.py
    • result path (txt): dataset_new_avg/result/modelselect/naiive.txt
    • result summary path (xlsx): dataset_new_avg/result/modelselect/naiiveselectModel.xlsx
  2. Freq model: $ python freq_modelselection.py
    • result path: dataset_new_avg/result/modelselect/freq.txt
    • result summary path: dataset_new_avg/result/modelselect/freqselectModel.xlsx
  3. Supreme model: $ python modelselection.py
    • result path: dataset_new_avg/result/modelselect/supreme.txt
    • result summary path: dataset_new_avg/result/modelselect/naiiveselectModel.xlsx

4. Prediction Accuracy Summary

  1. RMSE: $ python selectedmodelonlysummary_RMSE.py
  • result: dataset_new_avg/result/modelselect
  1. Freq rate: $ python freqscore_FREQ.py
  • result: dataset_new_avg/result/modelselect

Contacts

elixir's People

Contributors

yeonhooy avatar jundolescent avatar pengujoa avatar gsyang33 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.