simran40's picture
Upload 7 files
b5e9f18 verified
from flask import Flask, render_template, request
import pandas as pd
from sklearn.tree import DecisionTreeRegressor
import joblib
import os
app = Flask(__name__)
MODEL_PATH = "model.joblib"
DATA_PATH = "car.csv"
# Train the model once and save
def train_model():
data = pd.read_csv(DATA_PATH)
x = data.iloc[:, [0, 1, 2, 3]].values
y = data.iloc[:, -1].values
model = DecisionTreeRegressor()
model.fit(x, y)
joblib.dump(model, MODEL_PATH)
# Ensure model is trained before running
if not os.path.exists(MODEL_PATH):
train_model()
model = joblib.load(MODEL_PATH)
@app.route('/')
def carpage():
return render_template("car.html", data1=None, data2=None)
@app.route('/Car', methods=["POST"])
def car():
try:
Fueltype = int(request.form.get("fueltype"))
Enginetype = int(request.form.get("enginetype"))
Enginesize = float(request.form.get("enginesize"))
Horsepower = float(request.form.get("horsepower"))
predict_price = model.predict(
[[Fueltype, Enginetype, Enginesize, Horsepower]])
return render_template(
"car.html",
data1=round(predict_price[0], 2),
data2=round(predict_price[0] * 82.04, 2)
)
except Exception as e:
return f"An error occurred: {e}", 400
if __name__ == '__main__':
app.run(debug=False, host='0.0.0.0', port=5000)