hiring_assessment/backend/app/services/house_price_predictor.py
2025-02-19 11:59:11 +01:00

35 lines
1.1 KiB
Python

import random
from typing import List, Tuple
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) -> Tuple[float, float, List[float]]:
"""
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 predicted_price, confidence_score, similar_listings