How saidattaputta/homevalue-ai works
HomeValue-AI is a residential-price prediction product with Streamlit interfaces and a FastAPI inference backend. Users enter one property's features or upload a batch for prediction; API routes pass the resulting data to the prediction pipeline, which prepares features, applies the saved preprocessor and Ridge model, and returns prices. The repository also documents a training and explainability workflow, and the dashboard presents model metrics and SHAP outputs. UI/API wiring is supported by the README; some training-stage connections are documented rather than verified in sampled source.
Main entry points: pipeline.py Prediction Pipeline · shap_explainability.py SHAP Analysis · 4_Model_Insights.py Insights Dashboard · 2_Predict.py Single Prediction
Components 25
Streamlit Dashboard
- Single Prediction
app/pages/2_Predict.py - Batch Prediction
app/pages/3_Batch_Predict.py - Property Form
app/components/forms.py - Home Dashboard
app/1_Home.py
Inference API
- FastAPI Service
api/main.py - Prediction Routes
api/routes.py - Request Schemas
api/schemas.py
Prediction Pipeline
- Prediction Pipeline
src/pipelines/pipeline.py - Inference Cleaning
src/data/data_cleaning.py - Feature Engineering
src/features/feature_engineering.py - Saved Preprocessor
artifacts/preprocessor.pkl - Ridge Model
models/best_model.pkl - Category Frequencies
artifacts/categorical_frequencies.json
Model Development
- Raw Housing Data
data/raw - Data Cleaning
src/data/data_cleaning.py - Feature Engineering
src/features/feature_engineering.py - Preprocessing
src/preprocessing/preprocessing.py - Model Training
src/models/model_training.py - Hyperparameter Tuning
src/models/hyperparameter_tuning.py
Model Insights
- SHAP Analysis
src/visualization/shap_explainability.py - Insights Dashboard
app/pages/4_Model_Insights.py - Model Comparison
artifacts/comparision.csv - SHAP Outputs
artifacts
Other components
- User
- REST API
Connections 26
- User → Home Dashboard: opens
- User → Single Prediction: requests
- User → Batch Prediction: uploads CSV
- Single Prediction → Property Form: collects features
- Single Prediction → REST API: submits prediction
- Batch Prediction → REST API: submits batch
- REST API → FastAPI Service: REST request
- FastAPI Service → Prediction Routes: registers routes
- Prediction Routes → Request Schemas: validates requests
- Prediction Routes → Prediction Pipeline: calls predict
- Prediction Pipeline → Inference Cleaning: cleans features
- Prediction Pipeline → Feature Engineering: engineers features
- Prediction Pipeline → Saved Preprocessor: loads and transforms
- Prediction Pipeline → Ridge Model: loads and predicts
- Prediction Pipeline → Category Frequencies: reads frequencies
- Raw Housing Data → Data Cleaning: feeds documented workflow
- Data Cleaning → Feature Engineering: clean then engineer
- Feature Engineering → Preprocessing: engineer then preprocess
- Preprocessing → Model Training: prepares training data
- Model Training → Hyperparameter Tuning: tunes model
- Insights Dashboard → Model Comparison: reads metrics
- Insights Dashboard → SHAP Outputs: displays explanations
- Insights Dashboard → SHAP Analysis: SHAP capability
- SHAP Analysis → Saved Preprocessor: loads preprocessor
- SHAP Analysis → Ridge Model: loads model
- SHAP Analysis → SHAP Outputs: writes plots and values