Na-Rajan's picture
Update README.md
dea39de verified
metadata
license: mit

Model Name CyberAttackClassifier V1 – A Random Forest-based model for classifying cybersecurity attacks using network and system log data.

πŸ“– Overview CyberAttackClassifier V1 is a supervised machine learning model trained to classify various types of cybersecurity attacks based on structured log and alert data. It uses a Random Forest Classifier trained on a feature-selected dataset, achieving near-perfect performance across multiple evaluation metrics.

πŸ” Intended Uses Threat Detection: Automatically classify incoming events or logs into known attack categories.

Security Monitoring: Enhance SIEM systems with predictive capabilities.

Feature Analysis: Identify key indicators and patterns associated with different attack types.

Incident Response Prioritization: Quickly assess and categorize threats for faster triage.

🧠 Model Architecture Attribute Value Model Type Random Forest Classifier Framework scikit-learn Input Shape (raw) (100000, 197) Input Shape (selected) (100000, 50) Feature Selection SelectKBest (f_classif) Categorical Imputation 'Unknown' for missing values Encoding One-hot for categorical features Scaling StandardScaler for numerical features πŸ“š Training Details Dataset Size: 100,000 samples

Missing Values: Imputed in object-type columns

Feature Selection: Top 50 features selected using ANOVA F-test

Train/Test Split: Standard split (e.g., 80/20 or stratified)

πŸ“ˆ Evaluation Metrics Metric Value Accuracy 0.9980 Precision ~0.9980 Recall ~0.9980 F1-score ~0.9980 βœ… Note: These metrics indicate strong performance across all attack types, with minimal misclassifications.

πŸ“Š Confusion Matrix & Classification Report Confusion Matrix: Dominant diagonal, indicating high true positive rates

Classification Report: High precision, recall, and F1-scores for most attack classes

πŸ” Feature Importance Top features identified using Random Forest’s feature_importances_ attribute

Further analysis of top 10–15 features recommended to understand key attack indicators

Feature names available via mapping from SelectKBest output

πŸš€ How to Use python from cyberattackclassifier import AttackModel

model = AttackModel.load_pretrained("your-huggingface-username/cyberattackclassifier-v1") input_data = { "Firewall Logs": "Unknown", "Proxy Information": "Blocked", "IDS/IPS Alerts": "High", ... } prediction = model.predict(input_data) ⚠️ Limitations Imbalanced Data Risk: Ensure attack types are well-represented in training data

Feature Drift: Model may degrade if log formats or attack patterns evolve

Interpretability: Random Forests are less interpretable than linear models; use feature importance tools

πŸ“„ License Apache 2.0 or MIT License (choose based on your preference)

πŸ‘€ Author Created by [Your Name or Organization]

πŸ“š Recommendations for Open-Sourcing Include preprocessing pipeline (imputation, encoding, scaling)

Provide training and evaluation scripts

Share feature importance analysis and mapping

Document attack type taxonomy used in classification