Spaces:
Sleeping
Sleeping
File size: 2,114 Bytes
275e79c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
from flask import Flask, request, render_template, jsonify
import joblib
import numpy as np
app = Flask(__name__)
# Load the trained model and scaler (update paths as necessary)
model = joblib.load("model_rf.joblib")
scaler = joblib.load("scaler.joblib")
@app.route("/")
def home():
return render_template("index.html")
@app.route("/predict", methods=["POST"])
def predict():
try:
# Expecting form data from the HTML template
CGPA = float(request.form.get("CGPA"))
Internships = int(request.form.get("Internships"))
Projects = int(request.form.get("Projects"))
Workshops_Certifications = int(request.form.get("Workshops_Certifications"))
AptitudeTestScore = float(request.form.get("AptitudeTestScore"))
SoftSkillRating = float(request.form.get("SoftSkillRating"))
ExtracurricularActivities = request.form.get("ExtracurricularActivities")
PlacementTraining = request.form.get("PlacementTraining")
SSC_Marks = float(request.form.get("SSC_Marks"))
HSC_Marks = float(request.form.get("HSC_Marks"))
# Convert categorical fields to numerical
extra_act = 1 if ExtracurricularActivities.lower() == "yes" else 0
placement_training = 1 if PlacementTraining.lower() == "yes" else 0
# Construct feature vector
features = [
CGPA,
Internships,
Projects,
Workshops_Certifications,
AptitudeTestScore,
SoftSkillRating,
extra_act,
placement_training,
SSC_Marks,
HSC_Marks,
]
# Scale features and make prediction
features_scaled = scaler.transform(np.array(features).reshape(1, -1))
prediction = model.predict(features_scaled)
result = "Placed" if prediction[0] == 1 else "Not Placed"
return render_template("index.html", prediction=result)
except Exception as e:
return render_template("index.html", prediction=f"Error: {e}")
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000, debug=True)
|