# mahammedsathyala/house-price-prediction-ibm-skillsbuild architecture

> Architecture diagram of the GitHub repository mahammedsathyala/house-price-prediction-ibm-skillsbuild, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild
- Repository: https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild

## Overview

This repository is a King County house-price analytics and regression project. Its main workflow profiles and cleans transaction data, explores price patterns, trains and evaluates regression models, then serves interactive price estimates and analytical views through Streamlit. The graph also shows the model and report artifacts shared by training and the app. The app excerpt is partial, so its documented dashboard, EDA gallery, and insights are represented without assuming unshown internal call paths.

Main entry points: [`app/streamlit_app.py`](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/app/streamlit_app.py) (Streamlit application), [`src/model_training.py`](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/src/model_training.py) (Model training and evaluation), [`main.py`](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/main.py) (Training orchestrator), [`src/data_cleaning.py`](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/src/data_cleaning.py) (Cleaning and features)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_analysis["Data analysis"]
  node_rawdata["Housing data<br/>[data.csv]"]
  node_understanding["Data profiling"]
  node_cleaning["Cleaning and features<br/>[data_cleaning.py]"]
  node_eda["EDA charts<br/>[eda.py]"]
end

subgraph group_modeling["Modeling"]
  node_pipeline["Training orchestrator<br/>[main.py]"]
  node_training["Model training and evaluation<br/>[model_training.py]"]
end

subgraph group_app["Interactive application"]
  node_streamlit["Streamlit application<br/>[streamlit_app.py]"]
end

subgraph group_artifacts["Runtime artifacts"]
  node_model["Best model<br/>[best_model.pkl]"]
  node_features["Feature columns"]
  node_metrics["Evaluation results<br/>[eval_results.json]"]
  node_importance["Feature importance"]
  node_visualizations["Generated charts"]
end

node_user(("Home seeker"))

node_user -->|"uses"| node_streamlit
node_pipeline -->|"profiles"| node_rawdata
node_pipeline -->|"calls"| node_understanding
node_pipeline -->|"calls"| node_cleaning
node_cleaning -->|"reads"| node_rawdata
node_pipeline -->|"calls"| node_eda
node_pipeline -->|"calls"| node_training
node_training -->|"saves"| node_model
node_training -->|"saves"| node_features
node_training -->|"saves"| node_metrics
node_training -->|"saves"| node_importance
node_training -->|"writes"| node_visualizations
node_eda -->|"writes"| node_visualizations
node_streamlit -->|"loads data"| node_cleaning
node_streamlit -->|"loads and predicts"| node_model
node_streamlit -->|"loads"| node_features
node_streamlit -->|"loads"| node_metrics
node_streamlit -->|"loads"| node_importance
node_streamlit -->|"displays"| node_visualizations

click node_rawdata "https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/data/data.csv"
click node_understanding "https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/src/data_understanding.py"
click node_cleaning "https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/src/data_cleaning.py"
click node_eda "https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/src/eda.py"
click node_pipeline "https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/main.py"
click node_training "https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/src/model_training.py"
click node_streamlit "https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/app/streamlit_app.py"
click node_model "https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/models/best_model.pkl"
click node_features "https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/models/feature_columns.json"
click node_metrics "https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/models/eval_results.json"
click node_importance "https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/models/feature_importance.json"
click node_visualizations "https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/tree/main/visualizations"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_rawdata,node_understanding,node_cleaning,node_eda toneBlue
class node_pipeline,node_training toneAmber
class node_streamlit toneMint
class node_model,node_features,node_metrics,node_importance,node_visualizations toneRose
class node_user toneIndigo
```

## Components

### Data analysis

- [Housing data](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/data/data.csv): `data/data.csv`
- [Data profiling](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/src/data_understanding.py): `src/data_understanding.py`
- [Cleaning and features](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/src/data_cleaning.py): `src/data_cleaning.py`
- [EDA charts](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/src/eda.py): `src/eda.py`

### Modeling

- [Training orchestrator](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/main.py): `main.py`
- [Model training and evaluation](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/src/model_training.py): `src/model_training.py`

### Interactive application

- [Streamlit application](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/app/streamlit_app.py): `app/streamlit_app.py`

### Runtime artifacts

- [Best model](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/models/best_model.pkl): `models/best_model.pkl`
- [Feature columns](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/models/feature_columns.json): `models/feature_columns.json`
- [Evaluation results](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/models/eval_results.json): `models/eval_results.json`
- [Feature importance](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/blob/main/models/feature_importance.json): `models/feature_importance.json`
- [Generated charts](https://github.com/mahammedsathyala/house-price-prediction-ibm-skillsbuild/tree/main/visualizations): `visualizations`

### Other components

- **Home seeker**

## Connections

- Home seeker → Streamlit application: uses
- Training orchestrator → Housing data: profiles
- Training orchestrator → Data profiling: calls
- Training orchestrator → Cleaning and features: calls
- Cleaning and features → Housing data: reads
- Training orchestrator → EDA charts: calls
- Training orchestrator → Model training and evaluation: calls
- Model training and evaluation → Best model: saves
- Model training and evaluation → Feature columns: saves
- Model training and evaluation → Evaluation results: saves
- Model training and evaluation → Feature importance: saves
- Model training and evaluation → Generated charts: writes
- EDA charts → Generated charts: writes
- Streamlit application → Cleaning and features: loads data
- Streamlit application → Best model: loads and predicts
- Streamlit application → Feature columns: loads
- Streamlit application → Evaluation results: loads
- Streamlit application → Feature importance: loads
- Streamlit application → Generated charts: displays
