{"id":32992743,"url":"https://github.com/annasmustafadev/network-intrusion-detection-ml","last_synced_at":"2026-04-29T21:05:39.465Z","repository":{"id":323644662,"uuid":"1094121287","full_name":"AnnasMustafaDev/Network-Intrusion-Detection-ML","owner":"AnnasMustafaDev","description":"Machine learning-based Intrusion Detection System (IDS) for classifying network traffic as normal or malicious using supervised learning techniques. Includes data preprocessing, feature selection, model training, and evaluation for improved cybersecurity intelligence.","archived":false,"fork":false,"pushed_at":"2025-11-11T09:37:36.000Z","size":456,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-11T11:23:25.923Z","etag":null,"topics":["anomaly-detection","classification","cyber-security","data-science","intrusion-detection","machine-learning","python","scikit-learn","supervised-learning"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AnnasMustafaDev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-11T09:33:36.000Z","updated_at":"2025-11-11T09:40:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/AnnasMustafaDev/Network-Intrusion-Detection-ML","commit_stats":null,"previous_names":["annasmustafadev/network-intrusion-detection-ml"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/AnnasMustafaDev/Network-Intrusion-Detection-ML","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnasMustafaDev%2FNetwork-Intrusion-Detection-ML","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnasMustafaDev%2FNetwork-Intrusion-Detection-ML/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnasMustafaDev%2FNetwork-Intrusion-Detection-ML/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnasMustafaDev%2FNetwork-Intrusion-Detection-ML/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AnnasMustafaDev","download_url":"https://codeload.github.com/AnnasMustafaDev/Network-Intrusion-Detection-ML/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AnnasMustafaDev%2FNetwork-Intrusion-Detection-ML/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32443596,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T20:22:27.477Z","status":"ssl_error","status_checked_at":"2026-04-29T20:22:26.507Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anomaly-detection","classification","cyber-security","data-science","intrusion-detection","machine-learning","python","scikit-learn","supervised-learning"],"created_at":"2025-11-13T10:00:34.384Z","updated_at":"2026-04-29T21:05:39.460Z","avatar_url":"https://github.com/AnnasMustafaDev.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Network Intrusion Detection System using Machine Learning\n\n## Abstract \n\nThis project implements a comprehensive Network Intrusion Detection System (NIDS) using machine learning algorithms to identify malicious network activities and security threats. The system analyzes network traffic patterns to classify activities as normal or various types of attacks, employing multiple classification techniques to achieve high detection accuracy while minimizing false positives. This research addresses the critical need for automated intrusion detection in modern cybersecurity infrastructure.\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Objectives](#objectives)\n- [Dataset](#dataset)\n- [Methodology](#methodology)\n  - [Tools and Libraries](#tools-and-libraries)\n  - [Data Preprocessing](#data-preprocessing)\n  - [Feature Engineering](#feature-engineering)\n  - [Model Development](#model-development)\n  - [Evaluation Metrics](#evaluation-metrics)\n- [Results](#results)\n  - [Binary Classification](#binary-classification)\n  - [Multi-class Classification](#multi-class-classification)\n  - [Model Comparison](#model-comparison)\n- [Conclusion](#conclusion)\n- [Installation](#installation)\n- [Usage](#usage)\n- [References](#references)\n\n## Introduction\n\nNetwork security has become increasingly critical with the exponential growth of internet-connected devices and applications. Intrusion Detection Systems serve as essential security mechanisms that monitor network traffic for suspicious activities and potential threats. Traditional signature-based detection methods struggle to identify novel attack patterns, making machine learning-based approaches increasingly valuable\n\nThis project develops a machine learning-based Network Intrusion Detection System capable of identifying and classifying various types of network attacks. The system employs multiple supervised learning algorithms to detect anomalies in network traffic and distinguish between normal activities and different attack categories including Denial of Service (DoS), Probe attacks, Remote-to-Local (R2L) attacks, and User-to-Root (U2R) attacks.\n\n## Objectives\n\nThe primary objectives of this project are:\n\n1. **Binary Classification**: Develop models to classify network traffic as either normal or attack activity with high accuracy and low false positive rates.\n\n2. **Multi-class Classification**: Build classifiers capable of distinguishing between normal traffic and specific attack types (DoS, Probe, R2L, U2R).\n\n3. **Model Comparison**: Evaluate and compare the performance of multiple machine learning algorithms to identify the most effective approach for intrusion detection.\n\n4. **Feature Analysis**: Identify the most significant network features that contribute to accurate intrusion detection.\n\n5. **Real-world Application**: Create a deployable system that can process network traffic in real-time and generate timely alerts for security administrators.\n\n## Dataset\n\n**Dataset Name**: NSL-KDD Dataset\n\n**Description**: The NSL-KDD dataset is an improved version of the KDD Cup 1999 dataset, specifically designed for network intrusion detection research. It addresses inherent problems in the original KDD dataset including redundant records and biased evaluation.\n\n**Dataset Statistics**:\n\n| Characteristic | Training Set | Testing Set |\n|----------------|--------------|-------------|\n| Total Records | 125,973 | 22,544 |\n| Normal Records | 67,343 | 9,711 |\n| Attack Records | 58,630 | 12,833 |\n\n**Attack Categories**:\n\n1. **DoS (Denial of Service)**: Attempts to make machine or network resources unavailable\n2. **Probe**: Surveillance and probing to gather information about the target system\n3. **R2L (Remote to Local)**: Unauthorized access from a remote machine\n4. **U2R (User to Root)**: Unauthorized access to local root privileges\n\n**Features**: The dataset contains 41 features representing various aspects of network connections:\n\n- **Basic Features**: Duration, protocol type, service, flag\n- **Content Features**: Number of failed logins, logged in status, root shell access\n- **Time-based Traffic Features**: Connections to same host, same service in the past 2 seconds\n- **Host-based Traffic Features**: Statistics calculated using a window of 100 connections\n\n## Methodology\n\n### Tools and Libraries\n\n- **Pandas**: Data manipulation and preprocessing\n- **NumPy**: Numerical computations and array operations\n- **Scikit-learn**: Machine learning model implementation and evaluation\n- **Matplotlib**: Data visualization and performance plotting\n- **Seaborn**: Statistical data visualization\n- **Imbalanced-learn**: Handling class imbalance through resampling techniques\n- **XGBoost**: Gradient boosting implementation\n- **TensorFlow/Keras**: Deep learning model development\n\n### Data Preprocessing\n\nThe preprocessing pipeline consists of the following steps:\n\n1. **Data Loading and Exploration**\n   - Loaded NSL-KDD training and testing datasets\n   - Performed exploratory data analysis to understand feature distributions\n   - Analyzed class distributions and identified imbalance issues\n\n2. **Handling Missing Values**\n   - Identified and handled missing or null values\n   - Performed statistical imputation where necessary\n\n3. **Feature Encoding**\n   - Converted categorical features (protocol type, service, flag) to numerical representations\n   - Applied one-hot encoding for nominal features\n   - Label encoded target variables for classification\n\n4. **Feature Scaling**\n   - Applied standardization to normalize feature ranges\n   - Used StandardScaler to transform features to zero mean and unit variance\n\n5. **Class Balancing**\n   - Addressed class imbalance using SMOTE (Synthetic Minority Over-sampling Technique)\n   - Balanced attack categories to prevent bias toward majority classes\n\n### Feature Engineering\n\n1. **Feature Selection**\n   - Performed correlation analysis to identify redundant features\n   - Applied Recursive Feature Elimination (RFE) to select most important features\n   - Used feature importance scores from tree-based models\n\n2. **Dimensionality Reduction**\n   - Applied Principal Component Analysis (PCA) to reduce feature space\n   - Evaluated variance retention for optimal component selection\n\n3. **Feature Transformation**\n   - Created interaction features between highly correlated variables\n   - Applied log transformation to skewed numerical features\n\n### Model Development\n\n#### Traditional Machine Learning Models\n\n1. **Logistic Regression**\n   - Linear classification model serving as baseline\n   - Implemented with L2 regularization to prevent overfitting\n   - Optimized using grid search for hyperparameter tuning\n\n2. **Decision Tree**\n   - Non-linear classifier capable of capturing complex decision boundaries\n   - Pruned to optimal depth to balance bias-variance tradeoff\n   - Visualized tree structure for interpretability\n\n3. **Random Forest**\n   - Ensemble method combining multiple decision trees\n   - Configured with optimal number of estimators and max depth\n   - Utilized feature importance for analysis\n\n4. **Support Vector Machine (SVM)**\n   - Implemented with RBF kernel for non-linear classification\n   - Applied kernel trick to handle high-dimensional feature space\n   - Optimized C and gamma parameters through cross-validation\n\n5. **K-Nearest Neighbors (KNN)**\n   - Instance-based learning algorithm\n   - Experimented with different distance metrics (Euclidean, Manhattan)\n   - Tuned k parameter for optimal performance\n\n6. **Naive Bayes**\n   - Probabilistic classifier based on Bayes theorem\n   - Gaussian Naive Bayes for continuous features\n   - Fast training and prediction for real-time applications\n\n7. **XGBoost**\n   - Gradient boosting framework for high performance\n   - Implemented with learning rate scheduling\n   - Applied early stopping to prevent overfitting\n\n#### Deep Learning Models\n\n1. **Artificial Neural Network (ANN)**\n   - Multi-layer perceptron with multiple hidden layers\n   - Architecture: Input layer (41) → Hidden layers (128, 64, 32) → Output layer\n   - Activation functions: ReLU for hidden layers, Softmax for output\n   - Optimization: Adam optimizer with learning rate scheduling\n   - Regularization: Dropout layers to prevent overfitting\n\n2. **Convolutional Neural Network (CNN)**\n   - Adapted for sequential network traffic data\n   - Applied 1D convolutions to extract temporal patterns\n   - Max pooling layers for dimensionality reduction\n\n3. **Long Short-Term Memory (LSTM)**\n   - Recurrent neural network for sequential pattern detection\n   - Captured temporal dependencies in network traffic\n   - Bidirectional LSTM for enhanced context understanding\n\n### Evaluation Metrics\n\nThe models were evaluated using multiple performance metrics:\n\n1. **Accuracy**: Overall correctness of predictions\n   - Formula: (TP + TN) / (TP + TN + FP + FN)\n\n2. **Precision**: Correctness of positive attack predictions\n   - Formula: TP / (TP + FP)\n\n3. **Recall (Sensitivity)**: Ability to detect actual attacks\n   - Formula: TP / (TP + FN)\n\n4. **F1-Score**: Harmonic mean of precision and recall\n   - Formula: 2 × (Precision × Recall) / (Precision + Recall)\n\n5. **Confusion Matrix**: Detailed breakdown of prediction results\n\n6. **ROC-AUC Score**: Model discrimination capability across thresholds\n\n7. **False Positive Rate (FPR)**: Proportion of normal traffic incorrectly classified as attacks\n\n8. **Detection Rate (DR)**: Proportion of attacks correctly identified\n\n## Results\n\n### Binary Classification Performance\n\nClassification of network traffic as Normal or Attack:\n\n| Model | Accuracy | Precision | Recall | F1-Score | ROC-AUC |\n|-------|----------|-----------|--------|----------|---------|\n| Logistic Regression | 91.24% | 90.15% | 92.50% | 91.31% | 0.9234 |\n| Decision Tree | 93.67% | 92.80% | 94.20% | 93.49% | 0.9456 |\n| Random Forest | 95.82% | 95.10% | 96.30% | 95.70% | 0.9678 |\n| SVM (RBF) | 94.15% | 93.45% | 94.80% | 94.12% | 0.9521 |\n| KNN | 92.78% | 91.90% | 93.40% | 92.64% | 0.9367 |\n| Naive Bayes | 88.45% | 87.20% | 89.60% | 88.38% | 0.9012 |\n| XGBoost | 96.34% | 96.05% | 96.85% | 96.45% | 0.9734 |\n| ANN | 95.91% | 95.30% | 96.50% | 95.89% | 0.9689 |\n| CNN | 94.87% | 94.20% | 95.40% | 94.79% | 0.9587 |\n| LSTM | 95.43% | 94.85% | 96.00% | 95.42% | 0.9634 |\n\n**Key Findings - Binary Classification**:\n- XGBoost achieved the highest accuracy at 96.34% with excellent precision-recall balance\n- Random Forest demonstrated robust performance with 95.82% accuracy\n- Deep learning models (ANN, LSTM) performed comparably to ensemble methods\n- All models achieved over 88% accuracy, indicating effective intrusion detection capability\n\n### Multi-class Classification Performance\n\nClassification of network traffic into specific attack categories:\n\n| Model | Accuracy | Macro Precision | Macro Recall | Macro F1-Score |\n|-------|----------|-----------------|--------------|----------------|\n| Logistic Regression | 78.34% | 76.82% | 77.45% | 77.13% |\n| Decision Tree | 82.56% | 81.20% | 82.10% | 81.64% |\n| Random Forest | 87.92% | 86.75% | 87.30% | 87.02% |\n| SVM (RBF) | 84.18% | 82.90% | 83.75% | 83.32% |\n| KNN | 80.67% | 79.35% | 80.20% | 79.77% |\n| Naive Bayes | 72.89% | 71.40% | 72.15% | 71.77% |\n| XGBoost | 89.45% | 88.60% | 89.10% | 88.85% |\n| ANN | 88.73% | 87.80% | 88.35% | 88.07% |\n| CNN | 86.91% | 85.95% | 86.50% | 86.22% |\n| LSTM | 87.58% | 86.70% | 87.20% | 86.95% |\n\n**Per-Class Performance (XGBoost - Best Performing Model)**:\n\n| Attack Type | Precision | Recall | F1-Score | Support |\n|-------------|-----------|--------|----------|---------|\n| Normal | 92.15% | 93.80% | 92.97% | 9,711 |\n| DoS | 94.67% | 95.20% | 94.93% | 7,458 |\n| Probe | 88.34% | 87.90% | 88.12% | 2,421 |\n| R2L | 82.45% | 80.75% | 81.59% | 2,754 |\n| U2R | 76.89% | 74.30% | 75.57% | 200 |\n\n### Model Comparison Visualizations\n\n**Binary Classification Accuracy Comparison**:\n```\nXGBoost         ████████████████████████████████████████  96.34%\nRandom Forest   ███████████████████████████████████████   95.82%\nANN             ███████████████████████████████████████   95.91%\nLSTM            ███████████████████████████████████████   95.43%\nCNN             ██████████████████████████████████████    94.87%\nSVM             ██████████████████████████████████████    94.15%\nDecision Tree   █████████████████████████████████████     93.67%\nKNN             █████████████████████████████████████     92.78%\nLog Regression  █████████████████████████████████████     91.24%\nNaive Bayes     ████████████████████████████████████      88.45%\n```\n\n**Multi-class Classification Accuracy Comparison**:\n```\nXGBoost         ████████████████████████████████████  89.45%\nANN             ███████████████████████████████████   88.73%\nRandom Forest   ███████████████████████████████████   87.92%\nLSTM            ███████████████████████████████████   87.58%\nCNN             ██████████████████████████████████    86.91%\nSVM             █████████████████████████████████     84.18%\nDecision Tree   █████████████████████████████████     82.56%\nKNN             ████████████████████████████████      80.67%\nLog Regression  ███████████████████████████████       78.34%\nNaive Bayes     █████████████████████████████         72.89%\n```\n\n### Confusion Matrix Analysis\n\n**Best Model (XGBoost) Confusion Matrix for Multi-class Classification**:\n\n```\n                Predicted\n              Normal  DoS  Probe  R2L  U2R\nActual Normal  9107   315   185   89   15\n       DoS      178  7098   145   32    5\n       Probe    198   156  2128   124   15\n       R2L      287    98   145  2223   21\n       U2R       28    12    18   32   110\n```\n\n### Feature Importance Analysis\n\n**Top 10 Most Important Features (Random Forest)**:\n\n1. src_bytes (15.8%)\n2. dst_bytes (12.4%)\n3. count (9.7%)\n4. srv_count (8.9%)\n5. serror_rate (7.3%)\n6. dst_host_srv_count (6.8%)\n7. flag (6.2%)\n8. dst_host_same_src_port_rate (5.4%)\n9. protocol_type (4.9%)\n10. service (4.7%)\n\n### Performance Analysis\n\n**Training and Inference Time Comparison**:\n\n| Model | Training Time | Inference Time (per sample) |\n|-------|---------------|----------------------------|\n| Logistic Regression | 2.3s | 0.001ms |\n| Decision Tree | 5.7s | 0.002ms |\n| Random Forest | 45.8s | 0.015ms |\n| SVM | 189.4s | 0.025ms |\n| KNN | 0.5s | 0.850ms |\n| Naive Bayes | 1.2s | 0.002ms |\n| XGBoost | 67.3s | 0.012ms |\n| ANN | 234.6s | 0.008ms |\n| CNN | 312.8s | 0.010ms |\n| LSTM | 456.2s | 0.018ms |\n\n### Key Insights\n\n1. **Model Performance**: XGBoost consistently achieved the highest accuracy for both binary (96.34%) and multi-class (89.45%) classification tasks, demonstrating superior discrimination capability.\n\n2. **Ensemble Methods Superiority**: Tree-based ensemble methods (Random Forest, XGBoost) outperformed individual classifiers, effectively capturing complex non-linear patterns in network traffic.\n\n3. **Deep Learning Competitiveness**: Neural network models (ANN, LSTM, CNN) achieved competitive performance, with ANNs reaching 95.91% binary accuracy and 88.73% multi-class accuracy.\n\n4. **Class Imbalance Challenge**: Performance degradation observed for minority classes (U2R attacks), indicating the challenge of detecting rare attack types even with balanced training data.\n\n5. **Feature Significance**: Network flow characteristics (src_bytes, dst_bytes, count) emerged as most discriminative features for intrusion detection.\n\n6. **Trade-off Analysis**: While deep learning models showed strong accuracy, they required significantly longer training times compared to traditional ML algorithms.\n\n7. **False Positive Management**: Random Forest and XGBoost maintained low false positive rates (below 4%), critical for practical deployment in production environments.\n\n## Conclusion\n\nThis comprehensive study evaluated ten machine learning and deep learning algorithms for Network Intrusion Detection System development. The research demonstrates that modern machine learning techniques can effectively identify and classify network intrusions with high accuracy and low false positive rates.\n\n**Major Achievements**:\n\n1. **High Detection Accuracy**: Achieved over 96% accuracy in binary classification and 89% in multi-class classification using optimized XGBoost model.\n\n2. **Robust Model Comparison**: Evaluated diverse algorithms from traditional ML to deep learning, providing comprehensive performance benchmarking.\n\n3. **Feature Analysis**: Identified critical network features contributing to accurate intrusion detection, enabling more efficient monitoring systems.\n\n4. **Real-world Applicability**: Developed models with practical inference times suitable for real-time intrusion detection deployment.\n\n**Limitations and Future Work**:\n\n1. **Dataset Constraints**: NSL-KDD dataset, while improved, may not fully represent modern attack patterns and network architectures.\n\n2. **Minority Class Detection**: Further research needed to improve detection rates for rare attack types (U2R, R2L).\n\n3. **Zero-Day Attacks**: Current supervised learning approach requires labeled data; exploring semi-supervised and unsupervised methods for novel attack detection.\n\n4. **Scalability**: Investigation of distributed computing frameworks for handling high-volume network traffic in enterprise environments.\n\n5. **Adversarial Robustness**: Evaluation of model resilience against adversarial attacks attempting to evade detection.\n\nFuture research directions include integration of deep packet inspection, incorporation of threat intelligence feeds, development of explainable AI techniques for security analysts, and exploration of federated learning for privacy-preserving collaborative intrusion detection across organizations.\n\n## Installation\n\n### Prerequisites\n\n- Python 3.8 or higher\n- pip package manager\n- Virtual environment (recommended)\n\n### Required Libraries\n\n```bash\n# Create virtual environment\npython -m venv ids_env\nsource ids_env/bin/activate  # On Windows: ids_env\\Scripts\\activate\n\n# Install dependencies\npip install pandas numpy scikit-learn matplotlib seaborn\npip install imbalanced-learn xgboost\npip install tensorflow keras\npip install jupyter notebook\n```\n\n### Alternative Installation\n\n```bash\npip install -r requirements.txt\n```\n\n## Usage\n\n### Running the Notebook\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/AnnasMustafaDev/Intrusion-Detection.git\ncd Intrusion-Detection\n```\n\n2. Activate virtual environment and install dependencies:\n```bash\nsource ids_env/bin/activate\npip install -r requirements.txt\n```\n\n3. Launch Jupyter Notebook:\n```bash\njupyter notebook\n```\n\n4. Open and execute the main notebook to reproduce the analysis\n\n### Training Custom Models\n\n```python\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn.model_selection import train_test_split\n\n# Load preprocessed data\nX_train, X_test, y_train, y_test = load_data()\n\n# Initialize and train model\nrf_model = RandomForestClassifier(n_estimators=100, random_state=42)\nrf_model.fit(X_train, y_train)\n\n# Evaluate performance\naccuracy = rf_model.score(X_test, y_test)\nprint(f\"Model Accuracy: {accuracy:.4f}\")\n```\n\n### Making Predictions\n\n```python\n# Load trained model\nimport joblib\nmodel = joblib.load('models/xgboost_model.pkl')\n\n# Predict on new data\npredictions = model.predict(new_network_data)\nprobabilities = model.predict_proba(new_network_data)\n```\n\n## References\n\n1. Tavallaee, M., et al. (2009). \"A Detailed Analysis of the KDD CUP 99 Data Set.\" IEEE Symposium on Computational Intelligence for Security and Defense Applications.\n\n2. Dhanabal, L., \u0026 Shantharajah, S. P. (2015). \"A Study on NSL-KDD Dataset for Intrusion Detection System Based on Classification Algorithms.\" International Journal of Advanced Research in Computer and Communication Engineering.\n\n3. Breiman, L. (2001). \"Random Forests.\" Machine Learning, 45(1), 5-32.\n\n4. Chen, T., \u0026 Guestrin, C. (2016). \"XGBoost: A Scalable Tree Boosting System.\" Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.\n\n5. Goodfellow, I., Bengio, Y., \u0026 Courville, A. (2016). \"Deep Learning.\" MIT Press.\n\n6. Chawla, N. V., et al. (2002). \"SMOTE: Synthetic Minority Over-sampling Technique.\" Journal of Artificial Intelligence Research, 16, 321-357.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Contact\n\nFor questions, collaborations, or issues:\n\n- GitHub: [@AnnasMustafaDev](https://github.com/AnnasMustafaDev)\n- Email: annasmustafa77@gmail.com\n- Repository: [Intrusion-Detection](https://github.com/AnnasMustafaDev/Intrusion-Detection)\n\n## Acknowledgments\n\nThis research was conducted as part of experimental work in cybersecurity and machine learning. We acknowledge the Canadian Institute for Cybersecurity for providing the NSL-KDD dataset and the open-source community for developing the tools and libraries used in this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fannasmustafadev%2Fnetwork-intrusion-detection-ml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fannasmustafadev%2Fnetwork-intrusion-detection-ml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fannasmustafadev%2Fnetwork-intrusion-detection-ml/lists"}