From 477e7793aff5cf9f7f5cb9a5807eca37bcf94028 Mon Sep 17 00:00:00 2001 From: ADEKUNLE OLOMOLA <122823828+FETTY0796@users.noreply.github.com> Date: Wed, 28 Jun 2023 12:03:38 -0400 Subject: [PATCH] Create INFERENCE CALCULATOR.py --- INFERENCE CALCULATOR.py | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 INFERENCE CALCULATOR.py diff --git a/INFERENCE CALCULATOR.py b/INFERENCE CALCULATOR.py new file mode 100644 index 00000000..82b8733b --- /dev/null +++ b/INFERENCE CALCULATOR.py @@ -0,0 +1,47 @@ +from flask import Flask, request, jsonify +import numpy as np +from flask import Flask, request, render_template +import numpy as np + +app = Flask(__name__) + +@app.route('/', methods=['GET', 'POST']) +def home(): + result = None + if request.method == 'POST': + # Get the comma-separated string, split by commas, and convert to integer + s_data = np.array([int(i) for i in request.form.get('s_data', '').split(',') if i]) + ns_data = np.array([int(i) for i in request.form.get('ns_data', '').split(',') if i]) + + total = sum(s_data) + sum(ns_data) + + # Calculate marginal probabilities + marginal_prob_s = s_data / total + marginal_prob_ns = ns_data / total + + # Calculate joint probabilities + joint_prob = np.outer(marginal_prob_s, marginal_prob_ns) + + # Calculate likelihoods + posterior_s = s_data / sum(s_data) + posterior_ns = ns_data / sum(ns_data) + + #likelihood + likelihood_s = marginal_prob_s + likelihood_ns = marginal_prob_ns + + # Return results as dictionary + result = { + "JOINT PROBABILITY": joint_prob.tolist(), + "MARGINAL PROBABILITY_S": marginal_prob_s.tolist(), + "MARGINAL PROBABILITY_NS": marginal_prob_ns.tolist(), + "LIKELIHOOD_S": likelihood_s.tolist(), + "LIKELIHOOD_NS": likelihood_ns.tolist(), + "POSTERIOR_S": posterior_s.tolist(), + "POSTERIOR_NS": posterior_ns.tolist() + } + + return render_template('index.html', result=result) + +if __name__ == '__main__': + app.run(debug=True)