Assessment de Data Science: criar modelos de machine learning

ESTE ARTIGO EM 5 SEGUNDOS:
  • Este conteúdo é a continuação do artigo “Assessment de Data Science: como analisar a viabilidade de um projeto“.
  • Certamente já entendeu o valor que Data Science pode ter na sua empresa, e já analisou o seu pipeline de dados e objetivos de negócio.
  • Já decidiu qual o problema que deseja resolver e tem acesso à informação de que precisa, mas como começar a implementar uma solução de Data Science, e como criar modelos de machine learning? Descubra tudo neste artigo.

Precisamos de identificar qual o tipo de problema de Machine Learning

Existem três tipos de modelos de Machine Learning: supervised learning (aprendizagem supervisionada), unsupervised learning (aprendizagem não supervisionada) e reinforcement learning (aprendizagem por reforço).

1. Supervised Learning

Um modelo supervisionado requer o uso de um dataset etiquetado, e os dados de treino devem conter o valor que se está a tentar prever. São utilizados métodos para treinar o modelo a fazer essas mesmas previsões. Existem duas categorias principais de supervised learning: classificação e regressão.

A classificação tenta atribuir uma observação a uma classe específica de um set finito, fornecido na fase de treino do modelo. Exemplos disso são a deteção de spam ou a previsão de churn.

A regressão é utilizada para prever um valor numérico, como as receitas de vendas ou a procura.

Ainda que estas subcategorias sejam distintas, geralmente existem algoritmos semelhantes para ambas. No entanto, as métricas usadas para entender a qualidade do modelo são bastante diferentes.

2. Unsupervised Learning

A aprendizagem não supervisionada é o oposto da aprendizagem supervisionada, porque não requer labels no dataset. Por isso, os modelos não supervisionados não são tão poderosos como os modelos supervisionados, mas, como não exigem rotulagem (que pode tornar-se um processo longo, caro ou mesmo impossível), acabam por revelar-se muito úteis. Os métodos de unsupervised learning encontram padrões nos dados que podem ser usados para fins específicos. Como por exemplo, segmentação de clientes, deteção de anomalias e redução de dimensionalidade.

3. Reinforcement Learning

O Reinforncement Learning refere-se à classe de problemas na qual um agente interage com o ambiente. Ao contrário dos outros problemas, espera-se que o modelo interaja com o ambiente, através do conjunto de ações que pode executar, e que se adapte ao impacto das suas ações. Os carros autónomos ou os chatbots são bons exemplos deste modelo.

Batch vs online

E em relação à orquestração e consumo do modelo? Precisamos de um modelo que processe um conjunto de dados, num intervalo temporal fixo (todos os dias / todos os meses)? Ou procuramos um modelo que processe inputs on-demand, solicitando previsões de forma rápida e a qualquer momento? Estas previsões são denominadas de batch e online, e alguns modelos e frameworks adequam-se melhor a um ou a outro.

Por exemplo, uma ferramenta como o Spark permite o processamento de grandes volumes de dados em simultâneo, mas modelos treinados com recurso a Pyspark adequam-se pior a previsões online (pelo menos, em Spark runtime), devido ao tempo significativo de startup que o Spark requer. Se não necessitamos de previsões em tempo real, as previsões batch são a melhor opção, já que o processamento de dados em grandes blocos, geralmente, permite cálculos mais eficientes, e essas previsões podem ser facilmente armazenadas e acedidas. As previsões online também podem armazenar os outputs do modelo, mas a um custo computacional mais significativo, porque tendencialmente armazena, apenas, uma previsão de cada vez.

Quais as ferramentas usadas para criar o modelo

As ferramentas dependem do volume de dados. Se estivermos a trabalhar com dados que cabem facilmente na memória RAM, podemos utilizar frameworks de processamento de dados e modelação que mantêm os dados em memória. No caso de estarmos a trabalhar com Python, a biblioteca Pandas é a opção mais comum. Se os dados forem demasiado pesados para serem trabalhados em memória, existem alternativas para trabalhar numa única máquina, sendo Dask e Polars exemplos de bibliotecas Python que o permitem. Se for necessário escalar de forma horizontal, Spark é uma das melhores opções.

Acesso aos dados

Para desenvolver um modelo de machine learning, por norma, é necessário ter acesso a uma quantidade razoável de dados, que sejam relevantes para o problema que está a tentar resolver. Em alguns casos, pode encontrar datasets pré-existentes que são relevantes para o seu problema ou utilizar um modelo de machine learning open source, que, depois, pode ajustar.

É importante ter em conta que, embora os dados e as tecnologias existentes sejam recursos úteis, nem sempre são suficientes para necessidades mais específicas. Pode ser necessário adaptar a abordagem com base nos requisitos do seu problema e nos dados que tem disponíveis.

Pensamentos Finais

A escolha do modelo mais adequado para um problema é sempre um trade-off entre simplicidade, adaptabilidade à topologia dos dados e performance. Vários fatores, como os requisitos de negócios, dados a serem trabalhados, compreensão do problema e uso e evolução do modelo, influenciam o processo de seleção do próprio modelo.

Com tudo isso em mente, a nossa equipa está pronta para ajudar a resolver qualquer desafio complexo. Ajudamos as organizações a avaliar a viabilidade da aplicação de técnicas de Data Science para resolver desafios específicos na sua indústria. Com algumas sessões de consultoria, podemos identificar o problema e explorar o potencial dos dados da empresa, reduzindo o risco associado à implementação de uma solução nesta área.

Luís VicenteAssessment de Data Science: criar modelos de machine learning

Read more in

Data Science

Readers also checked out

Do you want to receive amazing news about the IT industry's hot topics and the best articles about state-of-the-art technology?
Subscribe to our newsletter and be the first one to receive information to keep you constantly on edge.