In [1]:
import pandas as pa
In [2]:
data = pa.read_csv('food_truck.csv',header=None)
data.head()
Out[2]:
0 1
0 6.1101 17.5920
1 5.5277 9.1302
2 8.5186 13.6620
3 7.0032 11.8540
4 5.8598 6.8233
In [3]:
#On découpe les données en X et en Y:
X = data[0]
X.head()
Y = data[1]
Y.head()
Out[3]:
0    17.5920
1     9.1302
2    13.6620
3    11.8540
4     6.8233
Name: 1, dtype: float64
In [6]:
#On peut visualiser les données : 
import matplotlib.pyplot as plt
%matplotlib inline
axes = plt.axes()
#On dessine une grille pour une meilleur lecture du graphique :
axes.grid()
#On définit les axes : il s'agit de notre X et de notre Y :
plt.scatter(X,Y,color="red",marker="x")
plt.xlabel("population in 10000's")
plt.ylabel("profit in 10000 $")
plt.show()
In [7]:
from scipy import stats
slope, intercept, r_value, p_value, std_err = stats.linregress(X,Y)
In [8]:
print(slope, intercept, r_value, p_value, std_err)
1.1930336441895941 -3.8957808783118555 0.8378732325263409 1.0232099778760961e-26 0.07974394383258743
In [9]:
print('modèle de régression : ')
print ('Y = ', slope,' * X + ', intercept)
modèle de régression : 
Y =  1.1930336441895941  * X +  -3.8957808783118555
In [10]:
def predict(x):
    return slope * x + intercept
In [15]:
#On prédit à présent les valeurs de X:
fitline = predict(X)
fitline.head()
#Et on dessine le nuage ainsi que la ligne de régression :
plt.scatter(X, fitline,color='blue',marker='x')
plt.scatter(X,Y,color='red',marker='o')
plt.plot(X, fitline, c='m')

plt.show()
In [ ]: