As principais técnicas que todo Cientista de Dados deve conhecer

Aranha-céu em construção - Dubai - 2018

Você conhece as principais técnicas de Machine Learning?

Vivemos uma era (2020) em que todas as organizações (pelo menos aquelas que estão liderando o seu setor) utilizam alguma técnica de machine learning ou software de predição/análise de dados. Muitas tarefas manuais vem sendo automatizadas, os computadores deixaram de apenas jogar xadrez e passaram a apoiar em cirurgias, recomendar produtos e a construir literalmente (impressoras 3D).

Será que o prédio à direita utilizou Data Science em seu planejamento?

Será os prédios da próxima década serão construídos da mesma forma?

Vivemos em um mundo de constante progresso onde a computação vem avançando dia a dia e já nos permite prever o que acontecerá no futuro próximo. Os algoritmos ou modelos de machine learning(ML) são expressões matemáticas que representam informações ou dados no contexto de um problema específico, geralmente um problema de negócio.

O principal objetivo é retirar insights a partir dos dados.

Exemplos:

  1. Uma empresa gostaria de saber qual a previsão de vendas para o próximo trimestre através do seu e-commerce. Ela poderia usar ML para prever as vendas baseadas em vendas passadas e em outras informações relevantes.

  2. Uma fábrica poderia utilizar dados históricos de defeitos em equipamentos e máquinas e estimar quando determinada máquina poderia quebrar e assim, criar uma rotina de manutenção preventiva para evitar que um determinado setor pare de produzir.

Para desmistificar um pouco essa área de conhecimento tão importante, destacamos algumas das principais técnicas que todo cientista de dados deveria conhecer:

  1. Classificação;

  2. Regressão;

  3. Clusterização;

  4. Redução de Dimensionalidade;

  5. Transfer Learning (Transferência de Aprendizado);

  6. Deep Learning;

  7. Reinforcement Learning (Aprendizado por Reforço);

  1. Classificação:

Está na classe de aprendizado supervisionado, os métodos são capazes de predizer qual a classe alvo a partir de informações de entrada. Tem como saída valores discretos.

Por exemplo, os métodos de classificação podem dizer se um consumidor será um
"Comprador" ou "Não-Comprador" de determinado produto. Pode ser usado em problemas com múltiplas classes também.

Outro exemplo, dada uma determinada imagem, um algoritmo de classificação pode ajudar a avaliar o seu conteúdo:

  1. A imagem contém um carro.

  2. A imagem contém um caminhão.

  3. A imagem não contém nem um caminhão nem um carro.

Com base na resposta um sistema pode autorizar ou não o seu acesso a algum serviço, afinal, qualquer humano é capaz de identificar um carro em uma figura, correto? Esse serviço já existe para evitar acessos automatizadas (com robôs) a alguns sites. Eu tenho certeza que você já utilizou.

2. Regressão:

Exemplo de classificação utilizado pelo reCAPTCHA

Exemplo de reCAPTCHA com imagens de carros. Esse é fácil, mas aposto que você já foi mais desafiado para conseguir logar não foi?

Também é um tipo de aprendizado supervisionado. Os algoritmos ajudam a prever um valor numérico particular baseado em dados passados. Por exemplo, qual o valor de venda de uma casa, utilizando como parâmetros as vendas recentes de casas com propriedades similares.

A regressão linear mais simples é através da utilização de equações matemáticas de reta (y = m *x + b) para modelar um conjunto de dados. Com um conjunto de dados do tipo (x, y) podemos calcular uma equação que represente o comportamento dessas variáveis e nos permita prever um y, dado um número x.

Um exemplo mais concreto pode ser a previsão de consumo de energia elétrica utilizando como parâmetros o tamanho do prédio, idade, número de andares e o número de salas por andar. Podemos utilizar uma linha de ajuste para estimar o consumo de energia desse edifício.


Regressão: Linha de ajuste para prever o consumo de energia

3 . Clusterização:

With clustering methods, we enter the category of unsupervised machine learning because their purpose is to group observations that have similar characteristics. Clustering methods do not use the output information for the training purpose but leave the algorithm in order to set the output. In the clustering procedure, we can only use visualizations to control the quality of final solution.

K-Means is the most popular classification method, where “K” represents the number of clusters the user chooses to create. (Note that there are a plethora of techniques for choosing the K value, such as the elbow method.)

Basically, what K-Means does with data points:

Randomly chooses K centers in the data.

Recalculate the center of each cluster.

Assign each data point to the nearest randomly created centers.

If the centers do not change, the process is over. Otherwise, we return to step 2. (In order to avoid ending in an infinite loop if the centers continue to change, set a maximum number of iterations in advance.)


The below-mentioned graphic applies K-Means to a building dataset. Each column of this graph shows the efficiency of each building. The 4 measures concern air conditioning, connected equipment (refrigerators, microwaves, etc.), heating gas and domestic gas. We chose K = 2 for grouping, which makes it easy to interpret one cluster as a group of various efficient buildings and the other group as inefficient buildings. On the left, you can see the location of the buildings and on the right, you see two of the four dimensions we used as inputs: the heating gas and the connected equipment.

In exploring clustering, you will encounter some very useful algorithms, such as noise-based application density-based spatial clustering (DBSCAN), cluster hierarchical clustering, medium-shift clustering, expectation-maximization clustering with the use of Gaussian mixing patterns, among others.




4. Redução de Dimensionalidade