Os 9 principais algoritmos de ciência de dados que todo cientista de dados deveria conhecer

Publicados: 2020-02-13

Um 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.