Spaces:
Runtime error
Runtime error
Create main.py
Browse files
main.py
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# import all the required libraries
|
2 |
+
|
3 |
+
import pandas as pd
|
4 |
+
import numpy as np
|
5 |
+
import matplotlib.pyplot as plt
|
6 |
+
import seaborn as sns
|
7 |
+
|
8 |
+
def prediction(user_data):
|
9 |
+
# Importing data from csv
|
10 |
+
|
11 |
+
df = pd.read_csv('health_insurance.csv')
|
12 |
+
|
13 |
+
from sklearn.preprocessing import LabelEncoder
|
14 |
+
|
15 |
+
le_gender = LabelEncoder()
|
16 |
+
df['Gender'] = le_gender.fit_transform(df['Gender'])
|
17 |
+
|
18 |
+
le_vAge = LabelEncoder()
|
19 |
+
df['Vehicle_Age'] = le_vAge.fit_transform(df['Vehicle_Age'])
|
20 |
+
|
21 |
+
le_vDamage = LabelEncoder()
|
22 |
+
df['Vehicle_Damage'] = le_vDamage.fit_transform(df['Vehicle_Damage'])
|
23 |
+
|
24 |
+
x = df.drop('Response', axis = 1)
|
25 |
+
y = df['Response']
|
26 |
+
|
27 |
+
#balancing the data for Target column
|
28 |
+
from imblearn.over_sampling import SMOTE
|
29 |
+
|
30 |
+
smt = SMOTE(k_neighbors=8, random_state=10)
|
31 |
+
x_new, y_new = smt.fit_resample(x, y)
|
32 |
+
#x_new.shape, y_new.shape
|
33 |
+
|
34 |
+
#Splitting the data into train and test datasets
|
35 |
+
|
36 |
+
from sklearn.model_selection import train_test_split
|
37 |
+
|
38 |
+
xtrain, xtest, ytrain, ytest = train_test_split(x_new, y_new, test_size =.30, random_state = 0)
|
39 |
+
#xtrain.shape, xtest.shape, ytrain.shape, ytest.shape
|
40 |
+
|
41 |
+
|
42 |
+
from sklearn.preprocessing import StandardScaler
|
43 |
+
|
44 |
+
scaler = StandardScaler()
|
45 |
+
xtrain = scaler.fit_transform(xtrain)
|
46 |
+
xtest = scaler.transform(xtest)
|
47 |
+
|
48 |
+
|
49 |
+
from xgboost import XGBClassifier
|
50 |
+
|
51 |
+
model_xgb = XGBClassifier()
|
52 |
+
model_xgb.fit(xtrain, ytrain)
|
53 |
+
|
54 |
+
response = model_xgb.predict(user_data)
|
55 |
+
return response
|