-
Notifications
You must be signed in to change notification settings - Fork 0
/
project1day15_py.py
73 lines (46 loc) · 1.43 KB
/
project1day15_py.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# -*- coding: utf-8 -*-
"""project1day15.py
Automatically generated by Colaboratory.
Original file is located at
https://colab.research.google.com/drive/1RAngly3f8zFseiKS9RLuxT1cZVQOvOvD
"""
import pandas as pd
import matplotlib.pyplot as plt
data = pd.read_csv("advertising.csv")
data.head()
fig , axs = plt.subplots(1 , 3 , sharey = True)
data.plot( kind='scatter' , x='TV' , y = 'Sales' , ax=axs[0] , figsize=(14,7))
data.plot( kind='scatter' , x='Radio' , y = 'Sales' , ax=axs[1])
data.plot( kind='scatter' , x='Newspaper' , y = 'Sales' , ax=axs[2])
feature_cols = ['TV']
X = data[feature_cols]
y = data.Sales
from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(X,y)
print(lr.intercept_)
print(lr.coef_)
#y = a+bx
result = 6.974821488229891+0.05546477*50
print(result)
X_new = pd.DataFrame({'TV':[data.TV.min(),data.TV.max()]})
X_new.head()
preds = lr.predict(X_new)
preds
data.plot(kind = 'scatter',x = 'TV',y='Sales')
plt.plot(X_new,preds,c='red',linewidth=5)
import statsmodels.formula.api as smf
lm = smf.ols(formula = 'Sales ~ TV',data=data).fit()
lm.conf_int()
lm.pvalues
print(lm.rsquared)
feature_cols = ['TV','Radio']
X = data[feature_cols]
y = data.Sales
lr = LinearRegression()
lr.fit(X, y)
print(lr.intercept_)
print(lr.coef_)
lm = smf.ols(formula = 'Sales ~ TV+Radio+Newspaper',data=data).fit()
lm.conf_int()
lm.summary()