DATA SCIENCE
O que é Cientista de dados?
Ciência de dados é uma área interdisciplinar voltada para o estudo e a análise de dados econômicos, financeiros e sociais, estruturados e não-estruturados, que visa a extração de conhecimento, detecção de padrões e/ou obtenção de variáveis para possíveis tomadas de decisão.
Responder perguntas baseados em dados.
Dados e Linguagem de programação
Um cientista de dados precisa trabalhar com grande volume de dados.
Com grande volume de dados o Excel não é mais suficiente.
Para consultas e extrações de dados o SQL é fundamental.
Para manipular os dados é necessária uma linguagem de programação como o Python.
Modelos Machine Learning
A aprendizagem pode ser de 3 tipos:
Aprendizagem Supervisionada, quando é utilizado um agente externo que indica à rede a resposta desejada para o padrão de entrada;
Aprendizagem Não Supervisionada (auto-organização), quando não existe uma agente externo indicando a resposta desejada para os padrões de entrada;
Aprendizagem por Reforço, quando um crítico externo avalia a resposta fornecida pela rede.
Machine learning é projetado para resolver 3 problemas :
Regreção, Classificação e Clusterização.
Modelos de Regreção:
Rede Neural
Rede neural artificial(RNA) é uma abstração da rede neural biológica. Seu objetivo não é replicar, mas sim servir de modelo para o aprendizado de maquina. Sua Aprendizagem: as RNAs têm a capacidade de aprender através de uma fase chamada fase de aprendizagem. Trata-se de fornecer dados como entrada RNA, por sua vez, informando qual é a saída (resposta) que é esperada.
O exemplo mais antigo de redes neurais são as redes perceptron, com uma camada de nós de saída, conectados às entradas por conjuntos de pesos. Essa topologia pode ser considerada a forma mais simples de rede em avanço. A soma do produtos dos pesos pelas entradas é calculada por cada nó de saída e, se o valor calculado ultrapassar um certo limiar (geralmente 0), o neurônio dispara e ajusta a saída para o valor 1; se o valor calculado é menor que o limiar, a saída é ajustada para o valor -1. Neurônios com esse comportamento são chamados de neurônios de McCulloch-Pitts ou neurônios com limiar. Ao mesmo tempo, um algoritmo de aprendizado calcula a diferença entre a saída calculada e os dados de entrada e usa o valor da diferença para ajustar os pesos da rede.
Um exemplo mais contemporâneo de redes neurais são a família de Células Neurais Artificiais Paraconsistentes - CNAP’s: CNAPba, CNAPcls, CNAPclse, CNAPp, CNAPco, CNAPd, CNAPap, CNAPa, CNAPm.
Arquiteturas:
Os neurônios de uma RNAs devem estar conectados entre si, são dispostos em camadas, e os neurônios de uma mesma camada normalmente se comportam da mesma maneira. A disposição dos neurônios nas camadas e o padrão de conexão entre estas definem a arquitetura da RNA.
As redes sem realimentação (feedforward) têm neurônios agrupados em camadas. O sinal percorre a rede em uma única direção, da entrada para a saída. Os neurônios da mesma camada não são conectados.
Nas redes com realimentação ou recorrentes (recurrent), a saída de alguns neurônios alimentam neurônios da mesma camada (inclusive o próprio) ou de camadas anteriores. O sinal percorre a rede em duas direções, tem memória dinâmica e capacidade de representar estados em sistemas dinâmicos. Um exemplo é a rede de Hopfield.
Uma típica rede neural feedforward é um conjunto de nós. Alguns desses estão na camada de entrada, alguns nós na camada de saída, e os outros estão nas camadas intermediárias/escondidos. Cada conexão entre os neurônios tem um peso numérico.
CTRNN:
Redes neurais recorrentes de tempo contínuo (CTRNN), são usadas em conjunto com algoritmos genéticos para produzir controladores robóticos.
Redes ARTs:
ART(Teoria da Ressonância Adaptativa) são 3:
ART1: é capaz de aprender a categorizar padrões de entrada binários apresentados em ordem arbitrária.
ART2: pode aprender a categorizar padrões de entrada analógicos ou binários.
ART3 (ARTMAP): pode realizar uma busca paralela, ou teste de hipóteses, em códigos com reconhecimento distribuído.
Aplicação:
Reconhecimento Automático de Alvos; Reconhecimento de Caracteres; Robótica; Diagnóstico Médico; Sensoriamento Remoto; Processamento de Voz;
Aprendizado:
O algoritmo de aprendizado da rede ART 1 não é supervisionado e pode ser ativa a qualquer momento, permitindo que a rede aprenda novos padrões continuamente.
Existem 2 tipos de aprendizado na rede ART 1, o aprendizado rápido e o lento.
O processo de aprendizado da rede envolve 3 fases como: reconhecimento, comparação e busca.
Rede de Hopfield:
Rede neural associativa ou Rede de Hopfield.
O Scikit-learnpossui um módulo que nos permite usar um modelo de Rede Neural simples, mais precisamente uma MLP
Modulo :
Documentação :
Tutorial : Reconhecimento de escritaEx. de código :
# Importar a rede neural do SKLern.
from sklern.neural_network import MLPClassifier
Gradient Boosting Tree
Gradient Boosting é uma técnica de aprendizado de máquina para problemas de regressão e classificação, que produz um modelo de previsão na forma de um ensemble de modelos de previsão fracos, geralmente árvores de decisão . Ela constrói o modelo em etapas, como outros métodos de boosting, e os generaliza, permitindo a otimização de uma função de perda diferenciável arbitrária.
O Scikit-learn possui um módulo que nos permite usar este modelo.
Modulo SKLearn: sklearn.ensemble.GradientBoostingClassifier
Documentação SKLearn : Scikit-learn Gradient Boosting Classifier.
Random Forrest
Florestas aleatórias ou florestas de decisão aleatória são um método de aprendizagem de conjunto para classificação, regressão e outras tarefas que operam construindo uma infinidade de árvores.
Modulo : sklearn.ensemble.RandomForestClassifier
Documentação:https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html
Scikit-learn
Decision Tree
Uma árvore de decisão é uma representação de uma tabela de decisão sob a forma de uma árvore, porém pode haver outras aplicações. Tem a mesma utilidade da tabela de decisão. Trata-se de uma maneira alternativa de expressar as mesmas regras que são obtidas quando se constrói a tabela.
Modulo : sklearn.tree.DecisionTreeClassifier
Documentação:https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html
Scikit-learn
Linear Regression
Regressão linear (Linear regression)
Em estatística ou econometria, regressão linear é uma equação para se estimar a condicional de uma variável y, dados os valores de algumas outras variáveis x. A regressão, em geral, tem como objectivo tratar de um valor que não se consegue estimar inicialmente.
Modulo : sklearn.linear_model.LinearRegression
Documentação:https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
Scikit-learn
Modelos de Classificação:
Linear SVM
Oque é?
Modulo:
Documentação:
Scikit-learn
Naive Bayes
Oque é?
Modulo:
Documentação:
Scikit-learn
Baues
Oque é?
Modulo:
Documentação:
Scikit-learn
Decision Tree
Oque é?
Modulo:
Documentação:
Scikit-learn
Linear Regression
Oque é?
Modulo:
Documentação:
Scikit-learn
Kernel SVM
Oque é?
Modulo:
Documentação:
Scikit-learn
Arvore Aumento de Gradiente
Oque é?
Modulo:
Documentação:
Scikit-learn
Randon Florrest
Oque é?
Modulo:
Documentação:
Scikit-learn
Modelos de Clusterização:
GMM;
K-means;
k-models;
DBSCAN;
Hierárquico
Modelo ARIMA?
Estatistica
Estatística é a área da Matemática que estuda a coleta, registro, organização e análise dos dados de uma pesquisa.
- Parâmetros Desconhecidos
- Dados Observados
- Modelo (Dados - Parâmetros)
Estatística Frequentista
Na abordagem Frequentista (ou inferência estatística) a probabilidade é a repetição de eventos.
Quanto mais testes mais próximo da probabilidade real.
Quantas vezes cairá “cara”, ao se joga uma moeda (experimento)
- Parâmetros Desconhecidos são fixos
- Dados Observados são aleatorios (ex.: cara, coroa, cara)
- Modelo (Dados -> Parâmetros) Inúmeros modelos, decididos por critérios ótimos.
O critério ótimo é o que melhor atende o que foi definido.
Estatística Bayesiana
Na abordagem Bayesiana a probabilidade usa o termo probabilidade, da mesma forma que usamos esse termo diariamente, como uma medida condicional da incerteza P(E/D) associada com a ocorrência de um evento E, dada a informação disponível D.
Defini-se um valor inicial (que é chamado de Viés) e cruza com o experimento.
Com menos dados chega-se a um resultado mais rápido.
- Parâmetros do modelo são Aleatórios.
- Dados são fixo.
- Modelo único.
As tarefas de um Data Scientist são:
Questão de negócio
Entendimento do Negocio
Coleta de dados
Limpeza de dados
Exploração dos Dados
Modelagem de dados
Algoritmos de machine learning
Avaliação do Algoritmo
Modelo em Produção
Visualização de Dados e Storyteller
O que é Storytelling?
Storytelling é a arte de contar histórias usando técnicas inspiradas em roteiristas e escritores para transmitir uma mensagem de forma inesquecível.
Veja Seaborn
Storytelling de Resultados.
Apresentação dos Resultados.
Estratégia para apresentar resultados de forma que qualquer pessoa entenda.