In [256]:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import numpy as np
Você pode baixar o arquivo CSV regressao_linear_alura.csv.
In [257]:
movies = pd.read_csv('datasets/regressao_linear_alura.csv')
In [258]:
movies.head()
Out[258]:
In [259]:
movies.shape
Out[259]:
In [260]:
x = movies['Investimento (em milhoes)']
In [261]:
y = movies['Bilheteria (pessoas)']
In [262]:
plt.scatter(x,y)
Out[262]:
In [263]:
sample = movies.sample(n=200)
In [264]:
x = sample['Investimento (em milhoes)']
In [265]:
y = sample['Bilheteria (pessoas)']
In [266]:
plt.scatter(x,y)
Out[266]:
In [267]:
filmes_investimento = movies['Investimento (em milhoes)']
filmes_bilheteria = movies['Bilheteria (pessoas)']
In [268]:
type(filmes_investimento)
Out[268]:
In [269]:
filmes_investimento.head(10)
Out[269]:
In [270]:
filmes_bilheteria.head(10)
Out[270]:
In [271]:
treino, teste, treino_bilheteria, teste_bilheteria = train_test_split(filmes_investimento, filmes_bilheteria)
In [272]:
print('Tamanho treino: {0} Tamanho teste: {1} Total: {2} ({0} + {1})'.format(len(treino), len(teste), len(filmes_investimento)))
In [273]:
print('Porcentagem treino {}'.format(len(treino)/len(filmes_investimento)))
In [274]:
type(treino)
Out[274]:
In [275]:
treino = np.array(treino).reshape(len(treino),1)
In [276]:
type(treino)
Out[276]:
In [277]:
teste = np.array(teste).reshape(len(teste),1)
In [278]:
type(teste)
Out[278]:
In [279]:
treino_bilheteria = np.array(treino_bilheteria).reshape(len(treino_bilheteria),1)
teste_bilheteria= np.array(teste_bilheteria).reshape(len(teste_bilheteria),1)
In [280]:
modelo = LinearRegression()
modelo.fit(treino, treino_bilheteria)
modelo
Out[280]:
In [281]:
modelo.intercept_
Out[281]:
In [282]:
modelo.coef_
Out[282]:
In [283]:
modelo.predict(27.74456356)
Out[283]:
In [284]:
modelo.coef_ * 27.74456356 + modelo.intercept_
Out[284]:
In [285]:
modelo.score(treino, treino_bilheteria)
Out[285]:
In [286]:
modelo.score(teste, teste_bilheteria)
Out[286]:
In [287]:
treino, teste, treino_bilheteria, teste_bilheteria = train_test_split(filmes_investimento, filmes_bilheteria, test_size=0.10)
In [288]:
treino = np.array(treino).reshape(len(treino),1)
treino_bilheteria = np.array(treino_bilheteria).reshape(len(treino_bilheteria),1)
teste_bilheteria= np.array(teste_bilheteria).reshape(len(teste_bilheteria),1)
teste = np.array(teste).reshape(len(teste),1)
In [289]:
modelo_10 = LinearRegression()
modelo_10.fit(treino, treino_bilheteria)
modelo_10
Out[289]:
In [290]:
modelo_10.score(treino, treino_bilheteria)
Out[290]:
In [291]:
modelo_10.score(teste, teste_bilheteria)
Out[291]:
In [ ]: