saritha5 commited on
Commit
dc7688e
·
1 Parent(s): 4c7cc19

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +54 -1
app.py CHANGED
@@ -69,9 +69,62 @@ user_data = user_report()
69
  st.header("Customer Data")
70
  st.write(user_data)
71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  y_pred = cross_sell(user_data)
73
 
74
- st.subheader(y_pred)
75
 
76
 
77
 
 
69
  st.header("Customer Data")
70
  st.write(user_data)
71
 
72
+
73
+ def prediction(user_data):
74
+ # Importing data from csv
75
+
76
+ df = pd.read_csv('health_insurance.csv')
77
+
78
+ from sklearn.preprocessing import LabelEncoder
79
+
80
+ le_gender = LabelEncoder()
81
+ df['Gender'] = le_gender.fit_transform(df['Gender'])
82
+
83
+ le_vAge = LabelEncoder()
84
+ df['Vehicle_Age'] = le_vAge.fit_transform(df['Vehicle_Age'])
85
+
86
+ le_vDamage = LabelEncoder()
87
+ df['Vehicle_Damage'] = le_vDamage.fit_transform(df['Vehicle_Damage'])
88
+
89
+ x = df.drop('Response', axis = 1)
90
+ y = df['Response']
91
+
92
+ #balancing the data for Target column
93
+ from imblearn.over_sampling import SMOTE
94
+
95
+ smt = SMOTE(k_neighbors=8, random_state=10)
96
+ x_new, y_new = smt.fit_resample(x, y)
97
+ #x_new.shape, y_new.shape
98
+
99
+ #Splitting the data into train and test datasets
100
+
101
+ from sklearn.model_selection import train_test_split
102
+
103
+ xtrain, xtest, ytrain, ytest = train_test_split(x_new, y_new, test_size =.30, random_state = 0)
104
+ #xtrain.shape, xtest.shape, ytrain.shape, ytest.shape
105
+
106
+
107
+ from sklearn.preprocessing import StandardScaler
108
+
109
+ scaler = StandardScaler()
110
+ xtrain = scaler.fit_transform(xtrain)
111
+ xtest = scaler.transform(xtest)
112
+
113
+
114
+ from xgboost import XGBClassifier
115
+
116
+ model_xgb = XGBClassifier()
117
+ model_xgb.fit(xtrain, ytrain)
118
+
119
+ response = model_xgb.predict(user_data)
120
+ if response==1:
121
+ st.subheader('This customer willing to buy a vehicle insurance')
122
+ else:
123
+ st.subheader('This customer will not buy a vehicle insurance')
124
+
125
  y_pred = cross_sell(user_data)
126
 
127
+
128
 
129
 
130