Spaces:
Build error
Build error
| from flask import Flask, render_template, request, jsonify | |
| from src.pipelines.prediction_pipeline import CustomData, PredictPipeline | |
| from src.exception import CustomException | |
| app = Flask(__name__) | |
| def index(): | |
| return render_template('index.html') | |
| def predict_route(): | |
| try: | |
| # Get the form data from the request | |
| data = request.form | |
| # Extract values safely from the incoming form data | |
| custom_data = CustomData( | |
| age=data.get("age"), | |
| sex=data.get("sex"), | |
| chest_pain_type=data.get("chestPainType"), | |
| resting_bp=data.get("restingBP"), | |
| cholesterol=data.get("cholesterol"), | |
| fasting_bs=data.get("fastingBS"), | |
| resting_ecg=data.get("restingECG"), | |
| max_hr=data.get("maxHR"), | |
| oldpeak=data.get("oldpeak"), | |
| exercise_angina=data.get("exerciseAngina"), | |
| st_slope=data.get("stSlope") | |
| ) | |
| # Convert to DataFrame | |
| input_df = custom_data.get_data_as_dataframe() | |
| # Create a PredictPipeline instance and make a prediction | |
| prediction_pipeline = PredictPipeline() | |
| prediction = prediction_pipeline.predict(input_df) | |
| # Condition to check if prediction equals 1 | |
| if prediction[0] == 1: | |
| result_message = "You are at moderate risk of experiencing a heart attack" | |
| else: | |
| result_message = "There are no immediate risk factors for a heart attack" | |
| # Pass the result message back to the template for display | |
| return render_template('index.html', results=result_message) | |
| except ValueError as ve: | |
| return jsonify({"error": str(ve)}), 400 | |
| except CustomException as ce: | |
| return jsonify({"error": str(ce)}), 500 | |
| except Exception as e: | |
| return jsonify({"error": "An error occurred: " + str(e)}), 500 | |
| if __name__ == '__main__': | |
| app.run(debug=True) | |