--- a +++ b/MOA/Pressure.py @@ -0,0 +1,86 @@ +import numpy as np +import pandas as panda +import matplotlib.pyplot as plt +from scipy.stats import norm +import statistics + + +# Consider Gluc Values > 1 Is A Diabetes + +db = panda.read_csv('cardio_train.csv') + +UpPressure = db.loc[db.cardio == 1].ap_hi +DownPressure = db.loc[db.cardio == 1].ap_lo + +UpPressureQ25,UpPressureQ75 = np.percentile(UpPressure,[25,75]) + +IQR = UpPressureQ75 - UpPressureQ25 + + +plt.boxplot(UpPressure) +plt.title("Before Cleaning") +plt.show() + +# Cleaning Data +UpPressure = UpPressure.loc[UpPressure >= (UpPressureQ25 - 1.5 * IQR)].loc[UpPressure <= (UpPressureQ75 + 1.5 * IQR)] + + +plt.boxplot(UpPressure) +plt.title("After Cleaning") +plt.show() + +UpPressureMean = UpPressure.mean() +UpPressureMedian = UpPressure.median() +UpPressureMode = UpPressure.mode() +UpPressureSD = UpPressure.std() + + +print("Systolic blood pressure Mean = " + str(UpPressureMean)) +print("Systolic blood pressure Median = " + str(UpPressureMedian)) +# print("Systolic blood pressure Mode = " + str(UpPressureMode)) +print("Systolic blood pressure Standard Deviation = " + str(UpPressureSD)) + +# Hypothesis: Abnormal Systolic blood Pressure is a sign of heart disease +# Check If Probabilty Of Having Both Normal blood pressure and heart disease is greater than having abnormal blood pressure + + +NormalPressure = UpPressure.loc[UpPressure >= 120].loc[UpPressure < 130] +UpLowPressure = UpPressure.loc[UpPressure < 120] +UpHighPressure = UpPressure.loc[UpPressure >= 130] + + +PNormalPressure = (NormalPressure.count()) * 100 / UpPressure.count() +PabNormalPressure = (UpLowPressure.count() + UpHighPressure.count()) * 100 / UpPressure.count() + +print("Propability of Of Having Both Normal blood pressure and heart disease = " + str(PNormalPressure)) +print("Propability of Of Having Both Abnormal blood pressure and heart disease = " + str(PabNormalPressure)) + +plt.pie([PNormalPressure,PabNormalPressure],labels= ["Normal Pressure", "Abnormal Pressure"]) +plt.title("Probability of having") +plt.show() + +#===================================================================================================== + +# DownPressureQ25,DownPressureQ75 = np.percentile(DownPressure,[25,75]) +# IQR = DownPressureQ75 - DownPressureQ25 + +# plt.boxplot(UpPressure) +# plt.title("Before Cleaning") +# plt.show() + +# Cleaning Data +# DownPressure = DownPressure.loc[DownPressure >= (DownPressureQ25 - 1.5 * IQR)].loc[DownPressure <= (DownPressureQ75 + 1.5 * IQR)] + +# DownPressureMean = DownPressure.mean() +# DownPressureMedian = DownPressure.median() +# DownPressureMode = DownPressure.mode() +# DownPressureSD = DownPressure.std() + +# # plt.boxplot(UpPressure) +# # plt.title("After Cleaning") +# # plt.show() + + +# NormalPressure = UpPressure.loc[UpPressure] + +