Os 9 principais algoritmos de ciência de dados que todo cientista de dados deveria conhecer
Publicados: 2020-02-13Um algoritmo é um conjunto de regras ou instruções que são seguidas por um programa de computador para implementar cálculos ou realizar outras funções de resolução de problemas. Como a ciência de dados trata da extração de informações significativas para conjuntos de dados, há uma infinidade de algoritmos disponíveis para resolver o propósito.
Os algoritmos de ciência de dados podem ajudar na classificação, previsão, análise, detecção de padrões, etc. Os algoritmos também constituem a base das bibliotecas de aprendizado de máquina, como o scikit-learn. Portanto, ajuda a ter uma compreensão sólida do que está acontecendo sob a superfície.
Aprenda programas de ciência de dados das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.
Leia: Algoritmos de aprendizado de máquina para ciência de dados
Índice
Algoritmos de ciência de dados comumente usados
1. Classificação
Ele é usado para variáveis de destino discretas e a saída está na forma de categorias. Clustering, associação e árvore de decisão são como os dados de entrada podem ser processados para prever um resultado. Por exemplo, um novo paciente pode ser rotulado como “doente” ou “saudável” usando um modelo de classificação.
2. Regressão
A regressão é usada para prever uma variável de destino, bem como para medir a relação entre as variáveis de destino, que são de natureza contínua. É um método direto de traçar 'a linha de melhor ajuste' em um gráfico de um único recurso ou um conjunto de recursos, digamos x, e a variável de destino, y.
A regressão pode ser usada para estimar a quantidade de chuva com base na correlação anterior entre os diferentes parâmetros atmosféricos. Outro exemplo é prever o preço de uma casa com base em características como área, localidade, idade, etc.
Vamos agora entender um dos blocos de construção mais fundamentais dos algoritmos de ciência de dados – a regressão linear.
3. Regressão Linear
A equação linear para um conjunto de dados com N recursos pode ser dada como: y = b 0 + b 1 .x 1 + b 2 .x 2 + b 3 .x 3 + …..b n .x n , onde b 0 é alguma constante.
Para dados univariados (y = b 0 + b 1 .x), o objetivo é minimizar a perda ou erro ao menor valor possível para a variável retornada. Este é o objetivo principal de uma função de custo. Se você assumir que b 0 é zero e inserir valores diferentes para b 1 , você descobrirá que a função de custo de regressão linear tem forma convexa.
Ferramentas matemáticas auxiliam na otimização dos dois parâmetros, b 0 e b 1 , e minimizam a função custo. Um deles é discutido a seguir.
4. O método dos mínimos quadrados
No caso acima, b 1 é o peso de x ou a inclinação da linha, e b 0 é a interceptação. Além disso, todos os valores previstos de y estão na linha. E o método dos mínimos quadrados procura minimizar a distância entre cada ponto, digamos (x i , y i ), os valores previstos.
Para calcular o valor de b 0 , encontre a média de todos os valores de xi e multiplique-os por b 1 . Em seguida, subtraia o produto da média de todos os y i . Além disso, você pode executar um código em Python para o valor de b 1 . Esses valores estariam prontos para serem inseridos na função de custo, e o valor de retorno será minimizado para perdas e erros. Por exemplo, para b 0 = -34,671 e b 1 = 9,102, a função de custo retornaria como 21,801.
5. Descida do gradiente
Quando há vários recursos, como no caso de regressão múltipla, a computação complexa é feita por métodos como gradiente descendente. É um algoritmo de otimização iterativo aplicado para determinar o mínimo local de uma função. O processo começa tomando um valor inicial para b 0 e b 1 e continua até que a inclinação da função de custo seja zero.
Suponha que você tenha que ir a um lago localizado no ponto mais baixo de uma montanha. Se você tem visibilidade zero e está no topo da montanha, você começaria em um ponto onde a terra tende a descer. Depois de dar o primeiro passo e seguir o caminho de descida, é provável que você chegue ao lago.

