Spaces:
Sleeping
Sleeping
| from flask import Flask, render_template, request | |
| import pandas as pd | |
| import pickle | |
| import os | |
| app = Flask(__name__) | |
| def index(): | |
| prediction = None | |
| error = None | |
| if request.method == 'POST': | |
| try: | |
| # Load model | |
| if os.path.exists('static/model.pkl'): | |
| with open('static/model.pkl', 'rb') as f: | |
| model = pickle.load(f) | |
| # Get form data | |
| features = [ | |
| float(request.form['age']), | |
| float(request.form['mood']), | |
| float(request.form['sleep']), | |
| float(request.form['stress']), | |
| float(request.form['anxiety']) | |
| ] | |
| # Predict | |
| pred = model.predict([features])[0] | |
| prob = model.predict_proba([features])[0][1] * 100 | |
| message = "Potential mental health issue" if pred == 1 else "No significant concern" | |
| prediction = {'message': message, 'probability': f"{prob:.1f}"} | |
| else: | |
| error = "Model not found. Please run train.py." | |
| except Exception as e: | |
| error = f"Error processing input: {str(e)}" | |
| return render_template('index.html', prediction=prediction, error=error) | |
| if __name__ == '__main__': | |
| app.run(host='0.0.0.0', port=7860, debug=False) # Use port 7860 for HF Spaces, disable debug for production |