Roteiro de aulas
Rascunho do roteiro de aulas.
Conteúdos
Lista não exaustiva de conteúdos a serem abordados. Os conteúdos listados aqui não precisam estar em ordem nem hierarquizados. É mais fácil listar o que apresentar antes de fazer qualquer tipo de organização mais complexa.
- O que é ciência de dados, definições e termos relacionados
- História da ciência de dados
- Introdução ou revisão da linguagem Python
- IPython
- Jupyter Notebooks
- Tipos de dados, estruturados (tabulares) e “não estruturados”
- NumPy
- Pandas
- SciPy
- SciKit Learn
- Matplotlib
- Seaborn
- Coleta de dados, web crawling/scraping
- Limpeza de dados, dados incompletos ou ausentes
- Dados categóricos vs numéricos e escalas de medida
- Estatísticas descritivas, média, mediana, medidas de dispersão, variância, correlação
- Ruídos, outliers
- Normalização de dados
- Redução de dimensionalidade (?)
- Visualização de dados, gráficos de barras, linha, boxplots, histogramas, etc
- Aprendizado de máquina (estatístico), supervisionado e não supervisionado
- Modelos de regressão e classificação clássicos
- Métricas de avaliação, acurácia, precisão, recall, etc
- K-means
- Projetos de ciência de dados, modelos como CRISP-DM, ZM
- Transformações de dados, combinações, filtros, conversões de valores, normalização, etc
- KNN (?)
- Modelos e processamento de dados “não estruturados” como imagens, texto
- Redes neurais, algoritmos genéticos, colônia de formigas, enfim, bioinspirados
Unidades
Disciplinas são por padrão organizadas em três unidades. Uma unidade pode ser vista como um subconjunto dos assuntos listados seguindo algum tema especificado. Aqui, com base nos assuntos listados, é tomada a decisão de definir como os temas das unidades:
- Preparação ou pré-processamento de dados
- Análise e visualização de dados
- Modelagem e aprendizado de máquina
Essa divisão possibilita um momento inicial de aclimatação ao conteúdo e às tecnologias (que podem ou não ser conhecidas pelos alunos), seguida de uma parte com mais estatística e finalizando com um pouco de aprendizado de máquina. Pode ocorrer de alguns assuntos pertencerem a múltiplos temas das unidades e a decisão de quando e o quanto desses assuntos.
Conteúdos por unidade
Definidos os temas das unidades, fica mais fácil selecionar os conteúdos para cada uma. Ignorando a ordem, na primeira unidade, temos:
- O que é ciência de dados, definições e termos relacionados
- História da ciência de dados
- Processos de ciência de dados: CRISP-DM, KDD, mineração de dados
- Introdução ou revisão da linguagem Python
- Tipos de dados: categóricos e numéricos
- Formato de dados: dados estruturados e não estruturados, formatos de arquivos
- Coleta de dados: bancos de dados ou bases de dados, web crawling ou scraping, criação de bases de dados
- Introdução a engenharia de dados
- IPython
- Jupyter Notebooks
- Pandas
Na segunda unidade:
- Escalas de medidas: nominal, ordinal, intervalar e racional
- Estatística descritiva: medidas de tendência, frequência, dispersão, distribuição, etc
- Correlação e covariância
- Visualização de dados: gráficos de barras, dispersão, linhas, histogramas, boxplots
- Qualidade de dados: dados ausentes, ruídos e outliers
- Transformação de dados: conversões de valores, normalização
- Introdução a modelagem de dados
- Numpy
- Matplotlib
- Seaborn
E na terceira unidade:
- Aprendizado de máquina
- Treinamento supervisionado e não supervisionado
- Regressão linear
- Classificação
- Avaliação de modelos
- Agrupamento: K-means
- Algoritmos bioinspirados
- Processamento de imagens e textos
- SciKit Learn
- SciPy
Aulas
Definir quais conteúdos se encaixam em cada aula é um pouco mais complexo, já que depende da quantidade de conteúdo abordado para o tempo de exposição e que, neste caso, não há uma experiência prévia para facilitar previsões. Como plano inicial, temos na primeira unidade:
- Abertura da disciplina: apresentações; plano de ensino; ambiente de desenvolvimento; próximas aulas
- Ciência de dados: histórico; definições; KDD e CRISP-DM; Big Data; Data mining; processos de desenvolvimento
- Bases de dados: tipos de dados; formatos e arquivos; armazenamento; bancos de dados; dados tabulares
- Fundamentos de Python: revisão da linguagem; entrada e saída; ambientes virtuais; interoperabilidade
- Python em computação científica: fundamentos; IPython; Jupyter notebooks
- Manipulação de dados: dados tabulares; Pandas; DataFrames
- Descoberta de dados: seleção; web crawling ou scraping; Requests
- Avaliação
Na segunda unidade:
- Amostragem de dados: população; amostra; representatividade; variabilidade; inferência dedutiva e indutiva
- Estatística descritiva: fundamentos; escalas de medida; medidas descritivas: tendência e dispersão; coeficiente de variação; NumPy
- Visualização de dados: gráficos; Matplotlib; Seaborn; análise exploratória de dados (EAD)
- Qualidade de dados: ausências; ruídos; outliers; limpeza
- Transformação de dados: conversão de valores; normalização; padronização
- Avaliação
Na terceira unidade:
- Aprendizado de máquina: definições; treinamento
- Modelagem de dados: regressão linear; classificação; agrupamento; algoritmos; SciKit Learn
- Avaliação de modelos: métricas de resultados; hiperparâmetros; hipóteses; SciPy
- Outros tópicos: algoritmos bioinspirados; dados não estruturados; ética
- Avaliação
- Encerramento da disciplina: recuperação e exame final