Prévia do material em texto
O que é Ciência de Dados? Data Science, ou Ciência de Dados, em português, é uma área da Inteligência Artificial muito em voga atualmente, pois nos permite extrair conhecimento dessa massa de dados gigantesca que a humanidade tem produzido diariamente. · Vem para tratar o grande volume de informação; · Busca extrair conhecimento, padrão, comportamento; · Permite entender melhor o mundo em que vivemos. Ciência de Dados Sempre que se fala em Ciência de dados, surge uma imagem semelhante à exibida a seguir. Essa imagem apareceu inicialmente em Palmer, Shelly, Data Science for the C-Suite. New York: Digital Living Press, 2015, que tentava descrever um novo profissional que estava surgindo no mercado e que tinha por objetivo extrair conhecimento de grandes massas de dados, em geral com o objetivo de responder a uma pergunta de negócio. Em resumo, o que a figura quer dizer é que o profissional de Ciência de Dados deve possuir 3 expertises: · Conhecimento de Computação: que irá permitir ao profissional manipular corretamente os dados, criar programas que automatizem o processamento desses dados, utilizar algoritmos para extrair conhecimentos dos dados e criar modelos e soluções a partir do conhecimento extraído desses dados. · Envolve programação, conhecimento de lógica, utilização de ferramentas · É necessário que saiba integrar, produtizar as ferramentas. · Conhecimento de Estatística: que irá permitir ao profissional explorar e compreender os dados e construir modelos a partir desses dados. · É importante entender de dados, analisar, enxergar, visualizar dados, extrair cenários, histórias. · Conhecimento do Domínio: que permitirá ao profissional entender o problema a ser atacado e compreender o significado dos dados. · Para entender de dados é necessário entender do negócio, para saber o que o dado significa no mundo corporativo. · É muito difícil identificar causalidade · Ciclo de vida da ciência de dados A figura a seguir ilustra as etapas do Ciclo de Vida da Ciência de Dados: Fazer uma pergunta interessante: Começa pela pergunta, para que haja um processo de transformação e busca de dados para que a pergunta seja respondida Coletar os dados: Coletar os dados para que a analise possa ser feita Explorar os dados: É preciso conhecer os dados, ver se há ruídos nos dados, ter valores omissos, corrompidos, se os dados estão balanceados. Modelar dados: Construir modelos, para que o conhecimento seja extraído, ou que as regras sejam extraídas. Será preciso avaliar esses dados para saber se o modelo está robusto e consistente, se consegue representar o conhecimento, se ele irá funcionar com dados desconhecidos. Comunicar e visualizar os resultados: Após esse modelo será produtizado, comunicar os resultados, através de dashboards. O ciclo de vida do Processo de Ciência de Dados de Equipe A Microsoft publica e mantém o TDSP (Processo de Ciência de Dados da Equipe Links to an external site.), cujo objetivo é prover um conjunto de recomendações para a estruturação de equipes para projetos de Ciência de Dados. Ele propõe 5 etapas no processo: entendimento do negócio, aquisição e compreensão dos dados, modelagem, implantação e aceitação pelo cliente. A Figura a seguir é extraída do documento do TDSP e ilustra esse processo. Esse modelo define claramente os papéis das pessoas nas diversas etapas. É relevante ressaltar, no entanto que a fase de modelagem é um processo em si. Nesta etapa, é necessário se realizar três passos, que podem se repetir de forma iterativa, como num ciclo, até que se alcance o resultado pretendido. Esses passos são: 1. Engenharia de atributos: que consiste em se identificar e selecionar os atributos relevantes, e fazer transformações nos dados para que eles se adequem ao algoritmo de aprendizado e à proposta de treinamento. 2. Treinamento ou aprendizado: que consiste na fase de indução do modelo propriamente dito. Nesta fase, deve-se escolher o algoritmo, fazer o treinamento, ajustar os parâmetros do modelo e avaliá-lo quando à sua performance e capacidade de generalização. Este processo deve ficar em ciclos, até que se alcance um resultado aceitável. 3. Avaliação do modelo: deve-se fazer testes cruzados e testes com novas bases de dados operacionais, a garantir que o modelo atende aos requisitos do negócio. O eBook de Alice Zheng (2015), Evaluating Machine Learning Models, A Beginner's Guide to Key Concepts and Pitfalls Links to an external site.é uma excelente referência para quem deseja compreender melhor as armadilhas por trás da avaliação dos modelos de aprendizado de máquina. Tarefas da mineração de dados As funcionalidades de mineração de dados buscam identificar padrões em dados. Para definir os tipos de padrões a serem descobertos nas atividades de mineração de dados, são usados recursos e algoritmos diversos. Vamos conhecer as principais tarefas de mineração de dados realizadas no mercado. Tarefas da mineração de dados Corresponde aos tipos de problemas que serão resolvidos, os diversos problemas podem ser agrupados em grandes grupos e grandes grupos que exigem metodologias especificas para poder realizar uma aprendizagem Descrição de dados: –Caracterização e comparação É feito uma análise exploratória, os dados são caracterizados e comparados. Associação: –Descobrimento de regras. –Correlação para causalidade. Busco identificar regras que vão tentar explicar/ mapear alguma correlação Classificação e previsão: –Classificação baseada em valores. –Estimação de valores ou classes a partir de atributos. É um tipo de aprendizado supervisionado, eu já possuo uma base de dados pré-classificado, com um objetivo final, eu quero estimar os valores/classes a partir dos atributos de origem, são tarefas semelhantes. Clusterização ou segmentação: – Agrupar os dados por semelhança. A ideia é criar grupos de dados que sejam semelhantes, ou seja, é uma segmentação dos dados, os dados são particionados em cada grupo, espera-se que tenha uma característica própria que seja relevante. Análise de tendências e desvios em séries temporais: –Encontrar e caracterizar tendências, definir padrões ao longo do tempo, encontrar desvios de dados (controle de estoque). Tem como objetivo encontrar características, ou tentar caracterizar essas tendências como padrões ao longo do tempo. Pega uma curva e tento avaliar algo com base no histórico, para encontrar padrões que ajudem a prever qual será o valor no futuro. Indução de hipótese e viés indutivo Em aprendizagem de máquina (supervisionada), o objetivo é encontrar uma função (ou regra ou mapeamento) que mapeie as entradas nas saídas. Um agente deve aprender a função desconhecida com base em alguns exemplos de entradas com os valores das saídas correspondentes ( isto é, os valores da função desconhecida). Função f (x) representa o conhecimento do mundo, Função (h) é a hipótese representa os atributos, os dados que serão coletados do mundo. Aprende-se a função através dos exemplos Indução de hipóteses Formalmente, um exemplo, ou instância, é um par [x, f(x)], onde x é a entrada e f(x) é a saída da função desconhecida aplicada a x. · Indução –Dada uma coleção de exemplos de f, indução é uma maneira de encontrar uma função h que seja uma aproximação de f. · Hipótese –A função h é chamada de uma hipótese. · Generalização –É a capacidade de uma função hipótese prever corretamente exemplo ainda não vistos (quando da aprendizagem). Exemplo de Indução: Ajuste de uma curva aos pontos de dados Seja f(x) uma função de uma variável. Os exemplos são pares [x, f(x)], sendo x e f(x) números reais. O conjunto de exemplos é chamado de conjunto de treinamento. A função hipótese h é dita consistente se ela concorda com f em todos os exemplos do conjunto de treinamento. No gráfico, h não é consistente. Ao aumentar a complexidade do modelo, surgem novas hipóteses. Veja a seguir novas hipóteses para os dados disponíveis. Overfitting e Underfitting Se uma hipótese tem alta capacidade de previsão dos dados de treinamento e baixa capacidadede generalização, provavelmente o modelo pode ter sofrido overfitting. Nesse tipo o modelo super se ajusta aos dados de treinamento e perde a visão geral da antropologia de seus dados. Se uma hipótese tem baixa capacidade de previsão, mesmo nos dados de treinamento, pode ter sofrido underfitting. Não tem boa capacidade de previsão nos dados de treinamento, não se ajustou aos dados, ele precisa convergir para uma boa capacidade de previsão. Viés indutivo Viés indutivo: algoritmos possuem preferências quanto à representação dos dados e à geração de regras, que podem limitar a busca no espaço de hipóteses. O viés indutivo refere-se às restrições que são impostas pelas suposições feitas no método de aprendizagem. Todo algoritmo de aprendizado de máquina com alguma capacidade de generalizar além dos dados de treinamento, tem, por definição, algum tipo de viés indutivo. Cada algoritmo terá um viés, para atender um modelo com característica diferente. Estilos de aprendizado Os algoritmos de aprendizado podem ser classificados dependendo da forma como aprendem. Eles podem aprender a partir de dados (aprendizado supervisionado e não supervisionado), ou a partir de exploração do ambiente (aprendizado por reforço). Vamos entender um pouco melhor o que cada um significa. Aprendizado supervisionado –Dado possui rótulos (label) conhecidos (alvo/target). –Cria modelo para fazer previsões e se autocorrige quando as previsões são ruins até atingir acurácia aceitável. As classes já são pré-definidas Aprendizado não supervisionado –Dado não é rotulado ou não possui resultado conhecido. –Modelo deduz estruturas ou padrões a partir da entrada. Não há classes pré-definidas Aprendizado semisupervisionado -Mistura de dados rotulados (poucos) e não rotulados (muitos) -Existe uma previsão desejável, mas o modelo precisa organizar estruturas Ele combina as duas abordagens supervisionado e não supervisionado Aprendizado por reforço Um agente computacional interage com um ambiente dinâmico para atingir um objetivo. Não possui dados rotulados, mas recebe feedback do ambiente. Definição do problema A primeira e talvez a mais importante fase da Ciência de Dados é a fase de definição do problema. Mas muitos desafios são encontrados nessa. É preciso saber definir os problemas, para dar sequência no ciclo de dados. Redefinição do problema A gente precisa redefinir um problema abstrato eum um ou mais problemas específicos. Fatos: São fáceis de ser cadastrados Os julgamentos: Precisam ser Etapa inicial: análise de necessidades e definição do problema Problema: como limitar o número de variáveis; delimitar escopo → elaboração da estrutura do seu dataset. Solução: –Caso 1: pode ser delimitado com casamento baseado em horóscopo. Nova definição: Identificar todos os casamentos possíveis da população de 50.000 habitantes utilizando compatibilidade por horóscopo. –Caso 2: pode ser delimitado com alinhamento de variáveis. Por exemplo: redução das vendas está alinhada com redução da produção, baixos estoques? Nova definição: Análise da disponibilidade de produtos nas lojas que está causando a queda nas vendas. Etapa inicial: redefinição precisa do problema Problema: um problema não pode ser definido com precisão se somente é dado atenção aos dados que mostram diretamente o problema. É necessário uma análise de fatos e julgamentos. Fatos: Circunstâncias que causam diretamente o problema. Julgamentos: Observações a serem disputadas ou decididos. Caso 3: análise de risco para acidente de carro. À esquerda encontram-se os fatos que causam o acidente. À direita encontram-se possível novos fatores que podem impactar o risco de se envolver em um acidente de carro. Tipos de dados A base de toda a ciência de dados está nos tipos de dados com os quais iremos trabalhar. Os tipos de dados definem quais os algoritmos ou serviços de Inteligência Artificial que podemos usar. Eles também irão limitar os tipos de conclusões que poderemos chegar. Assista ao vídeo a seguir para entender o universos dos tipos de dados. Tipos de dados Qualitativos Tipos de dados qualitativos são os dados não numéricos. São aqueles dados formados por nomes, ou categorias. Eles podem ser binários ou multivalorados. Tipos de dados binários Uma característica muito importante de ser analisada nos dados binomiais é a simetria. Vamos ver como isso pode impactar nossos sistemas e como podemos diferenciar dados simétricos dos assimétricos? Tipos de dados polinomiais ordinais Dados polinomiais possuem mais de dois valores. Os dados ordinais possuem uma relação de ordem entre ele. Exemplos são: · pequeno, médio, grande. · criança, jovem, adulto, idoso. Perceba que, apesar da relação de ordem, o intervalo entre os elementos nem sempre é uniforme. Tipos de dados polinomiais não ordinais Por exemplo, uma indústria de equipamentos eletrônicos identificou diversos defeitos que estão acontecendo com seus dispositivos. Os defeitos são: A: Defeito no gabinete plástico do produto; B: Defeito na fonte de energia; C: Defeito no teclado; D: Defeito na placa de circuito; E: Defeito na tela; F: Mal contato. Este é um típico exemplo de dados qualitativos nominais não ordinal. Ele não pode ser ordenado, porque não existe uma relação de grandeza que permita uma ordem natural dos objetos. Tipos de dados Quantitativos Tipos de dados qualitativos são os dados numéricos. Eles podem ser dados discretos ou contínuos. Dados quantitativos discretos Dados quantitativos discretos possuem um conjunto finito (ou enumerável) de valores que eles podem assumir. São muito usados para representar contadores, por exemplo, número de consultas em um mês, número de produtos produzidos por uma máquina em um período de tempo, etc. Dados quantitativos contínuos Os dados quantitativos contínuos assumem valores em um intervalo contínuo de números. Em geral, este dado é obtido de medições de sensores. Por exemplo, temperatura, luminosidade, umidade são dados contínuos. Os tipos de dados quantitativos podem ser ter várias características diferentes. Veja essa videoaula para entender melhor que características são essas.