Introdução à Modelagem de Big Data

Introdução à Modelagem de Big Data

2020.2

UFRN

Início

Bem-vindo ao site da disciplina EST0133 - Introdução à Modelagem de Big Data, ministrada aos alunos do Bacharelado em Estatística da UFRN. O material contido aqui está sendo utilizado durante o semestre 2020.2. Atualmente não é possível aceitar alunos de fora da universidade nesse curso, mas o material está aberto a quem quiser utilizá-lo.

Pré-requisitos: Métodos Estatísticos (EST0114) e Introdução ao R (EST0091)

  • Métodos Estatísticos é uma disciplina que mostra aos alunos os testes estatísticos mais comuns, como teste t, regressão linear simples e qui-quadrado.

  • Introdução ao R, como o nome sugere, é uma disciplina que apresenta a linguagem de programação R aos alunos.

Ementa: Obtenção e preparação de dados para análise. Redução de dimensionalidade. Algoritmos de agrupamento e classificação de dados. Modelos preditivos.

Objetivos: Apresentar o conceito de big data e mineração de dados aos alunos, para que eles possam ganhar experiência na resolução de problemas de modelagem, além de desenvolver habilidades de estudo e pesquisa independentes. É uma disciplina prática, com utilização intensa de algoritmos computacionais.

Instrutor: Marcus Nunes

Horários

Vídeos

Segundas até 8:55

Aulas Síncronas

Quartas das 8:55 às 10:35

Dúvidas?

Mande um email

Súmula

Os assuntos a serem tratados nessa disciplina estão descritos abaixo. Em resumo, veremos assuntos relacionados a aprendizagem de máquina. Devido a limitações de hardware, não trabalharemos com big data em si, mas os assuntos vistos aqui podem ser escalados para conjuntos de dados de qualquer tamanho.

Além disso, essa é uma disciplina predominantemente prática. Nosso objetivo com ela é desenvolver habilidades na resolução de problemas de modelagem. Por isso, queremos entender os métodos utilizados aqui de maneira superficial, mas suficiente para que tenhamos uma ideia intuitiva de como eles funcionam matematicamente.

As datas informadas abaixo são uma tentativa de organização do conteúdo da disciplina. Podem haver algumas pequenas alterações, a depender do desenrolar do semestre. Note que todas as datas informadas são quartas-feiras, exceto a data de 19 de abril, que é uma segunda-feira. Perceba também que essas são as datas dos nossos encontros síncronos.

SemanaDataAssunto
0013/01Introdução
0120/01Obtenção de Dados
0227/01Análise de Componentes Principais
0303/02K-Means
0410/02Clusterização Hierárquica
0517/02Projeto I
0624/02Validação Cruzada
0703/03K Vizinhos Mais Próximos
0810/03Máquinas de Vetor Suporte
0917/03Árvores de Classificação e Regressão
1024/03Random Forest
1131/03Projeto II
1207/04Projeto Final - Dúvidas
1314/04Projeto Final - Dúvidas
1419/04Projeto Final - Apresentação
1526/04Quarta prova

A organização dos conteúdos está ligeiramente diferente daquela registrada no SIGAA, mas a disciplina está passando por uma reformulação nesse semestre e as mudanças atuais, caso bem sucedidas, serão implementadas à versão oficial.

Material

O material do curso, como slides, conjuntos de dados e exemplos de códigos, está disponível no github. Lá também está a lista de pacotes do R a serem instalados em sua máquina para que o curso possa ser acompanhado. Clique aqui para ver um tutorial sobre como automatizar o download de todo o conteúdo da disciplina para o seu computador.

A lista completa com as aulas assíncronas se encontra em uma playlist no YouTube. É esperado que os alunos tenham assistido aos vídeos antes dos encontros síncronos.

Avaliações

As duas primeiras avaliações da disciplina serão individuais. Elas ocorrerão ao final das Unidades I e II. A primeira delas se baseará em tarefas de clusterização, enquanto a segunda conterá tarefas de classificação e regressão. A terceira avaliação é o projeto final de análise de dados, descrito em detalhes na próxima seção.

Nessas avaliações os alunos deverão responder questões pré-definidas, utilizando R Markdown para a entrega das tarefas. Eu tenho materiais preparados sobre como iniciar a trabalhar com essa tecnologia (link em inglês, link em português).

Os alunos são incentivados a trabalharem em conjunto na resolução dos problemas das avaliações, mas plágios não serão tolerados.

Projeto Final

O projeto final é a última avaliação da turma de Introdução à Modelagem de Big Data do semestre 2020.2. É um projeto de análise de dados, com assunto e escopo definido pelo próprio aluno, que deverá vir acompanhado de um relatório escrito em R Markdown e que deverá ser apresentado em sala de aula a partir de 19/04/2021.

