from flask import Flask, request, jsonify, render_template_string
import joblib
import numpy as np
# Load trained model
model = joblib.load('house_price_model.pkl')
app = Flask(__name__)
# Simple HTML UI
HTML_PAGE = """
House Price Predictor
House Price Predictor
{% if prediction %}
Predicted Price: ₹ {{ prediction }} Lakhs
{% endif %}
"""
@app.route('/', methods=['GET', 'POST'])
def home():
prediction = None
if request.method == 'POST':
area = float(request.form['area'])
bath = float(request.form['bath'])
bhk = float(request.form['bhk'])
location = float(request.form['location'])
features = np.array([[area, bath, bhk, location]])
pred = model.predict(features)
prediction = round(np.exp(pred[0]), 2)
return render_template_string(HTML_PAGE, prediction=prediction)
if __name__ == "__main__":
import os
port = int(os.environ.get("PORT", 7860))
app.run(host="0.0.0.0", port=port)