Spaces:
Runtime error
Runtime error
Update app.py
Browse files
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 |
-
|
| 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 |
|