You are on page 1of 15

PDVVP College of Engineering

Practical No. 2

Aim- To perform Linear Regression study on the 3D printing dataset.

Prerequisites- dataset, Jupyter Notebook .

Program & Outputs-


1. Packages-
!pip install pandas==1.2.0
!pip install xlrd==1.2.0
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

2. Data reading-
dataset=pd.read_csv(r'C:\Users\My Pc\Desktop\data.csv')
dataset

1
PDVVP College of Engineering

dataset.head()

2
PDVVP College of Engineering

dataset.info()

3. Data visualization-
dataset['infill_pattern'].replace(['grid','honeycomb'],[0,1],inplace=True)
dataset['material'].replace(['abs','pla'],[0,1],inplace=True)
dataset.head(10)

3
PDVVP College of Engineering

fig,ax=plt.subplots(figsize=(20,7))
title='Correlation Heatmap of the 3D printing Dataset'
plt.title(title,fontsize=20)
ttl=ax.title
sns.heatmap(dataset.corr(),cbar=True,cmap='cool',annot=True,linewidths=1,ax=ax)
plt.show()

Model 1: Predicting roughness based on 9 features-

x=dataset.drop(['roughness','elongation'],axis=1)
x

4
PDVVP College of Engineering

y=dataset['roughness']

5
PDVVP College of Engineering

6
PDVVP College of Engineering

x.head()

import statsmodels.api as sm
def linear_Regression(x,y):
x=sm.add_constant(x)
multiple_model=sm.OLS(y,x).fit()
print(multiple_model.summary())

7
PDVVP College of Engineering

x=x.drop(['wall_thickness','infill_density','infill_pattern'],axis=1)
x.head()

inter_mn=x['material']*x['nozzle_temperature']
inter_bn=x['bed_temperature']*x['nozzle_temperature']
inter_fn=x['fan_speed']*x['nozzle_temperature']
inter_fb=x['fan_speed']*x['bed_temperature']
interaction=pd.concat([x,inter_mn,inter_bn,inter_fn,inter_fb],axis=1)
interaction=interaction.rename(columns={0:'interct_mn',1:'interct_bn',2:'interct_fn',3:'interct_b'}
)
interaction.head(10)

8
PDVVP College of Engineering

Model 2: Predicting Tension based on features-

x=dataset.drop(['roughness','tension_strenght','elongation'],axis=1)
x.head()

y=dataset['tension_strenght']
y

9
PDVVP College of Engineering

linear_Regression(x,y)

x=dataset.drop(['infill_pattern','print_speed','material'],axis=1)
x.head()

10
PDVVP College of Engineering

linear_Regression(x,y)

interaction=pd.concat([x,inter_mn,inter_bn,inter_fn,inter_fb],axis=1)

interaction=interaction.rename(columns={0:'interct_mn',1:'interct_bn',2:'interct_fn',3:'interct_b
'})

interaction.head()

11
PDVVP College of Engineering

linear_Regression(interaction,y)

Model 3: Predicting Elongation based on features-

dataset.head()

x=dataset.drop(['roughness','tension_strenght','elongation'],axis=1)

x.head()

12
PDVVP College of Engineering

linear_Regression(x,y)

x=dataset.drop(['infill_pattern','print_speed','material'],axis=1)
x.head()

13
PDVVP College of Engineering

linear_Regression(x,y)

interaction=pd.concat([x,inter_mn,inter_bn,inter_fn,inter_fb],axis=1)

interaction=interaction.rename(columns={0:'interct_mn',1:'interct_bn',2:'interct_fn',3:'interct_b
'})

interaction.head()

14
PDVVP College of Engineering

linear_Regression(interaction,y)

15

You might also like