In [1]:
import pandas as pd
import numpy as np
from sklearn import tree
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
In [2]:
from sklearn.linear_model import LinearRegression
from sklearn.ensemble import BaggingRegressor,BaggingClassifier
from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier
from sklearn.ensemble import AdaBoostRegressor, AdaBoostClassifier
from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier
Download Dataset: movies_multilinear_reg.csv
In [3]:
filmes = pd.read_csv('datasets/movies_multilinear_reg.csv')
In [4]:
filmes.head(5)
Out[4]:
In [5]:
filmes.shape
Out[5]:
In [6]:
filmes_caract = filmes[filmes.columns[2:17]]
filmes_labels = filmes[filmes.columns[17:]]
In [7]:
filmes_caract.head(5)
Out[7]:
In [8]:
filmes_labels.head(5)
Out[8]:
In [9]:
treino, teste, treino_labels, teste_labels = train_test_split(filmes_caract, filmes_labels)
print('Shape do treino {}, Shape do treino_labels {}'.format(treino.shape, treino_labels.shape))
print('Shape do teste {}, Shape do teste_labels {}'.format(teste.shape, teste_labels.shape))
print('Proporção Treino / Teste: {0:.2f}% / {1:.2f}%'.format(len(treino)/len(filmes_caract)*100, len(teste)/len(filmes_caract)*100))
In [10]:
treino_arr = np.array(treino).reshape(len(treino),15)
teste_arr = np.array(teste).reshape(len(teste),15)
treino_labels_arr = treino_labels.values.ravel()
teste_labels_arr = teste_labels.values.ravel()
In [11]:
modelo_br = BaggingRegressor()
modelo_br.fit(treino_arr, treino_labels_arr)
Out[11]:
In [12]:
score_treino = modelo_br.score(treino_arr, treino_labels_arr)
score_teste = modelo_br.score(teste_arr, teste_labels_arr)
print('BaggingRegressor: Acertamos {0:.2f}% no treino, Acertamos {1:.2f}% no teste'.
format(score_treino * 100, score_teste * 100))
In [13]:
modelo_reg = LinearRegression()
modelo_reg.fit(treino_arr, treino_labels_arr)
Out[13]:
In [14]:
score_treino = modelo_reg.score(treino_arr, treino_labels_arr)
score_teste = modelo_reg.score(teste_arr, teste_labels_arr)
print('LinearRegression: Acertamos {0:.2f}% no treino, Acertamos {1:.2f}% no teste'.
format(score_treino * 100, score_teste * 100))
In [15]:
modelo_br_20 = BaggingRegressor(n_estimators=20)
modelo_br_20.fit(treino_arr, treino_labels_arr)
score_treino = modelo_br_20.score(treino_arr, treino_labels_arr)
score_teste = modelo_br_20.score(teste_arr, teste_labels_arr)
print('BaggingRegressor(n_estimators=20): Acertamos {0:.2f}% no treino, Acertamos {1:.2f}% no teste'.
format(score_treino * 100, score_teste * 100))
Download Dataset: avaliacoes_usuario.csv
In [16]:
gostos = pd.read_csv('datasets/avaliacoes_usuario.csv')
gostos.head(5)
Out[16]:
In [17]:
caract = gostos[gostos.columns[1:16]]
labels = gostos[gostos.columns[16:]]
treino, teste, treino_labels, teste_labels = train_test_split(caract, labels)
In [18]:
treino_arr = np.array(treino).reshape(len(treino), 15)
teste_arr = np.array(teste).reshape(len(teste), 15)
treino_labels_arr = treino_labels.values.ravel()
teste_labels_arr = teste_labels.values.ravel()
In [19]:
modelo_bc = BaggingClassifier()
modelo_bc.fit(treino_arr, treino_labels_arr)
Out[19]:
In [20]:
previsoes = modelo_bc.predict(teste_arr)
acuracia = accuracy_score(teste_labels_arr, previsoes)
print('Acuracia com BaggingClassifier no teste: {0:.2f}%'.format(acuracia * 100))
Download Dataset: movies_multilinear_reg.csv
In [21]:
filmes = pd.read_csv('datasets/movies_multilinear_reg.csv')
In [22]:
filmes_caract = filmes[filmes.columns[2:17]]
filmes_labels = filmes[filmes.columns[17:]]
In [23]:
treino, teste, treino_labels, teste_labels = train_test_split(filmes_caract, filmes_labels)
print('Shape do treino {}, Shape do treino_labels {}'.format(treino.shape, treino_labels.shape))
print('Shape do teste {}, Shape do teste_labels {}'.format(teste.shape, teste_labels.shape))
print('Proporção Treino / Teste: {0:.2f}% / {1:.2f}%'.format(len(treino)/len(filmes_caract)*100, len(teste)/len(filmes_caract)*100))
In [24]:
treino_arr = np.array(treino).reshape(len(treino),15)
teste_arr = np.array(teste).reshape(len(teste),15)
treino_labels_arr = treino_labels.values.ravel()
teste_labels_arr = teste_labels.values.ravel()
In [25]:
modelo_rfr = RandomForestRegressor()
modelo_rfr.fit(treino_arr, treino_labels_arr)
Out[25]:
In [26]:
score_treino = modelo_rfr.score(treino_arr, treino_labels_arr)
score_teste = modelo_rfr.score(teste_arr, teste_labels_arr)
print('RandomForestRegressor: Acertamos {0:.2f}% no treino, Acertamos {1:.2f}% no teste'.
format(score_treino * 100, score_teste * 100))
In [27]:
gostos = pd.read_csv('datasets/avaliacoes_usuario.csv')
In [28]:
caract = gostos[gostos.columns[1:16]]
labels = gostos[gostos.columns[16:]]
treino, teste, treino_labels, teste_labels = train_test_split(caract, labels)
In [29]:
treino_arr = np.array(treino).reshape(len(treino), 15)
teste_arr = np.array(teste).reshape(len(teste), 15)
treino_labels_arr = treino_labels.values.ravel()
teste_labels_arr = teste_labels.values.ravel()
In [30]:
modelo_rfc = RandomForestClassifier()
modelo_rfc.fit(treino_arr, treino_labels_arr)
Out[30]:
In [31]:
previsoes = modelo_rfc.predict(teste_arr)
acuracia = accuracy_score(teste_labels_arr, previsoes)
print('Acuracia com RandomForestClassifier no teste: {0:.2f}%'.format(acuracia * 100))
In [32]:
modelo_rfc_max5 = RandomForestClassifier(max_features=5, max_depth=5)
modelo_rfc_max5.fit(treino_arr, treino_labels_arr)
previsoes = modelo_rfc_max5.predict(teste_arr)
acuracia = accuracy_score(teste_labels_arr, previsoes)
print('Acuracia com RandomForestClassifier no teste: {0:.2f}%'.format(acuracia * 100))
Download Dataset: movies_multilinear_reg.csv
In [33]:
filmes = pd.read_csv('datasets/movies_multilinear_reg.csv')
In [34]:
filmes_caract = filmes[filmes.columns[2:17]]
filmes_labels = filmes[filmes.columns[17:]]
In [35]:
treino, teste, treino_labels, teste_labels = train_test_split(filmes_caract, filmes_labels)
print('Shape do treino {}, Shape do treino_labels {}'.format(treino.shape, treino_labels.shape))
print('Shape do teste {}, Shape do teste_labels {}'.format(teste.shape, teste_labels.shape))
print('Proporção Treino / Teste: {0:.2f}% / {1:.2f}%'.format(len(treino)/len(filmes_caract)*100, len(teste)/len(filmes_caract)*100))
In [36]:
treino_arr = np.array(treino).reshape(len(treino), 15)
teste_arr = np.array(teste).reshape(len(teste), 15)
treino_labels_arr = treino_labels.values.ravel()
teste_labels_arr = teste_labels.values.ravel()
In [37]:
modelo_ada = AdaBoostRegressor()
modelo_ada.fit(treino_arr, treino_labels_arr)
Out[37]:
In [38]:
score_treino = modelo_ada.score(treino_arr, treino_labels_arr)
score_teste = modelo_ada.score(teste_arr, teste_labels_arr)
print('AdaBoostRegressor: Acertamos {0:.2f}% no treino, Acertamos {1:.2f}% no teste'.
format(score_treino * 100, score_teste * 100))
In [39]:
modelo_gbr = GradientBoostingRegressor()
modelo_gbr.fit(treino_arr, treino_labels_arr)
Out[39]:
In [40]:
score_treino = modelo_gbr.score(treino_arr, treino_labels_arr)
score_teste = modelo_gbr.score(teste_arr, teste_labels_arr)
print('GradientBoostingRegressor: Acertamos {0:.2f}% no treino, Acertamos {1:.2f}% no teste'.
format(score_treino * 100, score_teste * 100))
In [41]:
gostos = pd.read_csv('datasets/avaliacoes_usuario.csv')
In [42]:
caract = gostos[gostos.columns[1:16]]
labels = gostos[gostos.columns[16:]]
treino, teste, treino_labels, teste_labels = train_test_split(caract, labels)
In [43]:
treino_arr = np.array(treino).reshape(len(treino), 15)
teste_arr = np.array(teste).reshape(len(teste), 15)
treino_labels_arr = treino_labels.values.ravel()
teste_labels_arr = teste_labels.values.ravel()
In [44]:
modelo_ada_cl = AdaBoostClassifier()
modelo_ada_cl.fit(treino_arr, treino_labels_arr)
previsoes = modelo_ada_cl.predict(teste_arr)
acuracia = accuracy_score(teste_labels_arr, previsoes)
print('Acuracia com AdaBoostClassifier no teste: {0:.2f}%'.format(acuracia * 100))
In [45]:
modelo_gb_cl = GradientBoostingClassifier()
modelo_gb_cl.fit(treino_arr, treino_labels_arr)
previsoes = modelo_gb_cl.predict(teste_arr)
acuracia = accuracy_score(teste_labels_arr, previsoes)
print('Acuracia com GradientBoostingClassifier no teste: {0:.2f}%'.format(acuracia * 100))
In [ ]: