Prévia do material em texto
AULA 1 – INTRODUÇÃO A CIENCIA DE DADOS O que é Ciência de Dados? Ciência de Dados (DS) é uma área interdisciplinar que utiliza dados para extrair conhecimento, identificar padrões e tomar decisões estratégicas. Ela envolve habilidades em programação, estatística, matemática, domínio específico e análise de dados. Por que estudar Ciência de Dados? • Aumento exponencial da geração de dados (Big Data); • Custo decrescente de armazenamento de dados; • Maior capacidade de processamento; • Avanços tecnológicos; • Potencial para gerar conhecimento e vantagens em diversas áreas. Diferenças entre Senso Comum e Ciência de Dados: • Senso Comum: conhecimento básico do dia-a-dia, imediato e intuitivo. • Conhecimento aprofundo: baseado em observação sistemática, questionamento constante e busca por provas. Paradigmas da Ciência: • Ciência Empírica: baseada em observação. • Ciência Teórica: baseada em teorias, modelos e estudos matemáticos. • Ciência Computacional: baseada em simulações computacionais. • E-Science: baseada em dados e evidências. Exemplos de Revoluções Científicas: • Ptolomeu: Geocentrismo (Terra parada no centro do universo). • Copérnico: Heliocentrismo (Sol no centro do universo). • Galileu Galilei: comprovação do Heliocentrismo. Frase importante: "Dados são o novo petróleo." Observações: • Nem todo programador é um bom analista de dados. • Ciência de Dados exige capacidade de abstração e mente aberta. • Metodo cientifico: observar, questionar, hypoteses, experimentos, analises e conclusão. Questionário sobre Ciência de Dados: 1. Qual a diferença entre Senso Comum e Ciência de Dados? • (a) Senso Comum é conhecimento básico e imediato, enquanto Conhecimento Aprofundando é conhecimento secundario e questionador. • (b) Senso Comum é científico, enquanto Conhecimento Aprofundando é intuitiva. • (c) Senso Comum é utilizado para tomar decisões estratégicas, enquanto Conhecimento Aprofundando é para gerar conhecimento. • (d) Senso Comum é baseado em dados, enquanto Conhecimento Aprofundado é baseada em observação. 2. O que é um paradigma científico? • (a) Um modelo de pensamento que explica o funcionamento do universo. • (b) Uma teoria científica comprovada por meio de experimentos. • (c) Uma ferramenta utilizada para coletar dados. • (d) Um conjunto de regras para realizar pesquisas científicas. 3. Qual o principal objetivo da Ciência de Dados? • (a) Coletar o maior número possível de dados. • (b) Armazenar dados de forma segura e eficiente. • (c) Extrair conhecimento e identificar padrões a partir de dados. • (d) Programar computadores para analisar dados. 4. Por que o Big Data é um fator importante para o crescimento da Ciência de Dados? • (a) Porque o Big Data permite armazenar mais dados. • (b) Porque o Big Data torna os dados mais baratos. • (c) Porque o Big Data aumenta a capacidade de processamento de dados. • (d) Todas as alternativas acima. 5. Qual a frase do texto que destaca a importância da Ciência de Dados? • (a) "Dados são o novo petróleo." • (b) "Ciência de Dados é uma ciência." • (c) "Nem todo programador é um bom analista de dados." • (d) "Estudar Ciência de Dados tem muito a ver com sua capacidade de abstração." Respostas: 1. (a) 2. (a) 3. (c) 4. (d) 5. (a) AULA 2 – CIENCIA DE DADOS E A INDUSTRIA 4,0 Dados, Informação e Conhecimento na Era Digital Introdução: O texto aborda a importância dos dados na era digital, destacando sua transformação em ativos valiosos para as empresas. Ele apresenta conceitos como Big Data, Internet das Coisas (IoT), Data Science e Business Intelligence, além de discutir a Indústria 4.0 e a Lei Geral de Proteção de Dados (LGPD). Desenvolvimento: • Dados: São elementos indivisíveis que registram fatos ou eventos. Eles são a base para a geração de informação e conhecimento. • Informação: Conjunto de dados organizados e contextualizados, que fornecem significado e compreensão sobre algo. • Conhecimento: Informação processada e integrada à experiência e habilidades do indivíduo, permitindo a tomada de decisões e a resolução de problemas. • Indústria 4.0: Quarta revolução industrial, marcada pela inteligência artificial, Big Data, computação em nuvem, robótica autônoma e outras tecnologias. • Big Data: Grandes conjuntos de dados que não podem ser processados por ferramentas tradicionais. São caracterizados por volume, variedade e velocidade. • Internet das Coisas (IoT): Conexão de objetos físicos à internet, permitindo a coleta e troca de dados em tempo real. • Data Science: Ciência que utiliza métodos estatísticos e computacionais para extrair insights de grandes volumes de dados. • Business Intelligence (BI): Conjunto de ferramentas e tecnologias que permitem a visualização e análise de dados para auxiliar na tomada de decisões. Conclusão: O texto destaca a importância do gerenciamento e da análise de dados para o sucesso das empresas na era digital. Através da utilização de ferramentas e técnicas adequadas, as empresas podem transformar dados em conhecimento e tomar decisões mais assertivas, impulsionando sua competitividade e crescimento. Questionário: 1. O que é um dado? • Resposta: Um dado é um elemento indivisível que registra um fato ou evento. 2. Qual a diferença entre dado, informação e conhecimento? • Resposta: • Dado: Elemento básico, sem significado por si só. • Informação: Dado organizado e contextualizado, que fornece significado. • Conhecimento: Informação processada e integrada à experiência, permitindo a tomada de decisões. 3. O que caracteriza a Indústria 4.0? • Resposta: Adoção de tecnologias como inteligência artificial, Big Data, computação em nuvem, robótica autônoma e outras para a automação industrial. 4. O que é Big Data? • Resposta: Grandes conjuntos de dados que não podem ser processados por ferramentas tradicionais, caracterizados por volume, variedade e velocidade. 5. O que é a Internet das Coisas (IoT)? • Resposta: Conexão de objetos físicos à internet, permitindo a coleta e troca de dados em tempo real. 6. Qual a relação entre Data Science e Big Data? • Resposta: A Data Science utiliza métodos estatísticos e computacionais para extrair insights de grandes volumes de dados (Big Data). 7. Qual a diferença entre Data Science e Business Intelligence (BI)? • Resposta: • Data Science: Foco em projetar cenários futuros e identificar oportunidades a partir de dados. • Business Intelligence: Foco na análise de dados históricos e atuais para auxiliar na tomada de decisões estratégicas. 8. Qual a importância da LGPD? • Resposta: A LGPD regula a coleta, armazenamento e uso de dados pessoais no Brasil, visando proteger a privacidade dos cidadãos. AULA 4 – MERCADO PROFISSIONAL PARA CIENCIA DE DADOS O que é Ciência de Dados? Ciência de Dados é uma área multidisciplinar que combina técnicas de matemática, estatística, computação e inteligência artificial para extrair conhecimento de dados e tomar decisões. Profissionais na Área de Ciência de Dados: • Cientista de Dados: • Analisa dados em profundidade. • Domina linguagens de programação, modelos estatísticos e ferramentas de visualização. • Desenvolve modelos preditivos e produtos de dados. • Engenheiro de Dados: • Constrói e mantém infraestrutura para coleta, manipulação e armazenamento de dados. • Domina ferramentas como bancos de dados NoSQL, Apache Spark, Hadoop e Docker. • Garante a qualidade e performance dos dados. • Analista de Dados: • Geralmente atua com Business Intelligence (BI), focando em relatórios e dashboards. • Pode ter funções similares ao Cientista de Dados, mas com foco em áreas específicas do negócio. Mercado de Trabalho: • Alta demanda por profissionais qualificados. • Diversas oportunidades em empresas de diferentes portes e setores. • Salários competitivos. Como se Destacar no Mercado: • Desenvolver um portfólio sólido com projetos de Ciência de Dados. • Participar de competiçõesonline como Kaggle e DrivenData. • Contribuir para a comunidade de desenvolvedores através de blogs, fóruns e grupos online. • Atuar como freelancer para ganhar experiência e construir networking. • Manter-se atualizado com as últimas tecnologias e ferramentas da área. Recursos Adicionais: • Lista de sites para encontrar vagas de emprego: Indeed, Simply Hired, Workana, Upwork, Freelancer, Codementor, Toptal. • Lista de sites para participar de competições: Kaggle, TopCoder, DrivenData, Codalab, HackerHank, Hash Code, Machine Hack. • Dica bônus: https://free-for.dev/ Questionário sobre o Texto: 1. Qual a principal diferença entre Cientista de Dados e Engenheiro de Dados? (a) O Cientista de Dados se concentra na análise e modelagem de dados, enquanto o Engenheiro de Dados se concentra na infraestrutura e no armazenamento de dados. (b) O Cientista de Dados trabalha com dados qualitativos, enquanto o Engenheiro de Dados trabalha com dados quantitativos. (c) O Cientista de Dados precisa ter formação em matemática e estatística, enquanto o Engenheiro de Dados precisa ter formação em computação. (d) O Cientista de Dados é responsável por desenvolver produtos de dados, enquanto o Engenheiro de Dados é responsável por coletar dados. 2. Qual a importância de um portfólio para um profissional de Ciência de Dados? (a) Demonstrar suas habilidades e experiência para potenciais empregadores. (b) Manter-se atualizado com as últimas tecnologias da área. (c) Construir networking com outros profissionais da área. (d) Todas as alternativas acima. 3. Quais são algumas maneiras de se destacar no mercado de trabalho de Ciência de Dados? (a) Participar de competições online como Kaggle e DrivenData. (b) Contribuir para a comunidade de desenvolvedores através de blogs, fóruns e grupos online. (c) Atuar como freelancer para ganhar experiência e construir networking. (d) Todas as alternativas acima. 4. Qual o site recomendado para encontrar mais informações sobre oportunidades de trabalho em Ciência de Dados? (a) https://free-for.dev/ (b) https://www.kaggle.com/ https://free-for.dev/ https://www.kaggle.com/ https://free-for.dev/ (c) https://www.indeed.com/ (d) https://www.workana.com/ 5. Qual a principal habilidade que um Cientista de Dados precisa ter? (a) Domínio de linguagens de programação como Python e R. (b) Conhecimento de estatística e probabilidade. (c) Capacidade de comunicação e visualização de dados. (d) Todas as alternativas acima. Respostas: 1. (a) 2. (d) 3. (d) 4. (c) 5. (d) AULA 5 – JUPYTER NOTEBOOK E GOOGLE COLAB O texto apresenta o Python como linguagem de programação fundamental para Data Science (DS) e discute as ferramentas Jupyter Notebook e Google Colab para auxiliar no desenvolvimento e aprendizado. Python para Data Science: • O Python é uma linguagem de alto nível, interpretada, multiplataforma e com tipagem dinâmica e forte. • É uma ótima opção para DS devido à sua ampla gama de bibliotecas e frameworks específicos para a área. • A escolha entre Python e R para DS depende das suas preferências e necessidades. Começando com Python: • Se você já usa Python, ótimo! Continue aprimorando suas habilidades. • Se não usa Python, instale o Anaconda (https://www.anaconda.com/), um kit que facilita o início com Python e R. • O Anaconda inclui o Python e diversas bibliotecas úteis para DS. Ferramentas para Desenvolvimento: • IPython: Um shell para Python com recursos avançados, como a criação de notebooks para registrar atividades. • Jupyter Notebook: Uma evolução do IPython, permitindo o desenvolvimento em Python no navegador web. • Jupyter Lab: A próxima geração do Jupyter Notebook, com suporte para abas, extensões e mais recursos. Google Colab: • Uma plataforma online similar ao Jupyter Notebook, mas hospedada na nuvem pelo Google. • Vantagens: • Não precisa instalar o Anaconda, Python ou Jupyter. • Gerenciamento de bibliotecas automatizado. • Acesso gratuito a GPUs e TPUs. • Acessível de qualquer lugar com internet. • Compartilhamento fácil. • Desvantagens: • Execução interrompida após algumas horas. • Bibliotecas não disponíveis precisam ser reinstaladas a cada execução. Conclusão: • Jupyter Notebook e Google Colab são ferramentas valiosas para desenvolvedores de DS. https://www.anaconda.com/ https://www.workana.com/ https://www.indeed.com/ • Escolha a ferramenta que melhor atende às suas necessidades e pratique bastante para aprimorar suas habilidades em Python e Data Science. Questionário: 1. Qual a linguagem de programação mais utilizada em Data Science? • (a) Python • (b) R • (c) Java • (d) C++ 2. Qual ferramenta permite o desenvolvimento de Python no navegador web? • (a) Anaconda • (b) IPython • (c) Jupyter Notebook • (d) Google Colab 3. Qual a principal vantagem do Google Colab em relação ao Jupyter Notebook instalado localmente? • (a) Não precisa instalar softwares. • (b) Gerencia bibliotecas automaticamente. • (c) Permite acesso a GPUs e TPUs gratuitas. • (d) Todas as alternativas acima. 4. Qual a principal desvantagem do Google Colab? • (a) Requer instalação do Anaconda. • (b) Gerenciamento manual de bibliotecas. • (c) Execução interrompida após algumas horas. • (d) Necessidade de conexão à internet. 5. Qual ferramenta será utilizada nesta disciplina para o desenvolvimento em Python? • (a) Anaconda • (b) IPython • (c) Jupyter Notebook • (d) Jupyter Lab Respostas: 1. (a) Python 2. (c) Jupyter Notebook 3. (d) Todas as alternativas acima. 4. (c) Execução interrompida após algumas horas. 5. (d) Jupyter Lab AULA 6 – BIBLIOTECA NUMPY O que é o NumPy? • É uma biblioteca crucial para processamento numérico em Python, utilizada por diversos pacotes científicos. • Permite operações matemáticas rápidas em arrays multidimensionais, sem loops, além de outras funcionalidades. • Essencial para profissionais de Data Science dominarem, junto com estruturas de dados do Python. Funcionalidades Importantes: • Operações em Vetores: Tratamento, limpeza, geração de subconjuntos, transformações e outros. • Ordenação, Unicidade e Conjuntos: Funções para organização e análise de dados. • Estatísticas Descritivas: Cálculo de medidas como média, mediana, desvio padrão, etc. • Agregação e Sintetização de Dados: Resumir e analisar conjuntos de dados de forma eficiente. • Expressões Lógicas Condicionais: Substituem loops com "if" e "else", com grande ganho de performance. • Manipulação de Dados em Grupos: Agrupar, transformar e aplicar funções em conjuntos de dados. Vantagens: • Eficiência: Projetado para lidar com arrays grandes de forma rápida. • Flexibilidade: Permite diversas operações matemáticas e manipulações de dados. • Base para outras bibliotecas: Utilizado por Pandas e outras ferramentas de Data Science. NDArray: • O objeto central do NumPy, armazenando arrays multidimensionais de forma eficiente. • Permite operações matemáticas em blocos inteiros, similar a operações escalares. • Todos os elementos possuem o mesmo tipo de dado. • Atributos: shape (dimensão) e dtype (tipo de dado). • Diversos métodos e funções disponíveis para manipulação. Demonstração: • Um notebook demonstrando as principais funcionalidades do NumPy está disponível para download no material de apoio. • Replique a demonstração para aprofundar seu conhecimento! Dicas para o Sucesso: • Explore e pratique o NumPy! • Concentre-se nos tipos de dados principais: ponto flutuante, complexo, inteiro, booleano, string e objeto. • Pense em arrays com mais de 2 dimensões. • Revise a aula quantas vezes forem necessárias para solidificar seu aprendizado. Lembre-se: • O NumPy é uma ferramenta poderosa para Data Science, mas exige prática e dedicação para dominá-la. • Estude o material de apoio, explore exemplos e pratique bastante para se tornar um especialista em NumPy! Questionário sobre a Biblioteca NumPy: 1. Qual a abreviação de NumPy e qual sua importância em Data Science? 2. Cite 3 funcionalidadesimportantes do NumPy para operações em vetores. 3. Como o NumPy auxilia na manipulação de dados em grupos? 4. Qual a principal vantagem do NumPy em relação à eficiência? 5. O que é um NDArray e quais suas características principais? 6. Descreva a importância da demonstração prática do NumPy para o aprendizado. 7. Quais os tipos de dados mais comuns em um NDArray? 8. Cite dicas para se tornar um especialista em NumPy. Respostas: 1. NumPy significa Numerical Python. É crucial para processamento numérico, utilizado por diversos pacotes científicos e essencial para profissionais de Data Science. 2. Operações em vetores: tratamento, limpeza, geração de subconjuntos, transformações e outros. 3. Manipulação em grupos: agrupar, transformar e aplicar funções em conjuntos de dados. 4. Eficiência: projetado para lidar com arrays grandes de forma rápida. 5. NDArray: objeto central do NumPy, armazenando arrays multidimensionais com eficiência. Permite operações matemáticas em blocos, com elementos do mesmo tipo. Atributos: shape (dimensão) e dtype (tipo de dado). Diversos métodos e funções disponíveis. 6. Demonstração prática: aprofunda o conhecimento sobre as funcionalidades do NumPy através da aplicação prática. 7. Tipos de dados: ponto flutuante, complexo, inteiro, booleano, string e objeto. 8. Dicas para se tornar um especialista: explorar e praticar o NumPy, focar nos tipos de dados principais, pensar em arrays com mais de 2 dimensões, revisar a aula e buscar materiais de apoio. EXEMPLO CODIGOS: # Importar a biblioteca import numpy as np # Gerar Dados Aleatórios dados = np.random.rand(2,3) # Tipo do Array dados.dtype # Tamanho e quantidade de dimensões dados.shape dados.ndim # Criar ndarray usando a função array lista = [1,2,5,7.8,1.25] dados2 = np.array(lista) lista2 = [[1,2,3,4],[4,3,2,1]] dados3 = np.array(lista2) # Outras maneiras de criar arrays dadoszero = np.zeros(10) dadoszero2 = np.zeros((2,3)) dadosum = np.ones(5) dadosseq = np.arange(10) dadosseq2 = np.arange(0,20,2) dadosseq.dtype dadosseqf = dadosseq.astype(np.float64) # Aritmética com Arrays dados4 = np.array([[1,2,3],[4,5,6]]) dados4 * dados4 dados4 - dados4 1 / dados4 dados5 = dados4 + dados4 dados5 > dados4 # Indexação dadosseq[5] dadosseq[3:6] dadosseq[3:6] = 20 fatiadados = dadosseq[2:4] fatiadados[1] = 2000 dadosseq fatia2 = dadosseq[2:4].copy() fatia2[:] = 111 dadosseq # Array com mais de uma dimensão dados6 = np.array([[1,2,3],[4,5,6],[7,8,9]]) dados6[1,2] # Máscaras mascara = (dadosseq < 100) dadosseq[dadosseq < 20] = 8888 dadosseq # Transposição dados7 = np.arange(15).reshape((3,5)) dados7 dados7.T # Multiplicação de Matrizes com Dots np.dot(dados7.T, dados7) AULA 7 – BIBLIOTECA PANDAS O que é Pandas? • Uma biblioteca Python para análise e manipulação de dados tabulares e multidimensionais. • Ideal para limpeza, organização e análise de dados. • Extremamente popular entre Cientistas de Dados por sua praticidade e eficiência. Estruturas Básicas: • Series: Armazena arrays unidimensionais de dados com rótulos (índices) para cada valor. • Imagine uma coluna em uma planilha do Excel, com rótulos nas linhas e valores nas células. • Dataframe: Estrutura tabular similar a uma planilha do Excel, com várias colunas (variáveis) e linhas (observações). • Cada coluna pode ter um tipo de dado diferente (numérico, texto, booleano, etc.). • Possui índices para linhas e colunas, facilitando a manipulação e análise dos dados. Vantagens do Pandas: • Flexibilidade: Trabalha com dados heterogêneos (diferentes tipos) em arrays e tabelas. • Eficiência: Processa grandes conjuntos de dados com rapidez e praticidade. • Versatilidade: Oferece diversas funções para limpeza, análise, visualização e manipulação de dados. • Integração: Combina-se facilmente com outras bibliotecas de Ciência de Dados (NumPy, Matplotlib, etc.). Resumo em Pontos: • Pandas para dados tabulares e multidimensionais. • Series: arrays com rótulos. • Dataframe: tabelas com linhas, colunas e índices. • Vantagens: flexibilidade, eficiência, versatilidade e integração. Questionário com Respostas: 1. Qual a principal função da biblioteca Pandas? • R: Analisar e manipular dados tabulares e multidimensionais. 2. Qual a diferença entre Series e Dataframe no Pandas? • R: Series: Armazena arrays unidimensionais com rótulos (imagine uma coluna em uma planilha).Dataframe: Estrutura tabular similar a uma planilha, com várias colunas e linhas (várias variáveis e observações). 3. Cite 3 vantagens de usar o Pandas. • R: Flexibilidade com dados heterogêneos, eficiência no processamento e versatilidade para análise e manipulação. 4. Qual biblioteca é mais adequada para trabalhar com arrays homogêneos? • R: NumPy, enquanto Pandas é ideal para dados tabulares e heterogêneos. 5. O que é índice no Pandas e qual sua função? • R: Rótulos para linhas e colunas em Dataframes, facilitando a organização, manipulação e análise dos dados. EXEMPLOS DE CODIGO PANDAS # Importar Bibliotecas import pandas as pd # Series (observe o índice do lado esquerdo) s1 = pd.Series([1, 2, -5, 0]) s1 s1.values s1.index s2 = pd.Series([1, 2, -5, 0], index=['a', 'b', 'c', 'd']) s2 s2.index s2['a'] = 1000 s2 # Comparação s2[s2 > 0] # Algebra s2 * 2 s2 s2.isnull() # Criar Dataframe dados = {'estado': ['SP', 'MG', 'PR', 'SP', 'MG', 'PR'], 'ano': [2019, 2019, 2019, 2020, 2020, 2020], 'pop': [45.9, 21.2, 16.9, 46.6, 21.4, 17.3]} df1 = pd.DataFrame(dados) df1.head(2) df1.tail(2) df1.sample(2) # Novo DF a partir o anterior (veja as colunas) df2 = pd.DataFrame(dados, columns=['ano', 'estado', 'pop']) df2 # Observar DF df2['estado'] df2.ano df2.dtypes # Atribuir Valores df2['estimativa'] = 50 df2 df2['estimativa'] = np.arange(6) df2 df3 = df2 df3 df3 = df2['ano'] df3 df2['Não Paraná'] = df2.estado != 'PR' df2 # Excluir Coluna del df2['Não Paraná'] df2 # Entender o DataFrame df2.shape df2.shape[0] df2.index df2.columns df2.count() # Alterar Informação das Colunas df2.columns = ['Ano', 'estado', 'Populacao', 'estimativa'] df2 # Analisar o DataFrame df2.describe(include='all') # Alterar valores e consultar dados df2['Ano'] = df2['Ano'] + 2 df2 df2[df2['Ano'] > 2021] df4 = df2[df2['Ano'] > 2021] df4 # Excluir Colunas df4.drop('Ano', axis='columns') df4 df2 df2.drop('Ano', axis='columns', inplace=True) df2 # Excluir Linhas df2.drop([0, 1]) df2 ### Observe a propagação na exclusão definitiva dflinhas = df2 dflinhas.drop([0, 1], inplace=True) dflinhas df2 # Ver Dados de linhas df2.iloc[0] df2.iloc[1:3] df2.iloc[1:3, [1, 2]] df2 EXERCICIOS RESOLVIDOS import numpy as np import pandas as pd # 1 - Carregue as bibliotecas NumPy e Pandas import numpy as np # 2 - Crie um NDArray com os seguintes valores [1, 2.5, 7, -78, -0.9, 130, 25] lista=[1, 2.5, 7, -78, -0.9, 130, 25] dados=np.array(lista) dados # 3 - Crie um NDArray com os valores de 0 a 10 dados=np.arange(11) dados # 4 – Crie um NDArray de dimensão 2x5 com valores 1 dados=np.ones((2,5)) dados # 5 – Crie um NDArray com valores de 1 a 100, com intervalos de 3 em 3. dados=np.arange(1, 100, 3) dados # 6 – Mostre as raízes quadradas dos valores do NDArray criado no exercícios 5. np.sqrt(dados) # 7 – Altere a décima posição do NDArray criado no exercício 5 com o dobro do seu valor. dados[9]=dados[9]*2 dados # 8 – Execute o comando para criar um Dataframe com os dados disponíveis no notebook. dados={'Empresa':['Microsoft', 'Google','Univesp','NVData Analytics','Power Bi Experience','USP'], 'Qtde Func':[1000, 1500,500, 100,100,499], 'Site':['https://www.microsoft.com/pt-br','https://www.google.com/','https://univesp.br/', 'https://www.nvdata.com.br/','https://powerbiexperience.com/pt/','https:// www.usp.br/'], 'Instagram': ['@microsoft','@google','@univespoficial','@nv_data','@leokarpa','@usp.oficial'], 'Criação':[1975,1998,2012,2019,2016,1934],'País':['EUA','EUA','Brasil','Brasil','Brasil','Brasil']} df1=pd.DataFrame(dados) df1 # 9 – Execute um comando que seja possível identificar qual a média da quantidade de funcionários que as empresas listadas tem. Informe também a soma dos funcionários que as empresas tem. df1.describe() df1['Qtde Func'].sum() # 10 – Mostre as primeiras 3 linhas do dataframe. df1.head(3) # 11 – Mostre as últimas 3 linhas do dataframe. df1.tail(3) # 12 – Liste apenas as linhas em que as empresas foram criadas nos últimos 10 anos. Informe a quantidade de registros. df1[df1['Criação']>=2011] # 13 – Vamos imaginar que em todas as empresas exista 1 chefe para cada 23 funcionários. Crie uma coluna que mostre a quantidade de chefes que cada empresa teria e depois informe quantos chefes teríamos ao todo. (os valores não precisam ser números inteiros, é apenas uma estimativa). df1['Chefes']=df1['Qtde Func']/23 df1 df1.Chefes.sum() faça um resumo do testo abaixo pois tenho uma prova e crie um questionario a respeito do assunto com respostas no final: AULA 8 – INTRODUÇÃO AS BIBLIOTECAS SCIKIT-LEARN, MATPLOTLIB E SEABORN Introdução às Bibliotecas: • Scikit-Learn: Uma biblioteca de aprendizado de máquina de código aberto que suporta aprendizado supervisionado e não supervisionado, oferecendo diversas ferramentas para ajuste de modelo, pré-processamento de dados, seleção e avaliação de modelo, entre outros. • Visualização: A visualização de dados através de imagens, gráficos ou cartografia simplifica conteúdos para permitir a compreensão de uma ideia geral. É uma arte que facilita a percepção e tomada de decisão em diversas áreas do conhecimento. Biblioteca Scikit-Learn: • Oferece datasets como Boston House-Prices, Breast Cancer, Diabetes, Digits e Iris para testes e aprendizado. • Site: https://scikit-learn.org/stable/index.html Visualização: • A visualização é crucial em Data Science, facilitando a compreensão dos resultados e evitando interpretações equivocadas. • Dominar a visualização é uma arte, envolvendo a compreensão de tipos de gráficos e o uso correto para representar os dados de forma clara e precisa. Bibliotecas MatPlotLib e Seaborn: • São bibliotecas de visualização de dados em Python, com Seaborn sendo baseada em MatPlotLib. • MatPlotLib é mais completa, mas requer configurações manuais, enquanto Seaborn possui configurações automáticas e visual mais estilizado. Questionário: Introdução às Bibliotecas: 1.1. O que é a biblioteca Scikit-Learn e quais são suas principais funcionalidades? - A Scikit-Learn é uma biblioteca de aprendizado de máquina de código aberto que oferece suporte ao aprendizado supervisionado e não supervisionado. Suas principais funcionalidades incluem ajuste de modelo, pré-processamento de dados, seleção e avaliação de modelo, entre outros utilitários. 1.2. Qual é a importância da visualização de dados na comunicação de ideias? - A visualização de dados é essencial na comunicação de ideias, pois simplifica conteúdos complexos, permitindo uma compreensão mais rápida e fácil da informação apresentada. Biblioteca Scikit-Learn: 2.1. Quais datasets são oferecidos pela Scikit-Learn para testes e aprendizado? - A Scikit-Learn oferece datasets como Boston House-Prices, Breast Cancer, Diabetes, Digits e Iris para testes e aprendizado. 2.2. Qual é o site oficial da biblioteca Scikit-Learn? - O site oficial da biblioteca Scikit-Learn é https://scikit-learn.org/stable/index.html. https://scikit-learn.org/stable/index.html Visualização: 3.1. Por que a visualização é considerada uma arte no contexto de Data Science? - A visualização é considerada uma arte em Data Science porque envolve a habilidade de comunicar informações complexas de forma clara e impactante, utilizando elementos visuais como gráficos e imagens. 3.2. Qual é a importância de entender e explorar diferentes tipos de gráficos na visualização de dados? - Entender e explorar diferentes tipos de gráficos na visualização de dados é importante para escolher a representação visual mais adequada para os dados em questão, garantindo uma comunicação eficaz dos insights extraídos da análise. Bibliotecas MatPlotLib e Seaborn: 4.1. Qual a relação entre as bibliotecas MatPlotLib e Seaborn? - A biblioteca Seaborn é baseada na MatPlotLib. 4.2. Quais são as principais diferenças entre MatPlotLib e Seaborn em termos de configurações e visualização? - A MatPlotLib é mais completa, mas requer configurações manuais, enquanto a Seaborn possui configurações automáticas e visual mais estilizado. Finalizando: 5.1. Por que a visualização é considerada tão importante em projetos de Data Science? - A visualização é considerada importante em projetos de Data Science porque permite comunicar efetivamente insights e resultados, facilitando a compreensão dos dados pelos usuários e auxiliando na tomada de decisões. 5.2. Qual é a vantagem de dominar bibliotecas de visualização como MatPlotLib e Seaborn em projetos de Data Science? - Dominar bibliotecas de visualização como MatPlotLib e Seaborn permite implementar visualizações que impactam e facilitam a compreensão dos dados pelos usuários, melhorando a qualidade e eficácia dos projetos de Data Science. AULA 9 – INTRODUÇÃO WEB SCRAPING Web Scraping: Definição: Web Scraping é a prática de coletar dados de páginas da web de forma automatizada, sem o uso de APIs. Objetivo: Essa técnica é utilizada para extrair informações necessárias para projetos ou automatizar processos anteriormente realizados manualmente. Utilização: É comum quando não há disponibilidade de bases de dados públicas ou quando os dados estão disponíveis apenas através de páginas web. Biblioteca BeautifulSoup: Descrição: BeautifulSoup é uma biblioteca popular em Python para realizar Web Scraping. Funcionamento: Ela constrói uma árvore a partir dos elementos de uma página web, facilitando o acesso e a extração das informações desejadas. Requisitos: Para utilizá-la, é necessário ter instaladas a biblioteca Requests e um parser HTML. Finalização: Importância do Web Scraping: Em muitos projetos de ciência de dados, a captação de dados via scraping é essencial. Conhecimento e Eficiência: O conhecimento prévio do conteúdo a ser coletado torna o scraping mais eficaz. Recomendação de Bibliotecas: Além do BeautifulSoup, outras bibliotecas como Selenium e Scrapy também são recomendadas para diferentes necessidades. Questionário: Web Scraping: 1.1. O que é Web Scraping? - Web Scraping é a prática de coletar dados de páginas da web de forma automatizada, sem o uso de APIs. 1.2. Por que o Web Scraping é utilizado? - É utilizado para extrair informações necessárias para projetos ou automatizar processos anteriormente realizados manualmente. 1.3. Em que situações o Web Scraping é uma solução viável? - Quando não há disponibilidade de bases de dados públicas ou quando os dados estão disponíveis apenas através de páginas web. Biblioteca BeautifulSoup: 2.1. Qual é a função da biblioteca BeautifulSoup? - A função da BeautifulSoup é facilitar a extração de informações de páginas da web, construindo uma árvore a partir dos elementos encontrados. 2.2. Quais são os requisitos para utilizar a BeautifulSoup? - Para utilizar a BeautifulSoup, é necessário ter instaladas a biblioteca Requests e um parser HTML. 2.3. Descreva brevemente como a BeautifulSoup funciona. - A BeautifulSoup constrói uma árvore a partir dos elementos de uma página web, o que facilita o acesso e a extração das informações desejadas. Finalização: 3.1. Qual é a importância do Web Scraping em projetos de ciência de dados? - O Web Scraping é importante em projetos de ciência de dados para a captação de dados de páginas da web de forma automatizada. 3.2. Como o conhecimento prévio do conteúdo a ser coletado influencia na eficácia do scraping? - O conhecimento prévio do conteúdo a ser coletado torna o scraping mais eficaz, pois permite uma melhor seleção e extraçãodas informações desejadas. 3.3. Além do BeautifulSoup, quais outras bibliotecas são recomendadas para Web Scraping? - Além do BeautifulSoup, outras bibliotecas recomendadas para Web Scraping são o Selenium e o Scrapy. AULA 10 – ARQUIVOS Carga de Dados: • Projetos de Data Science dependem fortemente de dados, e uma parte significativa do trabalho de um cientista de dados é carregar, limpar, organizar e transformar esses dados. • Os dados podem vir em uma variedade de formatos e precisam ser carregados para dentro do projeto. • Às vezes, os dados tratados precisam ser devolvidos ao contexto externo do projeto em diferentes formatos. Tipos de Arquivos: • Além de formatos comuns como CSV, XLS, XML e JSON, o contexto de Data Science e Big Data apresenta formatos menos comuns, como arquivos binários MessagePack, dados do sistema SAS, arquivos HDF, entre outros. • Às vezes, não é possível escolher o tipo de dado que um projeto precisará consumir. Pandas: • A biblioteca Pandas oferece diversas funcionalidades para lidar com arquivos, incluindo funções como read_csv, read_excel, read_html e read_json. • Essas funções facilitam muito o processo de carga de dados e são capazes de lidar com diferentes tipos de arquivos. Fontes de Dados: • Existem inúmeras fontes de dados públicas disponíveis para serem utilizadas em projetos de Data Science, como Kaggle, dados do governo brasileiro, Instituto Johns Hopkins, UCI Machine Learning, entre outros. • Muitas vezes, a fonte de dados pode ser uma API, como a api de teste https://randomuser.me/api, que gera dados aleatórios de uma pessoa. Gravar Dados / Demonstração: • Assim como é feita a carga de dados, é necessário gravar dados em muitas ocasiões. • Existem funções para realizar essas gravações, incluindo as opções de gravação de dados fornecidas pela biblioteca Pandas. Finalizando: • Coletar e armazenar dados em arquivos é uma tarefa essencial para quem trabalha com Data Science. • É importante conhecer os diferentes tipos de formatos de dados e saber como lidar com eles em diferentes estágios de um projeto de Data Science. Questionário: 1. Por que projetos de Data Science precisam de dados e qual é uma parte significativa do trabalho de um cientista de dados? • Projetos de Data Science dependem de dados para análise e modelagem. Uma parte significativa do trabalho de um cientista de dados é carregar, limpar, organizar e transformar esses dados. 2. Quais são alguns tipos comuns de arquivos mencionados que são utilizados para armazenar dados? • Alguns tipos comuns de arquivos incluem CSV, XLS (Excel), XML, JSON e arquivos de texto. 3. Além dos formatos comuns, que outros formatos de arquivos são mencionados no contexto de Data Science e Big Data? • Alguns outros formatos mencionados incluem arquivos binários MessagePack, dados do sistema SAS, arquivos HDF, entre outros. 4. Como a biblioteca Pandas pode facilitar o processo de carga de dados? • A biblioteca Pandas oferece funções como read_csv, read_excel, read_html e read_json, que facilitam a leitura de diferentes tipos de arquivos de dados. 5. Quais são algumas fontes de dados públicas disponíveis para serem utilizadas em projetos de Data Science? • Algumas fontes de dados públicas incluem Kaggle, dados do governo brasileiro, Instituto Johns Hopkins, UCI Machine Learning, entre outros. 6. O que é uma API e como ela pode ser utilizada como fonte de dados? • Uma API (Interface de Programação de Aplicativos) permite que aplicativos se comuniquem entre si. Uma API pode ser utilizada como fonte de dados, fornecendo acesso a informações específicas que podem ser consumidas por um projeto de Data Science. 7. Qual é a importância de conhecer os diferentes tipos de formatos de dados em um projeto de Data Science? • Conhecer os diferentes tipos de formatos de dados é importante para saber como lidar com eles nos diferentes estágios de um projeto de Data Science, desde a carga inicial de dados até a análise e modelagem. AULA 11 – KDD E ANALISE DE DADOS Processo de Descoberta de Conhecimento (KDD): • Definição: Um processo interativo e iterativo para identificar padrões compreensíveis, válidos, novos e potencialmente úteis a partir de conjuntos de dados. • Etapas: 1. Seleção: Escolha do conjunto de dados relevante. 2. Pré-processamento: Limpeza e preparação dos dados para análise. 3. Transformação: Aplicação de técnicas para melhorar a qualidade dos dados. 4. Mineração de Dados: Extração de padrões e insights dos dados. 5. Interpretação: Avaliação dos resultados e consolidação do conhecimento. Análise Exploratória de Dados (AED): • Objetivo: Examinar os dados antes da aplicação de técnicas estatísticas. • Importância: Permite ao cientista de dados: • Familiarizar-se com os dados. • Identificar relações entre as variáveis. • Compreender a estrutura dos dados. • Etapas: • Análise Descritiva: Resumo das características dos dados (estatísticas descritivas). • Visualização de Dados: Gráficos e tabelas para visualizar os dados e identificar padrões. • Detecção de Anomalias: Identificação de valores discrepantes ou inconsistentes. Relação entre KDD e AED: • A AED pode ser considerada como as três primeiras etapas do KDD. • A AED fornece uma base sólida para a mineração de dados eficaz. Considerações Adicionais: • Tipos de Dados: • Quantitativos: Contínuos (peso, altura) ou discretos (idade, número de filhos). • Qualitativos: Nominais (sexo, cor) ou ordinais (nível educacional, classificação). • Exploração de Dados: • Ferramentas e técnicas para analisar e visualizar os dados. • Objetivo: Extrair informações relevantes e identificar padrões. Conclusão: • O KDD e a AED são ferramentas essenciais para o cientista de dados. • O KDD fornece um framework para a descoberta de conhecimento em dados. • A AED ajuda a compreender os dados e preparar para a mineração de dados eficaz. Questionário com Respostas: 1. Qual a principal diferença entre o KDD e a AED? • R: O KDD é um processo completo para descobrir conhecimento em dados, enquanto a AED é uma etapa inicial do KDD que visa compreender os dados. 2. Quais são as etapas do KDD? • R: Seleção, Pré-processamento, Transformação, Mineração de Dados e Interpretação. 3. Qual a importância da AED no KDD? • R: A AED fornece uma base sólida para a mineração de dados eficaz, permitindo ao cientista de dados familiarizar-se com os dados e identificar padrões. 4. Cite dois exemplos de tipos de dados quantitativos. • R: Contínuos: Peso, altura. Discretos: Idade, número de filhos. 5. Qual a diferença entre variáveis nominais e ordinais? • R: Variáveis nominais não possuem ordem (sexo, cor). Variáveis ordinais possuem ordem (nível educacional, classificação). 6. Descreva a importância da exploração de dados. • R: A exploração de dados permite ao cientista de dados extrair informações relevantes e identificar padrões nos dados, auxiliando na tomada de decisões. 7. Cite três ferramentas que podem ser utilizadas para visualizar dados. • R: Gráficos de barras, histogramas, boxplots. 8. Qual a importância de detectar anomalias nos dados? • R: A detecção de anomalias permite identificar valores discrepantes ou inconsistentes que podem afetar a qualidade da análise. 9. Como o KDD e a AED podem ser aplicados em um projeto de Data Science? • R: O KDD fornece um framework para o desenvolvimento do projeto, enquanto a AED auxilia na compreensão dos dados e na escolha das técnicas de análise mais adequadas. 10. Quais as habilidades e conhecimentos necessários para realizar um projeto de Data Science com sucesso? • R: Conhecimento em estatística, programação, machine learning, domínio da área de aplicação do projeto e capacidade de comunicação. AULA 12 – PREPARAÇÃO E PRE-PROCESSAMENTO DE DADOS PARTE 1 Pré-processamento dos Dados: • O pré-processamento dos dados é uma etapa essencial que antecede o uso de modelos de machine learning em projetos de Data Science. • Visamelhorar a qualidade dos dados, eliminando ruídos, imperfeições e ajustando-os para um uso mais adequado. • É importante conhecer o processo completo de um projeto de Data Science para realizar o pré- processamento com assertividade. • Os conjuntos de dados podem apresentar diferentes características, como estrutura, formato, e tipos de dados. • Técnicas de pré-processamento incluem ajustes para melhorar a qualidade e relevância dos dados. Integração de Dados: • Integração de dados envolve combinar dados de diferentes fontes ou conjuntos de dados. • É necessária quando os dados provêm de diversas fontes e precisam ser combinados para análise ou modelagem. • Aspectos como correspondência de atributos e informações numéricas ou linguísticas podem ser desafios na integração. Eliminação Manual de Atributos: • Às vezes, é necessário eliminar manualmente atributos dos dados, como nomes em bases que precisam ser anonimizados ou atributos irrelevantes para análise preditiva. • Atributos que não contribuem para a estimativa de um valor devem ser eliminados. Amostragem de Dados: • Algoritmos de machine learning podem ter dificuldades com grandes conjuntos de dados, levando à saturação de memória. • A amostragem de dados envolve trabalhar com uma amostra representativa do conjunto de dados original para evitar desempenhos ruins no processamento. • A acurácia do modelo tende a aumentar com mais dados, mas a eficiência computacional diminui. Dados Desbalanceados: • Dados desbalanceados ocorrem quando as classes estão representadas de forma desigual. • Isso pode afetar o desempenho dos algoritmos de machine learning, que tendem a favorecer a classificação das classes majoritárias. • Técnicas como redefinir o tamanho do conjunto de dados ou ajustar os custos de classificação podem ser utilizadas para lidar com dados desbalanceados. Limpeza dos Dados: • A qualidade do modelo e dos resultados depende da qualidade dos dados. • Dados ruidosos, inconsistentes, redundantes ou incompletos podem impactar negativamente os resultados de uma análise. • Dados incompletos podem ser tratados eliminando objetos com valores ausentes ou preenchendo manualmente os valores. Dados Inconsistentes e Redundantes: • Dados inconsistentes possuem valores conflitantes em seus atributos, enquanto dados redundantes são objetos ou atributos muito semelhantes. • Identificar e eliminar dados inconsistentes e redundantes é importante para garantir a qualidade e precisão dos modelos de análise. Questionário: 1. O que é o pré-processamento de dados e qual sua relação com a análise exploratória de dados? Resposta: O pré-processamento de dados é uma fase que antecede o uso de modelos de machine learning e busca melhorar a qualidade dos dados, eliminando ruídos, imperfeições e ajustando os dados para um uso mais adequado. Enquanto a análise exploratória de dados investiga os dados em sua forma bruta, o pré-processamento prepara os dados para análises mais aprofundadas. 2. Por que é importante conhecer o processo completo de um projeto de Data Science para realizar o pré-processamento de dados com assertividade? Resposta: Conhecer o processo completo de um projeto de Data Science é fundamental para entender onde se quer chegar, quais modelos computacionais serão testados e que tipo de respostas se deseja obter. Isso ajuda a direcionar o pré-processamento de forma mais eficaz e assertiva. 3. Quais são algumas características que os conjuntos de dados podem apresentar? Resposta: Os conjuntos de dados podem apresentar diferentes dimensões, formatos e características, como dados estruturados (qualitativos ou quantitativos) e dados não estruturados, além de ruídos, valores incorretos, atributos independentes ou correlacionados, entre outros. 4. Quais são os principais objetivos das técnicas de pré-processamento de dados? Resposta: As técnicas de pré-processamento têm como principal objetivo melhorar a qualidade dos dados e eliminar elementos que possam gerar resultados incorretos no processamento dos dados, além de ajustar os dados para um uso mais adequado. 5. Por que é importante conhecer os termos utilizados na literatura ao realizar o pré- processamento de dados? Resposta: É importante compreender os termos utilizados na literatura para garantir uma comunicação eficaz e uma compreensão clara das técnicas e processos de pré-processamento de dados. 6. Explique o que é integração de dados e por que ela é necessária em projetos de Data Science. Resposta: Integração de dados é o processo de combinar dados de diferentes fontes ou conjuntos de dados. Isso é necessário em projetos de Data Science quando os dados são provenientes de diversas fontes e é preciso combiná-los para análise ou modelagem. 7. Qual é um exemplo de situação que demandaria a integração de dados? Resposta: Um exemplo seria a necessidade de integrar dados de investimento em marketing de uma API com dados de vendas de uma plataforma digital para análise conjunta. 8. Por que é importante eliminar manualmente certos atributos dos dados? Resposta: A eliminação manual de atributos muitas vezes é necessária para remover atributos irrelevantes para a análise ou que possam comprometer a privacidade dos dados, como nomes em uma base de dados que precisam ser anonimizados. 9. Como a amostragem de dados pode ajudar a lidar com conjuntos de dados grandes? Resposta: A amostragem de dados pode ajudar a reduzir a quantidade de dados a serem processados, tornando o processo mais eficiente e escalável, sem comprometer significativamente a acurácia do modelo. 10.O que são dados desbalanceados e como eles podem afetar os algoritmos de machine learning? Resposta: Dados desbalanceados são aqueles em que as classes estão representadas de forma desigual. Isso pode levar os algoritmos de machine learning a favorecer a classificação das classes majoritárias, prejudicando a acurácia do modelo para as classes minoritárias. 11.Quais são algumas técnicas para lidar com dados desbalanceados? Resposta: Algumas técnicas incluem redefinir o tamanho do conjunto de dados, ajustar os custos de classificação e utilizar técnicas específicas para lidar com dados desbalanceados, como classificação com apenas uma classe ou treinamento separado por classe. 12.Por que a limpeza de dados é importante para a qualidade dos modelos de Data Science? Resposta: A limpeza de dados é importante porque a qualidade do modelo e dos resultados obtidos depende diretamente da qualidade dos dados utilizados. Dados ruidosos, inconsistentes, redundantes ou incompletos podem impactar negativamente os resultados de uma análise. 13.Quais são algumas causas de dados incompletos e como eles podem ser tratados? Resposta: Dados incompletos podem ocorrer devido a diversos fatores, como atributos não considerados importantes durante a coleta ou valores ausentes por distração no preenchimento. Eles podem ser tratados eliminando objetos com valores ausentes, preenchendo manualmente os valores ou utilizando métodos para definir valores automaticamente. 14.Explique o que são dados inconsistentes e como eles podem ser identificados e tratados. Resposta: Dados inconsistentes são aqueles que possuem valores conflitantes em seus atributos, como idade e peso incompatíveis. Eles podem ser identificados verificando relações entre atributos conhecidos e tratados removendo manualmente os dados inconsistentes. 15.Por que é importante identificar e eliminar dados redundantes? Resposta: Dados redundantes podem induzir o modelo de análise a interpretações incorretas, pois eles podem criar a falsa sensação de que um perfil de objeto é mais importante que os demais. Identificar e eliminar dados redundantes ajuda a garantir a qualidade e a precisão dos modelos de análise. AULA 13 – PREPARAÇÃO E PRE-PROCESSAMENTO DE DADOS PARTE 2 Dados com Ruídos: • Dados com ruídos são aqueles que possuem objetos que não se encaixam nadistribuição dos dados analisados, podendo ser variâncias ou erros aleatórios. • A presença de ruído pode ser identificada através de outliers, valores que estão além dos limites esperados ou muito diferentes dos demais valores do atributo. Transformação de Dados: • Algoritmos de machine learning têm restrições quanto aos tipos de dados que podem manipular, sendo necessário converter entre tipos numéricos e qualitativos. • Em situações específicas, é necessária a transformação de valores numéricos para outros valores numéricos, como normalização para evitar que um atributo domine sobre outro. Redução da Dimensionalidade: • Dimensionalidade refere-se à quantidade de atributos de um conjunto de dados, sendo necessário reduzi-la em alguns casos para melhorar o desempenho dos algoritmos. • Técnicas de redução incluem agregação (combinação de atributos) e seleção (eliminação de atributos). • É importante selecionar adequadamente as técnicas de redução de acordo com o contexto dos dados. Demonstração: • Serão apresentadas soluções para o pré-processamento de dados usando o Pandas, destacando que existem muitas outras ferramentas e abordagens disponíveis. Finalizando: • Dominar as técnicas de pré-processamento é essencial para se tornar um bom cientista de dados, exigindo prática, repetição e criatividade. Questionário: 1. O que são dados com ruídos? • Resposta: Dados com ruídos são aqueles que contêm objetos que não se encaixam na distribuição dos dados analisados, podendo ser variâncias ou erros aleatórios. 2. Como podem ser identificados os ruídos nos dados? • Resposta: Os ruídos podem ser identificados através de outliers, que são valores além dos limites esperados ou muito diferentes dos demais valores do atributo. 3. Qual a finalidade da transformação de dados? • Resposta: A transformação de dados é necessária para adequar os tipos de dados aos requisitos dos algoritmos de machine learning, convertendo entre tipos numéricos e qualitativos quando necessário. 4. Cite duas técnicas de redução da dimensionalidade. • Resposta: Duas técnicas de redução da dimensionalidade são a agregação (combinação de atributos) e a seleção (eliminação de atributos). 5. Por que é importante dominar as técnicas de pré-processamento de dados? • Resposta: Dominar as técnicas de pré-processamento é essencial para se tornar um bom cientista de dados, pois permite melhorar a qualidade dos dados, o desempenho dos modelos e a interpretação dos resultados. AULA 14 – INTRODUÇÃO A MACHINE LEARNING 1. Computação Tradicional e Machine Learning (ML): • Na computação tradicional, os programadores criam programas para os computadores executarem. • No ML, os computadores aprendem a realizar tarefas a partir da observação dos dados e seus resultados. 2. Machine Learning (ML): • ML é o protagonista da "Nova Inteligência Artificial". • Utiliza dados para tomada de decisões, impulsionado pelo contexto de Big Data. • Capacita os computadores a aprenderem a realizar tarefas, ao invés de serem explicitamente programados. • Envolve o desenvolvimento de métricas para criar e resolver hipóteses. • Exemplos incluem recomendações de produtos em e-commerce. • Algoritmos aprendem a induzir funções a partir de dados, encontrando padrões ocultos. 3. Modelo e Modelagem: • Um modelo é uma especificação matemática ou probabilística entre variáveis. 4. Tipos de ML: • Supervisionado (preditivo), Não Supervisionado (descritivo), e por Reforço. 5. ML Supervisionado (Preditivo): • Usa dados rotulados para determinar padrões e fazer previsões. • Resolve problemas de regressão e classificação. 6. ML Não Supervisionado (Descritivo): • Agrupa objetos de acordo com características similares. • Resolve problemas de agrupamento, sumarização e associação. 7. Tipos e Algoritmos de ML: • Diversos algoritmos para cada tipo de problema, como regressão, classificação e agrupamento. 8. Escolha de Algoritmo: • Importante escolher o algoritmo adequado para cada situação. 9. Treino e Teste: • Divisão dos dados em conjuntos de treino e teste para criar e validar o modelo. Questionário: 1. O que diferencia a computação tradicional do Machine Learning (ML)? • Na computação tradicional, quem cria os programas são os programadores, enquanto no ML os computadores aprendem a partir dos dados. 2. Qual é o objetivo principal do Machine Learning? • O objetivo principal do ML é capacitar os computadores a aprenderem a realizar tarefas, em vez de serem explicitamente programados para elas. 3. Quais são os principais impulsionadores do Machine Learning? • O uso de dados como evidência e para tomada de decisão, assim como o contexto de Big Data. 4. Qual é a diferença entre ML supervisionado e não supervisionado? • No ML supervisionado, os dados têm resultados conhecidos, enquanto no não supervisionado, é necessário descrever os dados. 5. Quais são os tipos de problemas que o ML supervisionado resolve? • O ML supervisionado resolve problemas de regressão e classificação. 6. Como é feita a divisão dos dados para treino e teste? • Geralmente, os dados são divididos em conjuntos de treino e teste, comumente em torno de 8/2 ou 7/3, para criar e validar o modelo. 7. Qual é a importância da escolha do algoritmo adequado? • A escolha do algoritmo adequado é crucial para garantir que o modelo funcione corretamente para uma determinada situação. 8. O que é necessário para que um algoritmo de Machine Learning seja treinado? • Um algoritmo de ML precisa de dados rotulados para aprender padrões e fazer previsões. AULA 15 – MACHINE LEARNING ETICA E PRIVACIDADE 1. Machine Learning: • Destaca a importância de modelos que generalizem bem para novos dados, evitando overfitting (sobreajuste) e underfitting (subajuste). • Aponta que modelos muito complexos podem se concentrar demais nos dados de treinamento, prejudicando a generalização. • Busca pelo equilíbrio para obter o melhor desempenho de generalização. 2. Overfitting (Sobreajuste): • Ocorre quando o modelo se ajusta muito bem aos dados de treinamento, mas não generaliza bem para novos dados. 3. Underfitting (Subajuste): • Acontece quando o modelo é muito simples para capturar a complexidade dos dados, resultando em baixo desempenho mesmo nos dados de treinamento. 4. Viés e Variância: • Viés é a incapacidade do modelo em estabelecer a relação entre variáveis e o objeto a ser previsto. • Variância está relacionada à sensibilidade do modelo; alta variância pode levar a erros nos dados de teste. 5. Regularização: • Técnica para minimizar problemas de variância, penalizando o modelo para melhorar a generalização. 6. Privacidade: • Destaca a importância de leis como a LGPD no Brasil para proteger dados pessoais. • Sugere cuidado na manipulação de dados privados e técnicas de anonimização. 7. Discriminação: • Alerta para o viés discriminatório nos dados, que podem penalizar grupos minoritários. 8. Ética: • Aborda problemas éticos na análise e apresentação de dados, incluindo manipulação e falta de transparência. Questionário: 1. O que é overfitting e por que é um problema em machine learning? • Overfitting ocorre quando um modelo se ajusta muito bem aos dados de treinamento, mas não generaliza para novos dados, prejudicando sua utilidade prática. 2. Qual é a diferença entre viés e variância em um modelo de machine learning? • Viés é a incapacidade do modelo em estabelecer relações entre variáveis e o objeto a ser previsto, enquanto variância está relacionada à sensibilidade do modelo aos dados de treinamento. 3. O que é regularização e por que é útil em machine learning? • Regularização é uma técnica para minimizar problemas de variância em modelos de machine learning, penalizando o modelo para melhorar sua capacidade de generalização. 4. Por que a privacidade é importante ao lidar com dados? • A privacidade é importante para proteger informações pessoais e sensíveis, garantindo conformidade com leis e regulamentos,como a LGPD no Brasil. 5. Como evitar a discriminação nos dados durante análises de machine learning? • Evite viés discriminatório nos dados e considere o impacto de decisões algorítmicas em grupos minoritários, garantindo uma abordagem ética e justa. 6. Quais são algumas dicas importantes ao lidar com dados privados? • Verifique se os dados possuem licenças públicas, conheça sua origem e como foram adquiridos, e mantenha-os atualizados. 7. Quais são as considerações éticas ao apresentar resultados de análises de dados? • Evite manipulação e tendenciosidade nos resultados, garantindo transparência e honestidade na interpretação e visualização dos dados. AULA 16 – ENTREVISTA COM LEONARDO KARPINSKI AULA 17 – PREDIÇÃO DE DADOS 1. Predição: • A análise preditiva é central no campo de Ciência de Dados, diferenciando-se de Business Intelligence (BI) por projetar decisões baseadas no que aconteceu e no que prevê acontecer. • Utiliza machine learning e modelagem estatística para prever resultados futuros com base em dados passados e presentes. • É amplamente aplicada em diversas indústrias para otimizar operações, gerenciar riscos e maximizar lucros. 2. Predizendo: • Modela comportamentos e prediz ações com base em padrões observados nos dados, como preferências de compra de clientes, tendências de vendas e impacto de estratégias de marketing. 3. Oportunidades: • A análise preditiva pode ajudar as organizações a aprimorar processos, competir e economizar, tornando objetivos como planejamento ágil e alocação de recursos mais alcançáveis. 4. Compreensão para Predizer: • A precisão na predição requer compreensão do passado e da situação atual, incluindo a extração de fatos, distinção entre fatos passados e presentes, e dedução de cenários futuros. 5. Combinar para Predizer: • Análises preditivas são impulsionadas pelo conhecimento de negócios, expertise em ciência de dados, tecnologia e dados de qualidade. 6. Realizar a Predição: • O processo de machine learning envolve carregar dados, escolher algoritmos, treinar e testar modelos, além de avaliar sua eficácia. 7. Como Escolher o Algoritmo?: • A escolha do algoritmo depende da compreensão das necessidades do projeto, características dos dados e hipóteses. Experiência e experimentação são essenciais para determinar o algoritmo mais adequado. • 8. Finalizando: • A predição é um dos principais objetivos dos projetos de Ciência de Dados, e a escolha do algoritmo certo é crucial para alcançá-la. Questionário: 1. Qual é a principal diferença entre Business Intelligence (BI) e Data Science (DS) em relação à predição? • Resposta: BI baseia-se no que já aconteceu, enquanto DS projeta decisões baseadas no que aconteceu e no que prevê acontecer. 2. O que é necessário para alcançar precisão na predição? • Resposta: É necessário compreender o passado, a situação atual e deduzir possíveis cenários futuros. 3. Quais são os três ingredientes principais para impulsionar análises preditivas? • Resposta: Conhecimento de negócios, expertise em ciência de dados e tecnologia, e dados de qualidade. 4. Quais são os passos envolvidos no processo de machine learning para realizar a predição? • Resposta: Carregar os dados, escolher um algoritmo, treinar o modelo, visualizá-lo, testá-lo e avaliá-lo. 5. Por que é importante compreender as características e necessidades do projeto ao escolher um algoritmo de predição? • Resposta: A escolha do algoritmo depende das características dos dados e das hipóteses do projeto, sendo essencial para alcançar resultados precisos. 6. Qual é o objetivo da análise preditiva em projetos de Data Science? • Resposta: O objetivo é prever resultados futuros com base em dados passados e presentes, maximizando a eficiência e os lucros das organizações. AULA 18 – ALGORITMOS KNN (K-NEAREST NEIGHBORS) E AVALIAÇÃO DE MODELOS KNN (K-Nearest Neighbors) O KNN, ou K-Vizinhos Mais Próximos, é um algoritmo popular em projetos de Data Science. Disponível na biblioteca Scikit-Learn, ele é versátil, sendo utilizado para tarefas de classificação e regressão em vários segmentos de negócios. Na classificação, determina o grupo ao qual um registro pertence; na regressão, prevê valores numéricos, como o preço de uma casa. O KNN é simples e não exige complexidade matemática ou grande poder computacional, apenas a noção de distância e a premissa de que pontos próximos são similares. KNN - Funcionamento O KNN estabelece pontos e calcula distâncias entre eles usando métricas como Distância Euclidiana, de Hamming, Manhattan e de Markowski. Para um novo ponto, ele calcula a distância até os K vizinhos mais próximos e decide sua classificação ou valor com base nos pontos mais próximos. O uso de um K ímpar é recomendado. Exemplo KNN O dataset Iris Flower é um exemplo clássico para aprender Machine Learning. Ele possui atributos como largura e comprimento das pétalas e sépalas das flores, usados para classificar as flores. Em um gráfico bidimensional, se K=1, um novo ponto é classificado com a classe do vizinho mais próximo. Se K=3, a classificação leva em conta os três vizinhos mais próximos. KNN Demonstração A demonstração do KNN ilustra seu comportamento, mostrando como ele determina a classe ou o valor de novos pontos baseando-se nos vizinhos mais próximos. Avaliação de Modelos Não há técnica universalmente melhor em Machine Learning. A escolha do algoritmo depende do problema específico. Por exemplo, em problemas de alta dimensionalidade, SVMs podem ser mais adequadas que KNN com distância euclidiana. Diversos algoritmos podem ser testados e ajustados para obter múltiplos modelos. A experimentação é essencial para garantir a validade e reprodutibilidade dos resultados. Métricas A avaliação de algoritmos supervisionados se dá pela análise do desempenho na rotulação de novos objetos. Para classificação, a acurácia é uma métrica comum, assim como a matriz de confusão, que permite calcular revocação e precisão. Para regressão, são usadas métricas como Distância Média Absoluta (MAD) e Erro Quadrático Médio (MSE), que medem a diferença entre valores previstos e reais. Amostragem Uma técnica comum é dividir os dados em treino e teste, geralmente na proporção 75/25. O modelo é treinado com os dados de treino e avaliado com os dados de teste, antes de ser testado com novos dados. Validação Cruzada A r-fold cross-validation é uma métrica que divide os dados em vários subconjuntos e repete o treinamento em cada um. O desempenho final é a média dos desempenhos observados em cada conjunto de teste. Finalizando O KNN é um algoritmo simples e versátil para classificação e regressão. É importante entender a diferença entre classificação (valor categórico) e regressão (valor numérico). As medidas de avaliação dos modelos são cruciais para determinar seu desempenho. Na próxima semana, será abordado um projeto completo utilizando esses conceitos. Questionário com Perguntas e Respostas 1. O que é o KNN? • Resposta: KNN, ou K-Vizinhos Mais Próximos, é um algoritmo usado em Data Science para classificação e regressão. Ele determina a classe ou o valor de novos pontos baseando- se nos vizinhos mais próximos. 2. Quais são algumas das medidas de distância usadas no KNN? • Resposta: Algumas das medidas de distância incluem Distância Euclidiana, Distância de Hamming, Distância Manhattan e Distância de Markowski. 3. Como o KNN decide a classificação de um novo ponto? • Resposta: O KNN calcula a distância entre o novo ponto e os K vizinhos mais próximos. A classificação é decidida com base na maioria das classes desses vizinhos. 4. O que é um exemplo clássico de dataset usado para aprender Machine Learning com KNN? • Resposta: O dataset Iris Flower, que contém atributos como largura e comprimento das pétalas e sépalas das flores, é um exemplo clássico. 5. Qual a importância da experimentação na avaliação de modelos? • Resposta: A experimentação é essencial para garantira validade, correção e reprodutibilidade dos resultados, além de permitir ajustes nos parâmetros dos algoritmos para obter múltiplos modelos. 6. Quais são algumas métricas usadas para avaliar modelos de classificação? • Resposta: Algumas métricas usadas para avaliar modelos de classificação incluem acurácia e matriz de confusão, que permite calcular revocação e precisão. 7. Quais métricas são comuns para avaliar modelos de regressão? • Resposta: Métricas comuns para regressão incluem Distância Média Absoluta (MAD) e Erro Quadrático Médio (MSE). 8. O que é amostragem e como é geralmente realizada? • Resposta: Amostragem envolve dividir os dados em duas partes: treino e teste, geralmente na proporção 75/25. O modelo é treinado com a parte de treino e avaliado com a parte de teste. 9. O que é validação cruzada e como funciona? • Resposta: A validação cruzada, ou r-fold cross-validation, divide os dados em vários subconjuntos e repete o treinamento em cada um. O desempenho final é a média dos desempenhos observados. 10.Qual a diferença entre classificação e regressão no contexto de KNN? • Resposta: Na classificação, o KNN determina a que grupo um registro pertence (valor categórico), enquanto na regressão, ele prevê um valor numérico (valor contínuo). AULA 19 – ENTREVISTA COM RENATA CASTANHA AULA 20 – CIENCIA DE DADOS NA PRATICA PROJETO DE PREDIÇÃO PARTE 1 AULA 21 – CIENCIA DE DADOS NA PRATICA PROJETO DE PREDIÇÃO PARTE 2 Questionário sobre Ciência de Dados: Dados, Informação e Conhecimento na Era Digital Questionário sobre o Texto: Questionário: Questionário sobre a Biblioteca NumPy: # Importar a biblioteca # Gerar Dados Aleatórios # Tipo do Array # Tamanho e quantidade de dimensões # Criar ndarray usando a função array # Outras maneiras de criar arrays # Aritmética com Arrays # Indexação # Array com mais de uma dimensão # Máscaras # Transposição # Multiplicação de Matrizes com Dots Questionário com Respostas: Questionário com Respostas: KNN (K-Nearest Neighbors) KNN - Funcionamento Exemplo KNN KNN Demonstração Avaliação de Modelos Métricas Amostragem Validação Cruzada Finalizando Questionário com Perguntas e Respostas