How 000jd/landslidepredictor--solution-for-landslide-risk-prediction works
Landslide Predictor combines a browser-based risk assessment interface, a FastAPI inference service, and an offline ML training/evaluation pipeline. The main user flow is entering terrain, environmental, and geological inputs, selecting a model, requesting a prediction, and viewing risk results. Training separately ingests and preprocesses data, fits a selected model with optional tuning, saves it, and evaluates it. The graph includes documented capabilities and source-index-supported links; unsampled frontend and server wiring is shown only where documented or marked unverified.
Main entry points: Predict.tsx Prediction form · run_pipeline.py Training entrypoint · train.py Training orchestration · features Feature inputs
Components 26
Risk assessment UI
- Frontend router
frontend/src/App.tsx - Prediction form
frontend/src/pages/Predict.tsx - Feature inputs
frontend/src/components/features - Feature card
frontend/src/components/ui/FeatureCard.tsx - Value slider
frontend/src/components/ui/ValueSlider.tsx - Input guidance
frontend/src/components/ui/InfoTooltip.tsx - Model selector
frontend/src/components/ModelSelector.tsx - API client
frontend/src/services/apiService.ts - Risk results
frontend/src/pages/Results.tsx
Prediction service
- FastAPI server
server.py - Prediction endpoints
api/routers/predictions.py - Request schemas
api/models/schemas.py - Inference service
api/services/model_service.py - Saved model files
Model training
- Training entrypoint
run_pipeline.py - Data ingestion
src/data/data_loader.py - Preprocessing split
src/data/data_pipeline.py - Training orchestration
src/train.py - Hyperparameter tuning
src/optimize/tuner.py - Model evaluation
src/evaluation.py - Model persistence
src/utils.py
Model implementations
- Model factory
src/models/model_factory.py - Model contract
src/models/base_model.py - Regressor models
src/models - Model configuration
src/config/model_config.py
Other components
- Risk assessor
Connections 27
- Risk assessor → Prediction form: enters inputs
README.md - Frontend router → Prediction form: routes to
frontend/src/App.tsx - Frontend router → Risk results: routes to
frontend/src/App.tsx - Feature inputs → Feature card: uses
frontend/src/components/features/EnvironmentalFeatures.tsx - Feature inputs → Value slider: uses
frontend/src/components/features/EnvironmentalFeatures.tsx - Feature inputs → Input guidance: uses
frontend/src/components/features/EnvironmentalFeatures.tsx - Prediction form → Feature inputs: collects features
- Prediction form → Model selector: selects model
- Prediction form → API client: requests prediction
- API client → FastAPI server: calls API
- FastAPI server → Prediction endpoints: registers routes
server.py - Prediction endpoints → Request schemas: validates payload
api/routers/predictions.py - Prediction endpoints → Inference service: dispatches prediction
api/routers/predictions.py - Inference service → Saved model files: loads model
api/services/model_service.py - Risk results → Risk assessor: shows risk
- Training entrypoint → Data ingestion: ingests data
run_pipeline.py - Data ingestion → Preprocessing split: preprocesses and splits
src/data/data_loader.py - Training entrypoint → Training orchestration: trains model
run_pipeline.py - Training orchestration → Model factory: creates model
src/train.py - Training orchestration → Hyperparameter tuning: tunes optionally
src/train.py - Hyperparameter tuning → Regressor models: optimizes trials
- Model factory → Regressor models: selects implementation
src/models/model_factory.py - Regressor models → Model contract: implements
src/models/random_forest.py - Model factory → Model configuration: reads configuration
src/models/model_factory.py - Training orchestration → Model persistence: saves model
src/train.py - Training entrypoint → Model evaluation: scores test predictions
run_pipeline.py - Training entrypoint → Model configuration: configures run
run_pipeline.py