nandini2207 commited on
Commit
64544c8
·
1 Parent(s): 3d3de3b

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +180 -0
app.py ADDED
@@ -0,0 +1,180 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import numpy as np
4
+ from sklearn.model_selection import train_test_split
5
+ from sklearn.preprocessing import MinMaxScaler
6
+ from sklearn.tree import DecisionTreeClassifier
7
+ # -----------------------------------------------------------
8
+
9
+ df=pd.read_csv(r"C:\\Users\\Nandini Gupta\\Downloads\\ObesityDataSet_raw_and_data_sinthetic.csv")
10
+ df_prep = df.copy()
11
+
12
+ # create dummy variables
13
+ df_prep = pd.get_dummies(df_prep,columns=["Gender","family_history_with_overweight","FAVC","CAEC","SMOKE","SCC","CALC","MTRANS"])
14
+
15
+ # split dataset in features and target variable
16
+ # Features
17
+ X = df_prep.drop("NObeyesdad", axis = 1)
18
+
19
+ # Target variable
20
+ y = df_prep['NObeyesdad']
21
+
22
+ # import sklearn packages for data treatments
23
+ # Import train_test_split function
24
+
25
+ # Split dataset into training set and test set
26
+ X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)
27
+
28
+ mm = MinMaxScaler()
29
+ X_train_mm_scaled = mm.fit_transform(X_train)
30
+ X_test_mm_scaled = mm.transform(X_test)
31
+ model=DecisionTreeClassifier()
32
+ clf_mm_scaled = model.fit(X_train_mm_scaled, y_train)
33
+ clf_scaled = model.fit(X_train_mm_scaled,y_train)
34
+ y_pred_mm_scaled = clf_scaled.predict(X_test_mm_scaled)
35
+ # -----------------------------------------------------------
36
+
37
+ st.title("Uncovering Hidden Relationships: Obesity, Lifestyle Expressions")
38
+ st.markdown("FIND YOUR WAY TO HEALTH")
39
+ st.header("LIFESTYLE CHOICES")
40
+ col1, col2 = st.columns(2)
41
+ with col1:
42
+ # st.text("Sepal characteristics")
43
+ gen = st.selectbox("Select your gender", options=["Male", "Female"])
44
+ age = st.slider("Age", 100, 10)
45
+ height = st.slider("Select your height", 1.0, 2.0, step=0.01, format="%0.2f")
46
+ weight = st.slider("Select your height", 0.0, 300.0)
47
+ fm = st.selectbox("Family history of obesity", options=["Yes", "No"])
48
+ favc = st.selectbox("Frequent consumption of high caloric food ", options=["Yes", "No"])
49
+ fcvc = st.slider("Frequency of consumption of vegetables", 1.0, 4.0, step=0.1, format="%0.2f")
50
+ ncp = st.slider("Number of main meals", 1.0, 5.0, step=0.1)
51
+
52
+ with col2:
53
+ # st.text("Pepal characteristics")
54
+ caec = st.selectbox("Consumption of food between meals", options=["Sometimes", "Frequently", "Always", "no"])
55
+ smoke = st.selectbox("do you smoke", options=["yes", "no"])
56
+ ch20 = st.slider("Consumption of water daily(L)", 1.0, 4.0, step=0.1)
57
+ scc = st.selectbox("Calories consumption monitoring", options=["no", "yes"])
58
+ faf = st.slider("Physical activity frequency per day", 1.0, 3.0, step=0.5)
59
+ tue = st.slider("Time using technology devices", 0.0, 12.0)
60
+ calc = st.selectbox("Consumption of alcohol", options=['no', 'Sometimes', 'Frequently', 'Always'])
61
+ mtrans = st.selectbox("Mode of transportation",
62
+ options=['Public_Transportation', 'Walking', 'Automobile', 'Motorbike', 'Bike'])
63
+
64
+ if st.button("Predict type of obesity"):
65
+ inp = [age, height, weight, fcvc, ncp, ch20, faf, tue]
66
+ if gen == 1:
67
+ inp.append(1)
68
+ inp.append(0)
69
+ elif gen == 0:
70
+ inp.append(0)
71
+ inp.append(1)
72
+ fm = int(input("Family history with obesity: yes(1), no(0)"))
73
+ if fm == 0:
74
+ inp.append(1)
75
+ inp.append(0)
76
+ elif fm == 1:
77
+ inp.append(0)
78
+ inp.append(1)
79
+ favc = int(input("Frequent consumption of high caloric food: yes(1), no(0)"))
80
+ if favc == 0:
81
+ inp.append(1)
82
+ inp.append(0)
83
+ elif favc == 1:
84
+ inp.append(0)
85
+ inp.append(1)
86
+ caec = int(input("Consumption of food between meals : Always(1),Frequently(2),Sometimes(3),No(4)"))
87
+ if caec == 1:
88
+ inp.append(1)
89
+ inp.append(0)
90
+ inp.append(0)
91
+ inp.append(0)
92
+ elif caec == 2:
93
+ inp.append(0)
94
+ inp.append(1)
95
+ inp.append(0)
96
+ inp.append(0)
97
+ elif caec == 3:
98
+ inp.append(0)
99
+ inp.append(0)
100
+ inp.append(1)
101
+ inp.append(0)
102
+ else:
103
+ inp.append(0)
104
+ inp.append(0)
105
+ inp.append(0)
106
+ inp.append(1)
107
+ smoke = int(input("Do you smoke: yes(1), no(0)"))
108
+ if smoke == 0:
109
+ inp.append(1)
110
+ inp.append(0)
111
+ elif smoke == 1:
112
+ inp.append(0)
113
+ inp.append(1)
114
+ scc = int(input("Do you monitor your calorie consumption: yes(1), no(0)"))
115
+ if scc == 0:
116
+ inp.append(1)
117
+ inp.append(0)
118
+ elif scc == 1:
119
+ inp.append(0)
120
+ inp.append(1)
121
+ calc = int(input("Consumption of alcohol: Always(1),Frequently(2),Sometimes(3),No(4)"))
122
+ if caec == 1:
123
+ inp.append(1)
124
+ inp.append(0)
125
+ inp.append(0)
126
+ inp.append(0)
127
+ elif caec == 2:
128
+ inp.append(0)
129
+ inp.append(1)
130
+ inp.append(0)
131
+ inp.append(0)
132
+ elif caec == 3:
133
+ inp.append(0)
134
+ inp.append(0)
135
+ inp.append(1)
136
+ inp.append(0)
137
+ else:
138
+ inp.append(0)
139
+ inp.append(0)
140
+ inp.append(0)
141
+ inp.append(1)
142
+ mtrans = int(input(
143
+ "What mode of transportation do you use: Automobile(1), Bike(2), Motorbike(3), Public Transport(4), Walking(5)"))
144
+ if mtrans == 1:
145
+ inp.append(1)
146
+ inp.append(0)
147
+ inp.append(0)
148
+ inp.append(0)
149
+ inp.append(0)
150
+ elif mtrans == 2:
151
+ inp.append(0)
152
+ inp.append(1)
153
+ inp.append(0)
154
+ inp.append(0)
155
+ inp.append(0)
156
+ elif mtrans == 3:
157
+ inp.append(0)
158
+ inp.append(0)
159
+ inp.append(1)
160
+ inp.append(0)
161
+ inp.append(0)
162
+ elif mtrans == 4:
163
+ inp.append(0)
164
+ inp.append(0)
165
+ inp.append(0)
166
+ inp.append(1)
167
+ inp.append(0)
168
+ else:
169
+ inp.append(0)
170
+ inp.append(0)
171
+ inp.append(0)
172
+ inp.append(0)
173
+ inp.append(1)
174
+
175
+ input_arr = np.array(input)
176
+ input_arr_scaled = mm.transform(input_arr)
177
+
178
+ # make prediction
179
+ result = model.predict(input_arr_scaled)[0]
180
+ st.success(f'The obesity type i{result}')