May 11, 2021

284 words 2 mins read

Web-based Network Traffic Classification using Random Forest

Web-based Network Traffic Classification using Random Forest

Internet merupakan hal penting yang banyak digunakan oleh manusia misalnya untuk mengakses email, sosial media, video platform, music platform, search engine, dan lain sebagainya. Dengan adanya internet ini, membuat semakin banyaknya inovasi dan peningkatan infrastruktur yang membuat kesulitan dalam klasifikasi network traffic. Secara konvensional, network traffic dapat diklasifikasikan menggunakan port-based dan payload based. Port-based menggunakan port standar IANA sedangkan Payload-based menggunakan data paket untuk mengklasifikasi. Namun, karena perkembangan inovasi, developer banyak yang merubah port standar untuk mensiasati traffic atau firewall dan paket data juga banyak yang menjadi private sehingga susah untuk dideteksi menggunakan Deep Packet Inspection (DPI). Oleh karena itu, digunakan Machine Learning khususnya Random Forest untuk mengklasifikasikan network traffic dan untuk mempermudah user, digunakan web sebagai antar mukanya.

Dataset diperoleh dari kaggle https://www.kaggle.com/jsrojas/ip-network-traffic-flows-labeled-with-87-apps. Dataset ini terdiri dari 78 aplikasi dengan 87 fitur. Kemudian, dilanjut dengan proses training model. Pertama, dilakukan terlebih dahulu preprocessing yang nantinya digunakan untuk melakukan pemilihan fitur. Preprocessing yang dilakukan antara lain melakukan filter aplikasi yang akan dapat diklasifikasi (dalam proyek ini diambil 10 aplikasi), balancing class (over sampling dan under sampling), pemilihan fitur menggunakan SelectK_Best dan f_classif dari sklearn. Kemudian, dilanjut menggunakan Random Forest digunakan feature importance diambil 5 fitur saja yaitu Flow duration, Forward IAT Total, Backward IAT Total, Forward Packet Length Standard Deviation, dan Initial Window Bytes Forward. Kemudian, dilakukan pemilihan parameter Random Forest menggunakan grid search. Barulah dilakukan training model.

Proses selanjutnya setelah training model yaitu testing dan evaluation model. Diperoleh akurasi train sebesar 93% dan akurasi test sebesar 82%. Selanjutnya, model training ini disimpan untuk nantinya dapat dideploy ke web menggunakan library streamlit. Supaya dapat diakses bebas dimana saja, digunakan heroku sebagai tempat hosting. Proyek ini dapat diakses di https://net-class10app.herokuapp.com/

Project Author(s)

Arba Robbani (23220346)

comments powered by Disqus