Enquanto a função de custo é uma ferramenta que nos permite avaliar parâmetros, o algoritmo de gradiente descendente pode ajudar na atualização e treinamento dos parâmetros do modelo. Agora, vamos ver alguns outros algoritmos para ciência de dados.
6. Regressão logística
Enquanto as previsões da regressão linear são valores contínuos, a regressão logística fornece previsões discretas ou binárias. Em outras palavras, os resultados na saída pertencem a duas classes após a aplicação de uma função de transformação. Por exemplo, a regressão logística pode ser usada para prever se um aluno foi aprovado ou reprovado ou se vai chover ou não. Leia mais sobre regressão logística.
7. Agrupamento K-means
É um algoritmo iterativo que atribui pontos de dados semelhantes em clusters. Para fazer o mesmo, ele calcula os centróides de k clusters e agrupa os dados com base na menor distância do centróide. Saiba mais sobre análise de cluster na mineração de dados.
8. K-vizinho mais próximo (KNN)
O algoritmo KNN percorre todo o conjunto de dados para encontrar as k instâncias mais próximas quando um resultado é necessário para uma nova instância de dados. O usuário especifica o valor de k a ser usado.
9. Análise de Componentes Principais (PCA)
O algoritmo PCA reduz o número de variáveis capturando a variância máxima dos dados em um novo sistema de 'componentes principais'. Isso facilita a exploração e visualização dos dados.
Empacotando
O conhecimento dos algoritmos de ciência de dados explicados acima pode ser imensamente útil se você estiver apenas começando no campo. Compreender o âmago da questão também pode ser útil ao executar funções diárias de ciência de dados.
Se você está curioso para aprender sobre ciência de dados, confira o Programa PG Executivo em Ciência de Dados do IIIT-B & upGrad, que é criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, workshops práticos práticos, orientação com especialistas do setor, 1 -on-1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.
Quais são alguns dos pontos que devemos considerar antes de escolher um algoritmo de ciência de dados para ML?
Verifique a linearidade; o método mais fácil de fazer isso é ajustar uma linha reta ou realizar uma regressão logística ou SVM e procurar por erros residuais. Um erro maior indica que os dados não são lineares e que técnicas sofisticadas são necessárias para ajustá-los.
Os algoritmos de regressão Naive Bayes, Linear e Logística são simples de construir e executar. SVM, que requer ajuste de parâmetros, redes neurais com tempo de convergência rápido e florestas aleatórias exigem uma quantidade significativa de tempo para treinar os dados. Como resultado, faça sua escolha com base no seu ritmo preferido.
Para gerar previsões confiáveis, normalmente é recomendável coletar uma grande quantidade de dados. No entanto, a disponibilidade de dados é frequentemente um problema. Se os dados de treinamento forem restritos ou o conjunto de dados contiver menos observações e um número maior de recursos, como dados genéticos ou textuais, use algoritmos com alto viés/baixa variância, como regressão linear ou SVM linear.
O que são algoritmos flexíveis e restritivos?
Como eles criam uma variedade limitada de formas de funções de mapeamento, alguns algoritmos são considerados restritivos. A regressão linear, por exemplo, é uma técnica limitada, pois só pode criar funções lineares como linhas.
Alguns algoritmos são considerados flexíveis porque podem criar uma gama maior de formas de funções de mapeamento. KNN com k=1 é muito versátil, por exemplo, pois considera todos os pontos de dados de entrada ao gerar a função de saída de mapeamento.
Se uma função é capaz de prever um valor de resposta para uma determinada observação que esteja próximo do valor de resposta verdadeiro, então isso é caracterizado como sua precisão. Uma técnica que é altamente interpretável (modelos restritivos como Regressão Linear) significa que cada preditor individual pode ser compreendido, enquanto os modelos flexíveis fornecem maior precisão às custas de baixa interpretabilidade.
O que é o algoritmo Naive Bayes?
É um algoritmo de classificação baseado no Teorema de Bayes e na suposição de independência do preditor. Em termos simples, um classificador Naive Bayes afirma que a presença de uma característica em uma classe não está relacionada à presença de qualquer outra característica. O modelo Naive Bayes é simples de construir e é particularmente útil para grandes conjuntos de dados. Devido à sua simplicidade, Naive Bayes é conhecido por derrotar até mesmo os algoritmos de classificação mais poderosos.