Introdução à Modelagem de Big Data

Introdução à Modelagem de Big Data

2022.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 2022.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

Aulas Presenciais

Turma 1: 24M56 | Turma 2: 35T56

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. Perceba também que essas são as datas dos nossos encontros síncronos.

SemanaDataAssunto
0122/08Introdução
0229/08Obtenção de Dados
0305/09Análise de Componentes Principais
0412/09K-Means
0519/09Clusterização Hierárquica
0626/09Avaliação I
0705/10Validação Cruzada
0810/10K Vizinhos Mais Próximos
0914/10Máquinas de Vetor Suporte
1024/10Árvores de Classificação e Regressão
1131/10Random Forest
1209/11Avaliação II
1314/11Projeto Final - Dúvidas
1423/11Projeto Final - Dúvidas
1528/11Projeto Final - Dúvidas
1605/12Projeto Final - Apresentação
1712/12Quarta 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. Não é esperado que os alunos tenham assistido aos vídeos antes das aulas presenciais, mas essa é uma tarefa encorajada.

  • Semana 01 - Introdução
  • Semana 02 - Obtenção de Dados
  • Semana 03 - Análise de Componentes Principais (vídeo|slides)
  • Semana 04 - K-Means (vídeo|slides)
  • Semana 05 - Clusterização Hierárquica (vídeo|slides)
  • Semana 06 - Avaliação I
  • Semana 07 - Validação Cruzada
  • Semana 08 - K Vizinhos Mais Próximos (vídeo|slides)
  • Semana 09 - Máquinas de Vetor Suporte (vídeo|slides)
  • Semana 10 - Árvores de Classificação e Regressão (vídeo|slides)
  • Semana 11 - Random Forest (vídeo|slides)
  • Semana 12 - Avaliação II
  • Semana 13 - Projeto Final (instruções|dúvidas)
  • Semana 14 - Projeto Final (dúvidas)
  • Semana 15 - Projeto Final (dúvidas)
  • Semana 16 - Projeto Final (apresentação)
  • Semana 17 - Quarta prova

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.

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 2022.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 05/12/2022.

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 10 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 é 05/12/2022, 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.nunes@ufrn.br 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

  • 07/11/2022: 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 05/12/2022

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 dos Santos, T. M. (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.
  • Kuhn, M. e Johnson, K. (2019). Feature Engineering and Selection: A Practical Approach for Predictive Models. Chapman and Hall/CRC. link
  • Lantz, B. (2013). Machine Learning with R. Packt Publishing.
  • Olawale Awe, O., Love, K. e Vance, E. A. (2022). Promoting Statistical Practice and Collaboration in Developing Countries. Chapman and Hall/CRC. link
  • 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