code: import flask
  import pandas as pd
  import io
  from flask import request, jsonify, render_template, send_from_directory
  import warnings
  import pandas as pd
  from sklearn.model_selection import train_test_split
  from sklearn.svm import SVC
  ####################################################
  # Flask Config
  app = flask.Flask(__name__)
  app.config["DEBUG"] = True
  ####################################################
  
  ####################################################
  # This block is used to initialize and read the training engine to be able to consume it in the api
  # it will be initialized only once on app run, this way we don't have to train the engine on every api request.
  testData = pd.read_csv("./assets/RBF_SVM.csv")
  X = testData.drop('PCOS', axis=1)
  y = testData['PCOS']
  X_train, X_test, y_train, y_test = train_test_split(X, y)
  svclassifier = SVC(kernel='rbf')
  svclassifier.fit(X_train, y_train)
  ####################################################
  
  
  ####################################################
  # This Block is used to define the routing formula of the frontend
  # Main Login 
  @app.route('/', methods=['GET'])
  def login_index():
      return render_template("index.html")
    
   # To Load index CSS 
  @app.route("/index.css")
  def index_style():
      return send_from_directory("templates", "index.css")
  
   # Form Page 
  @app.route('/prediction-form', methods=['GET'])
  def prediction_form():
      return render_template("form.html")
  
   # To Load form CSS 
  @app.route("/form.css")
  def form_style():
      return send_from_directory("templates", "form.css")
  ####################################################
  
  ####################################################
  
  # This block is used to define the API's that will be needed to calculate the predictions, and recieve data
  
  # A route to return all of the data used for training
  @app.route('/api/ai/getTest', methods=['GET'])
  def get_training_data():
      return testData.to_json()
  
  # This API is used to compute the prediction according to the parameters sent from the frontend
  @app.route('/api/ai/predict-result', methods=['POST'])
  def compute_predict():
    try:
      # consume the request and parse it to a data frame object to be predicted
     df = pd.json_normalize(request.get_json())
     print('Model to Predict: ', request.get_json())
     y_pred = svclassifier.predict(df)
     print('Result came back as: ', y_pred)
     if y_pred == [1]: # if result is postive we return a success message for the user
      return 'Positive Result'
     elif y_pred == [0]: # if result is negative we return a negative message for the user
      return 'Negative Result'
     else:
      return 'Result was inconclusive' # if the prediction didn't work, we return inconclusive for the user
    except:
     return 'Result was inconclusive'  # in case of any general error, we return inconclusive for the user
  ####################################################
  
  # to run the app and define which port  
  app.run(debug=True, port=5000)
apis: pandas.read_csv sklearn.svm.SVC sklearn.model_selection.train_test_split