Professional Documents
Culture Documents
Predicting Insurance Prices Using Machine Learning
Predicting Insurance Prices Using Machine Learning
In [1]:
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
In [2]:
data = pd.read_csv("insurance.csv")
In [3]:
data
Out[3]:
In [4]:
data.head()
Out[4]:
In [5]:
data.tail()
Out[5]:
In [6]:
data.shape
Out[6]:
(1338, 7)
In [7]:
data.info()
<class 'pandas.core.frame.DataFrame'>
In [8]:
data.describe()
Out[8]:
In [9]:
data.describe().columns
Out[9]:
In [10]:
data.isnull().sum()
Out[10]:
age 0
sex 0
bmi 0
children 0
smoker 0
region 0
charges 0
dtype: int64
In [11]:
import warnings
warnings.filterwarnings("ignore")
In [12]:
data['sex'].value_counts()
Out[12]:
male 676
female 662
In [13]:
data['sex'].value_counts().sort_index(ascending=False).plot(kind='bar')
Out[13]:
<matplotlib.axes._subplots.AxesSubplot at 0x2756037e20>
In [14]:
Out[14]:
sex
In [15]:
In [19]:
In [21]:
data.sex = le.fit_transform(data.sex)
data.smoker = le.fit_transform(data.smoker)
data.region = le.fit_transform(data.region)
In [24]:
plt.figure(figsize = (12,7))
sns.barplot(x = data.age, y = data.smoker, hue = data.sex)
Out[24]:
<matplotlib.axes._subplots.AxesSubplot at 0x2756c14100>
In [25]:
plt.xticks(rotation = 90)
sns.barplot(x = data.sex, y = data.charges)
Out[25]:
<matplotlib.axes._subplots.AxesSubplot at 0x276bcf98b0>
In [27]:
plt.figure(figsize = (12,7))
sns.barplot(x = data.smoker, y = data.charges, hue = data.sex)
Out[27]:
<matplotlib.axes._subplots.AxesSubplot at 0x276b72acd0>
In [28]:
In [32]:
Out[32]:
<matplotlib.axes._subplots.AxesSubplot at 0x276c6a2400>
In [33]:
In [34]:
print(data_factors.corr())
sns.heatmap(data_factors.corr())
Out[34]:
<matplotlib.axes._subplots.AxesSubplot at 0x275613e6d0>
In [36]:
In [37]:
y = data.charges
In [38]:
x.shape
Out[38]:
(1338, 6)
In [39]:
y.shape
Out[39]:
(1338,)
In [40]:
In [42]:
model= LinearRegression()
model.fit(X_train, y_train)
Out[42]:
LinearRegression()
In [43]:
y_pred = model.predict(X_test)
In [44]:
In [50]:
In [53]:
model1 = DecisionTreeRegressor()
model1.fit(X_train, y_train)
Out[53]:
DecisionTreeRegressor()
In [54]:
y_pred = model1.predict(X_test)
In [55]:
In [56]:
In [57]:
model2 = DecisionTreeRegressor()
model2.fit(X_train, y_train)
Out[57]:
DecisionTreeRegressor()
In [58]:
y_pred = model2.predict(X_test)
In [59]: