--- license: mit --- # ML Assignment 3 – Maha Qaiser Dataset: California Housing from sklearn.datasets ## File Description - `best_model.joblib`: Mini-Batch Linear Regression model - `scaler.joblib`: StandardScaler object to preprocess input features - `inference.py`: Script to load the model + scaler and run predictions with user input ## Model Overview - **Model Type:** Mini-Batch Linear Regression - **Features Used:** - Avg. Rooms - Avg. Bedrooms - Population - Household - Median Income - Latitude - Longitude - Housing Median Age - **Regularization:** L2 (Ridge) - **Early Stopping:** Applied during training ## How to Run Inference ### 1. Clone the repository or download the files: ```bash git clone https://huggingface.co/mahaqj/ml_assignment_3 cd ml_assignment_3 ``` ### 2. Install dependencies: ```bash pip install joblib numpy scikit-learn huggingface_hub ``` ### 3. Run the script: ```bash python inference.py ``` You’ll be prompted to enter the following features: - Avg. Rooms - Avg. Bedrooms - Population - Household - Median Income - Latitude - Longitude - Housing Median Age The model will return the predicted housing value. ## Loading the Model in Python ```python import joblib import requests from io import BytesIO # urls to both model and scaler model_url = "https://huggingface.co/mahaqj/ml_assignment_3/resolve/main/best_model.joblib" scaler_url = "https://huggingface.co/mahaqj/ml_assignment_3/resolve/main/scaler.joblib" # download and load model model_bytes = BytesIO(requests.get(model_url).content) model = joblib.load(model_bytes) # download and load scaler scaler_bytes = BytesIO(requests.get(scaler_url).content) scaler = joblib.load(scaler_bytes) ```