Skip to content

Commit

Permalink
Anomaly-Based Intrusion Detection System (#684)
Browse files Browse the repository at this point in the history
## 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
UTSAVS26 authored Oct 21, 2024
2 parents bc93ec8 + cbe40c4 commit 5d9a043
Show file tree
Hide file tree
Showing 3 changed files with 3,522 additions and 0 deletions.
Loading

0 comments on commit 5d9a043

Please sign in to comment.