Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Anomaly-Based Intrusion Detection System (#684)
## Pull Request for PyVerse 💡 ### Requesting to submit a pull request to the PyVerse repository. --- #### Issue Title Anomaly-Based Intrusion Detection System - [x] I have provided the issue title. --- #### Info about the Related Issue The primary objective of this project is to develop an anomaly-based Intrusion Detection System (IDS) that identifies deviations from normal network behavior, potentially signaling an intrusion. This system uses machine learning techniques to classify network traffic as normal or anomalous, thus improving network security by detecting unusual or malicious activities. - [x] I have described the aim of the project. --- #### Name Sharayu Anuse - [x] I have provided my name. --- #### GitHub ID 114616759 - [x] I have provided my GitHub ID. --- #### Email ID [email protected] - [x] I have provided my email ID. --- #### Identify Yourself **Mention in which program you are contributing (e.g., WoB, GSSOC, SSOC, SWOC).** GSSOC-Ext, Hacktoberfest - [x] I have mentioned my participant role. --- #### Closes **Enter the issue number that will be closed through this PR.** *Closes: #654 * - [x] I have provided the issue number. --- #### Describe the Add-ons or Changes You've Made In this project, I have implemented an anomaly detection system for network intrusion detection. The system uses machine learning algorithms to classify network traffic and detect abnormal behavior indicative of a potential attack. The project is divided into the following stages: - Data Preprocessing: Cleaning and preparing the dataset for training and testing. - Feature Engineering: Selecting and transforming relevant features for model training. - Model Training: Using classification algorithms such as Random Forest, Support Vector Machines (SVM), and others to train the IDS. - Evaluation: Evaluating the model's performance using metrics like accuracy, precision, recall, and F1-score. - Anomaly Detection: Detecting anomalies in the network traffic and classifying them as potential intrusions. - [x] I have described my changes. --- #### Type of Change **Select the type of change:** - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Code style update (formatting, local variables) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] This change requires a documentation update --- #### How Has This Been Tested? 1. Data Preprocessing and Splitting: - The dataset was split into training and testing sets to evaluate the model's performance. - Various data preprocessing steps, such as handling missing values, scaling features, and encoding categorical data, were thoroughly tested to ensure compatibility with the machine learning models. 2. Model Training and Cross-Validation: - Each machine learning model (Random Forest, SVM, etc.) was trained on the processed data, and k-fold cross-validation was used to assess the consistency and reliability of the models. This technique helped validate the models' performance across different subsets of the dataset, reducing the risk of overfitting. 3. Performance Evaluation: - The models were evaluated using key metrics, such as accuracy, precision, recall, and F1-score, to ensure they could accurately classify network traffic and detect anomalies. - [x] I have described my testing process. --- #### Checklist **Please confirm the following:** - [x] My code follows the guidelines of this project. - [x] I have performed a self-review of my own code. - [x] I have commented my code, particularly wherever it was hard to understand. - [x] I have made corresponding changes to the documentation. - [x] My changes generate no new warnings. - [x] I have added things that prove my fix is effective or that my feature works. - [x] Any dependent changes have been merged and published in downstream modules.
- Loading branch information