Instruções

  • Este projeto será avaliado de duas maneiras: em sala, numa apresentação de slides, e por escrito, através de um relatório

  • A apresentação de slides deverá durar de 12 a 15 minutos

  • Não há limite mínimo ou máximo para o número de páginas do relatório escrito

  • Uma das seções do relatório deverá conter o código utilizado pelos alunos para resolver seu problema

  • Os arquivos com a apresentação de slides, relatório e banco de dados devem ser enviados para o professor logo após a apresentação oral

  • A data da entrega e apresentação do projeto é 19/04/2021, durante o horário da aula

O projeto visa avaliar aquilo que os alunos aprenderam durante o curso. Serão formados grupos de até três alunos, que irão realizar a análise de um conjunto de dados à sua escolha. Esta escolha é de inteira responsabilidade dos alunos. Algumas sugestões de áreas para o projeto são

  • Dados biológicos

  • Webscraping

  • Mineração de textos

  • Genética

  • Dados de localização

  • Marketing

  • Finanças

  • Dados de saúde

Cada grupo deverá obter um banco de dados em algum destes assuntos ou outros, de modo a responder perguntas a seu respeito. É possível usar dados de suas próprias pesquisas, caso o aluno queira propor uma nova maneira de abordar seu trabalho. As perguntas a serem respondidas serão formuladas pelos próprios alunos. A única obrigatoriedade é a aplicação de ferramentas de análise de dados vistas no curso. Os grupos que quiserem propor a utilização de uma nova ferramenta que tenha similaridade com aquelas que vimos em aula sintam-se encorajados a fazê-lo. Algumas boas fontes para procura de dados:

Exigências a Respeito dos Bancos de Dados a Serem Escolhidos

Há duas restrições a respeito dos dados a serem analisados:

  1. Eles não podem ter sido analisados previamente em alguma aula da disciplina

  2. Não podem haver dois ou mais grupos com bancos de dados que sejam subconjuntos um do outro ou com bancos de dados que sejam parte de um conjunto maior

Para evitar que hajam problemas respeito do item 2, solicito aos grupos que enviem um email para marcus@marcusnunes.me descrevendo o banco de dados que utilizarão. Assim, os primeiros grupos a escolherem o conjunto de análise terão preferência na escolha.

Conteúdo do Trabalho

Alguns assuntos que podem ser tratados no projeto são

  • Comparação entre dois ou mais métodos de classificação ou regressão

  • Construção de um aplicativo no shiny

  • Demonstração de uma alguma ferramenta de machine learning não vista durante a disciplina (Deep Learning, eXtreme Gradient Boosting etc.)

  • Paralelização de código utilizando GPU

  • Reprodução de algoritmos vistos em aula em outras linguagens, como Python ou Julia, e como o desempenho deles se compara ao R

Portanto, os alunos não precisam se limitar aos conteúdos vistos em aula.

Datas Importantes

  • 24/02/2021: entrega do pré-projeto final. No pré-projeto vão constar as seguintes informações

    • nomes dos membros dos grupos
    • descrição do conjunto de dados a ser analisado
    • as perguntas a serem respondidas no projeto
  • As apresentações ocorrerão em 19/04/2021

Bibliografia

O material do curso foi produzido a partir de referências espalhadas por bibliotecas e pela internet. Poucas delas estão em português.

Livros

  • Hastie, T. e Tibshirani, R. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer. link
  • Izbicki, R. e Santos, Thiago Mendonça dos. (2020) Aprendizado de máquina: uma abordagem estatística. São Carlos. link
  • James, G., Witten, D., Hastie, T., e Tibshirani, R. (2014). An Introduction to Statistical Learning with Applications in R. Springer.
  • Kuhn, M. e Johnson, K. (2013). Applied Predictive Modeling. Springer.
  • Lantz, B. (2013). Machine Learning with R. Packt Publishing.
  • Tan, P.-K., Steinbach, M., e Kumar, V. (2012). Introdução ao Data Mining: Mineração de Dados. Ciência Moderna.
  • Zhao, Y. (2012). R and Data Mining: Examples and Case Studies. Academic Press.

Sites

Leituras complementares

  • Domingos, P. (2015). The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World. Basic Books.
  • O’Neil, C. (2017) Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy. Crown.
  • O’Neil, C. e Schutt, R. (2013) Doing Data Science: Straight Talk from the Frontline. O’Reilly.
  • Parker, M. (2020). Humble Pi: A Comedy of Maths Errors. Penguin.

Instrutor

Avatar

Marcus Nunes

PhD em Estatística