Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Data Science and Machine Learning - #41 Projeto Completo (Testando Vários Algorítimos)

23/06/2022

No tutorial de hoje realizaremos os testes de desempenho em vários algorítimos diferentes para verificar qual oferecer o melhor resultado para nossos dados.

Para essa aula, é necessário importar os seguintes módulos:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split, cross_val_score,GridSearchCV
from sklearn.preprocessing import StandardScaler
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from sklearn.neighbors import KNeighborsRegressor
from sklearn.svm import SVR
from sklearn.metrics import mean_squared_error
%matplotlib inline

Testando Regressão Linear

Vamos iniciar realizando o teste com o algorítimo de regressão linear:

params = [
    {
        'fit_intercept':[True,False],
        'normalize':[True,False],
        'copy_X':[True,False],
        'positive':[True,False],
    }
]
ins = LinearRegression(normalize=True)
#grid_search = GridSearchCV(ins,params,cv=10)
#grid_search.fit(X_train,y_train)
#grid_search.best_params_
ins.fit(X_train,y_train)
pred = ins.predict(X_test)

ins.score(X_test,y_test)

print('RMSE',np.sqrt(mean_squared_error(y_test,pred)))

cross = cross_val_score(ins,X_test,y_test,cv=10)
final = sum(cross) / len(cross)
final

Árvores de Decisão

Vamos verificar a eficácia das árvores de decisão:

params = [
    {
        'criterion':['mse','mae'],
        'max_depth':[None,2,4,8,15]
    }
]
ins = DecisionTreeRegressor(max_depth=8)
#grid_search = GridSearchCV(ins,params,cv=5)
#grid_search.fit(X_train,y_train)
#grid_search.best_params_
ins.fit(X_train,y_train)
pred = ins.predict(X_test)

ins.score(X_test,y_test)

print('RMSE',np.sqrt(mean_squared_error(y_test,pred)))

cross = cross_val_score(ins,X_test,y_test,cv=10)
final = sum(cross) / len(cross)
final

Florestas Aleatórias

Vamos verificar a eficácia das florestas aleatórias:

params = [
    {
        'criterion':['mse','mae'],
        'max_depth':[None,2,4,8]
    }
]
ins = RandomForestRegressor()
#grid_search = GridSearchCV(ins,params,cv=5)
#grid_search.fit(X_train,y_train)
#grid_search.best_params_
ins.fit(X_train,y_train)
pred = ins.predict(X_test)

ins.score(X_test,y_test)

print('RMSE',np.sqrt(mean_squared_error(y_test,pred)))

cross = cross_val_score(ins,X_test,y_test,cv=10)
final = sum(cross) / len(cross)
final

KNN

Vamos verificar a eficácia do KNN:

params = [
    {
        'weights':['uniform','distance'],
        'n_neighbors':[2,5,10,15,20,30]
    }
]
ins = KNeighborsRegressor(n_neighbors=10, weights='distance')
#grid_search = GridSearchCV(ins,params,cv=5)
#grid_search.fit(X_train,y_train)
#grid_search.best_params_
ins.fit(X_train,y_train)
pred = ins.predict(X_test)

ins.score(X_test,y_test)

print('RMSE',np.sqrt(mean_squared_error(y_test,pred)))

cross = cross_val_score(ins,X_test,y_test,cv=10)
final = sum(cross) / len(cross)
final

SVM

Vamos verificar a eficácia do SVM:

params = [
    {
        'C':[0.1,1,10],
        'gamma':[0.1,1,10]
    }
]
ins = SVR()
#grid_search = GridSearchCV(ins,params,cv=5)
#grid_search.fit(X_train,y_train)
#grid_search.best_params_
ins.fit(X_train,y_train)
pred = ins.predict(X_test)

ins.score(X_test,y_test)

print('RMSE',np.sqrt(mean_squared_error(y_test,pred)))

cross = cross_val_score(ins,X_test,y_test,cv=10)
final = sum(cross) / len(cross)
final

Resultado dos Testes

Ao fim dos testes, chegamos ao seguinte resultado:

Testes com Algorítimos Python

Por hoje é só! Sucesso nos códigos e na vida!

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Data Science and Machine Learning - #40 Projeto Completo (Dados de Treino e Teste)
Na aula de hoje aprenderemos como separar os nossos dados em dados de teste e treino no aprendizado de máquina.
Saiba mais!
Data Science and Machine Learning - #42 Projeto Completo (Dados Reais)
No tutorial de hoje vamos testar como realizar a compra de um imóvel que irá se valorizar a Califórnia utilizando o melhor modelo de algorítimo.
Saiba mais!
Python
Nesta seção aprofundaremos os conhecimentos sobre uma das linguagens em maior ascenção no mercado, o Python.
Saiba mais!