This project implements an Intrusion Detection System using machine learning techniques, specifically an LSTM Autoencoder for anomaly detection and a classifier for attack type identification.
- Real-time network traffic analysis
- Anomaly detection using LSTM Autoencoder
- Attack classification using trained models
- Web-based interface built with Streamlit
-
Clone the repository:
git clone https://github.com/Karan27q/ids.git cd ids -
Install dependencies:
pip install -r requirements.txt
To start the Streamlit application:
streamlit run app.py
This will launch the web interface where you can upload network traffic data for analysis.
The app.ipynb notebook contains the code for training the models. Run the cells in order to:
- Load and preprocess data
- Train the LSTM Autoencoder
- Train the attack classifier
- Evaluate and save models
app.py: Streamlit web applicationapp.ipynb: Jupyter notebook for model trainingattack_classifier.keras: Trained attack classification modellstm_autoencoder.keras: Trained LSTM autoencoder modelscaler.save: Saved data scalerrequirements.txt: Python dependenciestest.py: Test script
- streamlit
- tensorflow
- scikit-learn
- joblib
- numpy
- pandas
- matplotlib
[Add license information here]