Explorando o AutoML: principais ferramentas disponíveis [o que você precisa saber]

Publicados: 2020-12-07

O ciclo de vida do aprendizado de máquina é um conjunto de processos que incluem coleta de dados, limpeza de dados, engenharia de recursos, seleção de recursos, construção de modelos, ajuste de hiperparâmetros, validação e implantação de modelos.

Embora a coleta de dados possa assumir muitas formas, como pesquisas manuais, entrada de dados, web scrapping ou os dados gerados durante um experimento, a limpeza de dados é onde os dados são transformados em um formulário padrão que pode ser usado durante outros estágios do ciclo de vida .

O recente aumento do aprendizado de máquina também deu as boas-vindas a muitas empresas para adotar uma solução baseada em IA para seus produtos convencionais e, portanto, um novo capítulo do AutoML chegou ao mercado. Pode ser uma ótima ferramenta para configurar rapidamente soluções baseadas em IA, mas ainda existem alguns fatores preocupantes que precisam ser abordados.

Índice

O que é AutoML?

É esse conjunto de ferramentas que automatizam algumas partes do aprendizado de máquina, que é um processo automatizado de geração de previsões e classificações que levam a resultados acionáveis. Embora só possa automatizar a engenharia de recursos, a construção de modelos e, às vezes, os estágios de implantação, a maioria das ferramentas AutoML oferece suporte a vários algoritmos de aprendizado de máquina e quase o mesmo número de métricas de avaliação.

Quando esse tipo de ferramenta é iniciado, ele executa o mesmo conjunto de dados em todos os algoritmos, testa várias métricas associadas ao problema e apresenta um relatório detalhado. Vamos explorar algumas ferramentas famosas disponíveis no mercado e amplamente utilizadas.

H2O.ai

Uma das principais soluções em AutoML é o H2O.ai, que oferece soluções prontas para o setor para problemas de negócios que não codificam nada do zero. Isso permite que qualquer pessoa de qualquer domínio extraia insights significativos dos dados sem a necessidade de ter experiência em aprendizado de máquina.

O H2O é um código aberto que suporta todos os modelos de aprendizado de máquina e abordagens estatísticas amplamente utilizados. Ele foi desenvolvido para fornecer soluções super rápidas, pois os dados são distribuídos entre clusters e armazenados em um formato colunar na memória, permitindo operações de leitura paralelas.

As versões mais recentes deste projeto também têm suporte a GPU, o que o torna mais rápido e eficiente. Vamos ver como isso pode ser feito usando Python (execute o código no notebook jupyter para melhor compreensão):

!pip install h2o # execute isso se você não o instalou

importar água

h2o.init()

de h2o.automl importar H2OAutoML

df = h2o.import_file() # Aqui fornece o caminho do arquivo

y = 'target_label'

x = df.remover(y)

X_train, X_test, X_validate = df.split_frame(ratios=[.7, .15])

model_obj = H2OAutoML(max_models = 10, seed = 10, verbosidade=”info”, nfolds=0)

model_obj.train(x = x, y = y, training_frame = X_train, validation_frame=X_validate)

resultados = model_obj.leaderboard

Isso armazenará os resultados de todos os algoritmos exibindo suas respectivas métricas, dependendo do problema.

Leia: Ferramentas de aprendizado de máquina

Picaret

Esta é uma biblioteca bastante nova lançada este ano, que oferece suporte a uma ampla variedade de recursos do AutoML com apenas algumas linhas de código. Seja processando valores ausentes, transformando dados categóricos para modelar o formato alimentável, ajuste de hiperparâmetros ou até mesmo engenharia de recursos, o PyCaret automatiza tudo isso nos bastidores quando você pode se concentrar mais nas estratégias de manipulação de dados.

É mais um wrapper Python para todas as ferramentas e bibliotecas de aprendizado de máquina disponíveis, como NumPy, pandas, sklearn, XGBoost, etc. Vamos entender como você pode executar o problema de classificação usando o Pycaret:

!pip install pycaret # execute isso se você não o instalou

de pycaret.datasets importe get_data

da importação pycaret.classification *

df = get_data('diabetes')

configuração = setup(diabetes, target = 'variável de classe')

compare_models() # Esta função simplesmente exibe a comparação de todos os algoritmos!

selected_model = create_model() # passa o nome do algoritmo que deseja criar

modelo_previsto(modelo_selecionado)

final_model = finalize_model(selected_model)

save_model(final_model, 'file_name')

carregado = load_model('file_name')

Pronto, você acabou de criar um pipeline de transformação que executou a engenharia de recursos, treinou um modelo e o salvou!

Google DataPrep

Examinamos duas bibliotecas que automatizam a seleção de recursos, construção de modelos e ajustes para obter os melhores resultados, mas não discutimos como a limpeza de dados pode ser automatizada. Este processo pode ser automatizado com certeza, mas requer verificação manual sobre se os dados corretos são passados ​​ou se os valores fazem algum sentido ou não.

Mais dados são um ponto positivo para a construção do modelo, mas devem ser dados de qualidade para obter resultados de qualidade. O Google DataPrep é uma ferramenta inteligente de preparação de dados oferecida como plataforma como serviço que permite a limpeza visual dos dados, o que significa que você pode alterar os dados sem codificar nem uma única linha e apenas selecionar as opções.

Ele oferece uma GUI interativa, o que torna super fácil selecionar opções para executar as funções que você deseja aplicar. A melhor parte dessa ferramenta é que ela exibirá todas as alterações feitas no conjunto de dados em um painel lateral na ordem em que foram executadas e qualquer etapa pode ser alterada. Isso ajuda a acompanhar as mudanças. Você será solicitado com sugestões a serem feitas, na maioria das vezes corretas.

O arquivo resultante pode ser exportado para o armazenamento local ou, como esse serviço é fornecido no Google Cloud Platform, você pode levar esse arquivo diretamente para qualquer bucket do Google Storage ou tabelas do BigQuery, onde você pode realizar tarefas de aprendizado de máquina diretamente no editor de consultas. O principal revés para isso pode ser seus custos recorrentes, não é um projeto de código aberto e sim uma solução completa do setor.

Isso pode substituir os cientistas de dados?

Absolutamente não! O AutoML é ótimo e pode ajudar o Cientista de Dados a acelerar um ciclo de vida específico, mas sempre é necessário aconselhamento especializado. Por exemplo, levará muito tempo para obter o modelo certo para uma declaração de problema específica de um AutoML que executa todos os algoritmos do que de um especialista que o executará em algoritmos específicos que melhor se adequam ao problema.

Os cientistas de dados serão obrigados a validar os resultados desses tipos de automação e, em seguida, fornecer uma solução viável para os negócios. Os especialistas do domínio acharão essa automação muito útil, pois podem não ter muita experiência em obter insights dos dados, mas essas ferramentas os guiarão da melhor maneira.

Se você deseja dominar o aprendizado de máquina e aprender a treinar um agente para jogar jogo da velha, treinar um chatbot, etc., confira o curso PG Diploma de Aprendizado de Máquina e Inteligência Artificial do upGrad.

Lidere a revolução tecnológica orientada por IA

CERTIFICAÇÃO AVANÇADA EM APRENDIZAGEM DE MÁQUINA E NUVEM DO IIT MADRAS & UPGRAD
Saber mais