Compare modelos de ML com poucas linhas de código

Usando a biblioteca Lazy Predict, podemos comparar os algoritmos de classificação e regressão de melhor desempenho sem esforço. Esta biblioteca foi criada por “Shankar Rao Pandala” e aqui está o link para a documentação.

Usaremos o conjunto de dados de câncer de mama para comparar algoritmos de classificação e o conjunto de dados de habitação de Boston para comparar os algoritmos de regressão com apenas algumas linhas de código para cada tarefa usando esta biblioteca.

Tarefa de classificação:

Instalando a biblioteca:

! pip install lazypredict

Use o comando acima para instalar a biblioteca lazypredict

Importando bibliotecas e dados de câncer de mama necessários:

# Import library
import lazypredict
from lazypredict.Supervised import LazyClassifier
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

# Load dataset
data = load_breast_cancer ()
X = data.data
y = data.target

Agora vamos dividir os dados na proporção 80/20:

# Divisão de dados
X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = .2, random_state = 100)

Atribuindo lazyclassifier:

# Define e cria o lazyclassifier
clf = LazyClassifier (verbose = 0, ignore_warnings = True, custom_metric = None)
models_train, predictions_train = clf.fit (X_train, X_train, y_train, y_train)
models_test, predictions_test = clf.fit y_train, y_test)

Treine o desempenho dos dados:

# Imprime o desempenho do modelo no conjunto de treinamento
models_train

Vários modelos de desempenho em dados de treinamento

Desempenho dos dados de teste:

# Imprime o desempenho do modelo no conjunto de dados de teste
models_test

Vários modelos de desempenho em dados de teste

A partir das imagens acima, podemos entender como vários algoritmos classificadores (cerca de 28 modelos) são construídos e podemos comparar suas precisões, pontuações ROC AUC e F1 junto com o tempo gasto para construir.

Vamos criar um gráfico de barras para comparar esses modelos usando bibliotecas de mapas de mar e matos.

import matplotlib.pyplot as plt
import seaborn as sns

plt.figure (figsize = (5, 10))
sns.set_theme (style = ”whitegrid”)
ax = sns.barplot (y = models_train.index, x = ”Accuracy”, data = models_train)

Comparando o desempenho de diferentes modelos

A partir do gráfico de barras acima, podemos decidir qual algoritmo se adapta melhor à nossa declaração de problema e ajustá-lo ainda mais para melhor desempenho.

Tarefa de regressão:

# Carregando conjunto de dados de habitação de
Boston boston = datasets.load_boston ()
X, y = shuffle (boston.data, boston.target, random_state = 42)

Agora vamos dividir os dados na proporção 80/20:

# Divisão de dados
X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = .2, random_state = 42)

Atribuindo lazyregressor:

# Define e cria o lazyclassifier
reg = LazyRegressor (verbose = 0, ignore_warnings = False, custom_metric = None)
models_train, predictions_train = reg.fit (X_train, X_train, y_train, y_train)
models_test, predictions_test = reg.fit (X_train, X_test) y_train, y_test)

Treine o desempenho dos dados:

# Imprime o desempenho do modelo no conjunto de dados de treinamento
models_train

Vários modelos de desempenho em dados de treinamento

Desempenho dos dados de teste:

# Imprime o desempenho do modelo no conjunto de dados de teste
models_test

Vários modelos de desempenho em dados de teste

A partir das imagens acima, podemos entender como vários algoritmos de regressor (cerca de 36 modelos) são construídos e podemos comparar seus valores R-quadrado e RMSE com o tempo gasto para construir.

Vamos criar um gráfico de barras para comparar esses modelos usando bibliotecas de mapas de mar e matos.

import matplotlib.pyplot as plt
import seaborn as sns

models_train [“R-Squared”] = [0 if i <0 else i for i in models_train.iloc [:, 0]]

plt.figure (figsize = (5, 10))
sns.set_theme (style = ”whitegrid”)
ax = sns.barplot (y = models_train.index, x = ”R-Squared”, data = models_train)
ax.set ( xlim = (0, 1))

Comparando desempenhos de diferentes modelos com base na métrica R-quadrado

Esta é uma maneira fácil de construir vários modelos de aprendizado de máquina usando apenas algumas linhas de código. Se tentarmos construir manualmente esses modelos de ML individualmente, levará muito tempo para importar as respectivas bibliotecas, construí-las individualmente e agregar seus resultados de previsão. A partir do gráfico de barras acima, podemos chegar a uma conclusão sobre qual algoritmo está tendo um bom desempenho e decidir ajustá-lo ainda mais para um melhor desempenho.

Nota :

A biblioteca LazyPredict nos permite construir os modelos com seus parâmetros padrão. Não podemos otimizar os parâmetros, mas ele construirá esses modelos com seus parâmetros padrão, o que ainda é bom, já que fomos capazes de construí-los rapidamente e, uma vez que identificamos qual modelo é o melhor, podemos concentrar nosso esforço em realizar a otimização de hiperparâmetro para esse ML algoritmo.

Então, o que vocês acham? Terei interesse em saber sua opinião sobre isso. Espero ter dado uma breve ideia sobre como construir rapidamente modelos de ML usando apenas algumas linhas de código. Dê a ele um 💚, se você gostou deste post para motivação extra. Estou sempre aberto a suas sugestões e dúvidas.

Suggested posts

Implementando Memória Associativa

Implementando Memória Associativa

Escrito por Shashata Sawmya e Harveer Singh Com o advento das grandes redes neurais e os avanços tecnológicos cada vez maiores que levam os métodos atuais ao seu limite absoluto, o foco tem sido criar uma ferramenta abrangente que visa fazer tudo. No entanto, a maioria das tarefas não precisaria de redes profundas incrivelmente intensivas, mas ainda algo mais versátil do que modelos matemáticos básicos.

Como executar plugins ChatGPT gratuitamente usando Langchain

Como executar plugins ChatGPT gratuitamente usando Langchain

Você deve ter ouvido falar sobre todos os novos plug-ins poderosos do ChatGPT, como navegador, intérprete de código, etc. Mas há um problema, o acesso aos plug-ins é limitado a uma lista de espera e, portanto, muitos não têm acesso a ela.

Related posts

Rede de TV Twitter

Rede de TV Twitter

O que é velho agora é novo de novo e o que costumava ser a coisa brilhante e brilhante agora parece opaco. Não estou falando de jeans JNCO fazendo um retorno entre os garotos legais do centro da cidade junto com outras modas do final dos anos 1990.

O desafio de leitura Goodreads é tóxico

O desafio de leitura Goodreads é tóxico

A coceira na minha mão aumentou enquanto eu negociava com o livreiro local por mais um livro. Este livro, como o resto que comprei recentemente, encontraria seu trono na minha pilha 'To Be Read' (TBR); e ainda assim, eu comprei.

Rastreie qualquer pessoa com apenas um número de telefone | Investigação OSINT

Rastreie qualquer pessoa com apenas um número de telefone | Investigação OSINT

Você pode ser um investigador OSINT, jogador CTF ou simplesmente alguém que está recebendo chamadas de spam. Alguém que está tentando verificar o número que você viu em um anúncio.

A performance solo da garota ruiva

A pedido de Hayden, Katie se filma se masturbando.

A performance solo da garota ruiva

Passava da meia-noite quando Hayden levou Katie de volta ao dormitório da faculdade depois da noite juntos. Ela tinha aula cedo de manhã e não tinha outra troca de roupa depois de ter ficado com ele na noite anterior.