Linear Regression: Prepared by Muralidharan N
Linear Regression: Prepared by Muralidharan N
PREPARED BY
MURALIDHARAN N
1
LINEAR REGRESSION
You are hired by a company Gem Stones co ltd, which is a cubic zirconia
manufacturer. You are provided with the dataset containing the prices and other
attributes of almost 27,000 cubic zirconia (which is an inexpensive diamond
alternative with many of the same qualities as a diamond). The company is
earning different profits on different prize slots. You have to help the company
in predicting the price for the stone on the bases of the details given in the
dataset so it can distinguish between higher profitable stones and lower
profitable stones so as to have better profit share. Also, provide them with the
best 5 attributes that are most important.
Data Dictionary:
1.1. Read the data and do exploratory data analysis. Describe the data
briefly. (Check the null values, Data types, shape, EDA). Perform
Univariate and Bivariate Analysis.
Loading all the necessary library for the model building.
Now, reading the head and tail of the dataset to check whether data has been
properly fed.
HEAD OF THE DATA
COLOR: 7
J 1443
I 2771
D 3344
H 4102
F 4729
E 4917
G 5661
CLARITY: 8
I1 365
IF 894
VVS1 1839
VVS2 2531
VS1 4093
SI2 4575
VS2 6099
SI1 6571
The distribution of data in carat seems to positively skewed, as there are multiple
peaks points in the distribution there could multimode and the box plot of carat
seems to have large number of outliers. In the range of 0 to 1 where majority of
data lies.
PRICE – HIST
skew
9
BIVARIATE ANALYSIS
CUT :
Quality is increasing order Fair, Good, Very Good, Premium, Ideal.
The reason for the most preferred cut ideal is because those diamonds are priced
lower than other cuts.
COLOR:
We see the G is priced in the middle of the seven colours, whereas J being the
worst colour price seems too high.
CLARITY:
Best to Worst, FL = flawless, I3= level 3 inclusions) FL, IF, VVS1,
VVS2, VS1, VS2, SI1, SI2, I1, I2, I3
11
The data has No FL diamonds, from this we can clearly understand the flawless
diamonds are not bringing any profits to the store.
12
CORRLEATION
CARAT VS PRICE
DEPTH VS PRICE
X VS PRICE
14
Y VS PRICE
Z VS PRICE
15
DATA DISTRIBUTION
16
CORRELATIOM MATRIX
This matrix clearly shows the presence of multi collinearity in the dataset.
17
1.2 Impute null values if present, also check for the values which are equal to zero. Do
they have any meaning or do we need to change them or drop them? Do you think
scaling is necessary in this case?
Yes we have Null values in depth, since depth being continuous variable mean
or median imputation can be done.
The percentage of Null values is less than 5%, we can also drop these if we
want.
After median imputation, we don’t have any null values in the dataset.
We have certain rows having values zero, the x, y, z are the dimensions of a
diamond so this can’t take into model. As there are very less rows.
We can drop these rows as don’t have any meaning in model building.
SCALING
Scaling can be useful to reduce or check the multi collinearity in the data, so if
scaling is not applied I find the VIF – variance inflation factor values very high.
Which indicates presence of multi collinearity
These values are calculated after building the model of linear regression. To
understand the multi collinearity in the model
The scaling had no impact in model score or coefficients of attributes nor the
intercept.
BEFORE SCALING – VIF VALUES
19
1.3 Encode the data (having string values) for Modelling. Data Split: Split the data into
test and train (70:30). Apply Linear regression. Performance Metrics: Check the
performance of Predictions on Train and Test sets using Rsquare, RMSE.
ENCODING THE STRING VALUES
GET DUMMIES
27
VIF –VALUES
We still find we have multi collinearity in the dataset, to drop these values to
Lower level we can drop columns after doing stats model.
29
From stats model we can understand the features that do not contribute to the
Model
We can remove those features after that the Vif Values will be reduced
STATSMODEL
To ideally bring down the values to lower levels we can drop one of the variable
that is highly correlated.
Dropping variables would bring down the multi collinearity level down.
33
1.4 Inference: Basis on these predictions, what are the business insights and
recommendations.
We had a business problem to predict the price of the stone and provide insights for the
company on the profits on different prize slots. From the EDA analysis we could understand
the cut, ideal cut had number profits to the company. The colours H, I, J have bought profits
for the company. In clarity if we could see there were no flawless stones and they were no
profits coming from l1, l2, l3 stones. The ideal, premium and very good types of cut were
bringing profits where as fair and good are not bringing profits.
The predictions were able to capture 95% variations in the price and it is explained by the
predictors in the training set.
Using stats model if we could run the model again we can have P values and coefficients
which will give us better understanding of the relationship, so that values more 0.05 we can
drop those variables and re run the model again for better results.
For better accuracy dropping depth column in iteration for better results.
The equation, (-0.76) * Intercept + (1.1) * carat + (-0.01) * table + (-0.32) * x + (0.2
8) * y + (-0.11) * z + (0.1) * cut_Good + (0.15) * cut_Ideal + (0.15) * cut_Premiu
m + (0.13) * cut_Very_Good + (-0.05) * color_E + (-0.06) * color_F + (-0.1) * color
_G + (-0.21) * color_H + (-0.32) * color_I + (-0.47) * color_J + (1.0) * clarity_IF + (
0.64) * clarity_SI1 + (0.43) * clarity_SI2 + (0.84) * clarity_VS1 + (0.77) * clarity_
VS2 + (0.94) * clarity_VVS1 + (0.93) * clarity_VVS2 +
Recommendations
1. The ideal, premium, very good cut types are the one which are bringing profits so
that we could use marketing for these to bring in more profits.
2. The clarity of the diamond is the next important attributes the more the clear is the
stone the profits are more
Carat,
Y the diameter of the stone
clarity_IF
clarity_SI1
clarity_SI2
clarity_VS1
clarity_VS2
clarity_VVS1
clarity_VVS2
THE END