hiring_assessment/backend/app/services/house_price_predictor.py
Jacob Windsor 851906a029 Fix import
2025-02-19 13:27:18 +01:00

45 lines
1.2 KiB
Python

import random
from typing import List
from dataclasses import dataclass
@dataclass
class Prediction:
predicted_price: float
confidence_score: float
similar_listings: List[float]
class HousePricePredictor:
"""
Mock ML model that predicts house prices.
In a real scenario, this would load a trained model.
"""
def __init__(self):
# Mock initialization - in reality would load model weights
pass
def predict(self, square_feet: float, bedrooms: int, bathrooms: float) -> Prediction:
"""
Mock prediction method that returns:
- predicted price
- confidence score
- similar listing prices
"""
# Mock prediction logic
base_price = square_feet * 200
bedroom_value = bedrooms * 25000
bathroom_value = bathrooms * 15000
predicted_price = base_price + bedroom_value + bathroom_value
# Add some randomness to make it interesting
confidence_score = random.uniform(0.8, 0.99)
similar_listings = [
predicted_price * random.uniform(0.9, 1.1)
for _ in range(3)
]
return Prediction(predicted_price, confidence_score, similar_listings)