How madhavkumaryadav/networksecurity works
This repository implements a phishing and malicious-network binary classifier with a staged training pipeline and CSV batch prediction API. The documented user workflow is to submit feature data and receive row-level predictions; the sampled runtime implements that through FastAPI in app.py, despite the README describing a Streamlit interface. Training is orchestrated separately through ingestion, validation, transformation, and model training. Validation and transformation source were not sampled, so their internal behavior and any unverified integrations are not expanded here.
Main entry points: app.py FastAPI routes · training_Pipeline.py Training pipeline · model_trainer.py Model trainer · data_ingestion.py Data ingestion
Components 19
Prediction API
- FastAPI routes
app.py - CSV upload
app.py - HTML results
templates/table.html
Model Training
- Training pipeline
networksecurity/pipeline/training_Pipeline.py - Data ingestion
networksecurity/components/data_ingestion.py - Data validation
networksecurity/components/data_validation.py - Data transformation
networksecurity/components/data_transformation.py
Data and Artifacts
- Feature schema
data_schema/schema.yaml - MongoDB
- Feature store
networksecurity/components/data_ingestion.py - Pipeline artifacts
networksecurity/entity/artifact_entity.py - Saved model files
final_models/models.pkl - Saved preprocessor
final_models/preprocessor.pkl - Serialization utilities
networksecurity/utils/main_utils/Utils.py
Model Evaluation
- Model trainer
networksecurity/components/model_trainer.py - Classification metrics
networksecurity/utils/ml_utils/metric/classification_metric.py - MLflow tracking
networksecurity/components/model_trainer.py - Prediction estimator
networksecurity/utils/ml_utils/model/estimator.py
Other components
- CSV user
Connections 24
- CSV user → FastAPI routes: submits CSV
- FastAPI routes → CSV upload: reads upload
- FastAPI routes → Prediction estimator: invokes prediction
- FastAPI routes → Saved model files: loads model
- FastAPI routes → Saved preprocessor: loads preprocessor
- Prediction estimator → HTML results: returns predictions
- FastAPI routes → HTML results: renders HTML
- FastAPI routes → Training pipeline: starts training
- Training pipeline → Data ingestion: starts ingestion
- Training pipeline → Data validation: starts validation
- Training pipeline → Data transformation: starts transformation
- Training pipeline → Model trainer: starts training
- Data ingestion → MongoDB: reads records
- Data ingestion → Feature store: writes CSV
- Data ingestion → Pipeline artifacts: returns paths
- Training pipeline → Pipeline artifacts: passes stage outputs
- Data validation → Feature schema: validates against
- Model trainer → Classification metrics: calculates scores
- Model trainer → MLflow tracking: logs metrics and model
- Model trainer → Serialization utilities: saves model
- Serialization utilities → Saved model files: writes pickle
- Model trainer → Pipeline artifacts: returns metrics and path
- Prediction estimator → Saved preprocessor: transforms with
- Prediction estimator → Saved model files: predicts with