Machine learning com Apache Spark

Machine learning com Apache Spark
Mirla Costa
Mirla Costa

Compartilhe

Nos estudos de Machine Learning temos vários frameworks, bibliotecas e outras outras tecnologias que ajudam a montar nossos modelos da forma que precisamos. No entanto, a escolha de qual ferramenta utilizar depende muito do projeto que precisa ser construído.

Big Data é uma área de pesquisa e conhecimento que busca por maneiras de tratar, analisar e gerar conhecimento através de grandes conjuntos de dados (na ordem de terabytes). Projetos que trabalham com Big Data e aprendizado de máquina têm uma demanda crescente no mercado de Data Science.

Muitas pessoas se deparam com problemas em lidar com esse tipo de dado, utilizando as bibliotecas mais conhecidas para criação de modelos. Na linguagem Python, por exemplo, a scikit-learn é uma das mais populares bibliotecas open source para Machine Learning. Ela oferece aporte de vários conjuntos de modelos supervisionados e não-supervisionados para aprendizado de máquina e, por esse motivo, é muito utilizada em estudos e montagem de projetos.

Banner de divulgação da Imersão IA da Alura em colaboração com o Google. Mergulhe em Inteligência artificial com a Alura e o Google. Serão cinco aulas gratuitas para você aprender a usar IA na prática e desenvolver habilidades essenciais para o mercado de trabalho. Inscreva-se gratuitamente agora!

No entanto, quando o volume de dados aumenta e precisamos utilizar recursos como processamento distribuído para otimizar as respostas de nossos modelos, as bibliotecas padrões que utilizamos podem não dar suporte a estes recursos .A saída, em casos como esse, é a transferência para o Apache Spark.

O Apache Spark é um framework que executa rapidamente o processamento de grandes volumes de dados. Além disso, ele permite que as tarefas possam ser executadas entre várias máquinas. Já o Spark MLlib é uma ferramenta do Apache Spark que permite a montagem de aplicações com aprendizado de máquina.

A API de Machine Learning do Spark contém dois pacotes. A primeira versão do MLlib foi desenvolvida com base em RDD, que é a estrutura de dados fundamental do Spark. Ela ainda é compatível, mas está apenas em modo de manutenção. Essa versão está em org.apache.spark.mllib.

Como os outros componentes de análise de dados unificados do Spark, o MLlib está mudando para APIs baseadas em DataFrames para fornecer mais facilidade no uso e tirar proveito das otimizações do Spark SQL. A nova versão da API pode ser localizada em org.apache.spark.ml.

Um ponto interessante é que, por conta destes pacotes, a API baseada no MLlib DataFrame é referenciada como Spark ML. Esse não é um nome oficial, mas esta nomenclatura é bastante utilizada entre a comunidade.

MLlib é uma biblioteca do Spark que permite a construção de algoritmos em alta qualidade, escalabilidade e velocidade. Ela oferece várias ferramentas que dão suporte na montagem de modelos de aprendizado de máquina. Entre eles temos algoritmos para modelos de classificação, regressão, clusterização e filtragem colaborativa.

A MLlib se integra perfeitamente a outros componentes do Spark, como Spark SQL, que dá suporte a operações de tratamento de dados como a extração, transformação, redução e seleção de características. Além disso, o Apache Spark sempre se mantém atualizado, de modo que bugs e demais problemas são constantemente corrigidos. A versão mais recente da biblioteca MLlib é a 3.0. Nessa versão, foi realizada a remoção de algumas funções e correções de ambiente, entradas e saídas.

Portanto, a Spark MLlib é uma ótima opção de ferramenta para construção de modelos de Machine Learning, principalmente quando eles precisam ser aplicados em grandes volumes de dados. Além disso, ela não fica para trás em outras opções de bibliotecas que são comumente utilizadas, pois oferece um suporte de vários algoritmos de aprendizado de máquina e tratamento de dados.

Mirla Costa
Mirla Costa

Instrutora em Data Science, graduanda em Engenharia Elétrica pela UFPI com pesquisa focada em Aprendizado de Máquina e Inteligência Computacional. Amante de programação, tecnologia, cachorros, animações e jogar RPG de mesa.

Veja outros artigos sobre Data Science