Mineração de Dados em Larga Escala

Informação

Corpo docente: Sérgio Matos

Duração: Semestral

Horas de trabalho: 162

Horas de contacto: 45

ECTS: 6

Área científica: Informática

Objetivos

O objetivo desta unidade curricular é expor aos alunos os desafios e estratégias algorítmicas para a análise de dados em larga escala, assim como às ferramentas e frameworks computacionais que permitem implementar tais algoritmos.

Após completar esta unidade curricular, os estudantes deverão ser capazes de identificar e aplicar as melhores abordagens para modelar e extrair conhecimento a partir de dados em larga escala, fluxos de dados e redes. Os estudantes ganharão também experiência com plataformas de processamento de dados como Apache Hadoop, Spark, Hive.

Resultados de Aprendizagem

O objetivo desta unidade curricular é expor aos alunos os desafios e estratégias algorítmicas para a análise de dados em larga escala, assim como às ferramentas e frameworks computacionais que permitem implementar tais algoritmos.

Após completar esta unidade curricular, os estudantes deverão ser capazes de identificar e aplicar as melhores abordagens para modelar e extrair conhecimento a partir de dados em larga escala, fluxos de dados e redes. Os estudantes ganharão também experiência com plataformas de processamento de dados como Apache Hadoop, Spark, Hive entre outros.

Requisitos

  • Capacidade de programação em Python (ou Java) é essencial.
  • Uso do terminal de comandos Linux será incentivado.

Avaliação

  • 60.00% Trabalhos práticos
  • 40.00% Exame teórico

Metodologia

A UC combinará exposições teóricas dos algoritmos e estratégias para abordar as diferentes formulações dos problemas, com um conjunto de mini-projetos orientados a ajudar os alunos a consolidar as noções teóricas e ganhar experiência prática. Apesar de as formulações matemáticas dos algoritmos serem essenciais para dar aos alunos uma compreensão analítica dos métodos, será colocada ênfase na aplicação desse conhecimento a problemas específicos através de implementações práticas.

Conteúdos

  • Introdução: Mineração de dados; Desafios na mineração em larga escala; MapReduce, Hadoop, Spark.
  • Mineração de conjuntos frequentes: Modelo 'market-basket'; Regras de associação; Algoritmo A-Priori
  • Pesquisa por similaridade: Shingling, minhashing, Locality-sensitive hashing; Medidas de similaridade; Vizinho mais próximo por aproximação
  • Fluxos de dados: Amostragem e filtragem; Windowing
  • Aprendizagem automática em grandes conjuntos de dados: Métodos de agrupamento; Métodos de classificação; Paralelização
  • Análise de ligações (links): Algoritmos PageRank eficientes; Hubs e Autoridades
  • Análise e mineração de redes: Partições e comunidades; Mineração de redes sociais; Análise de redes biológicas

Bibliografia recomendada

  • Leskovec, Rajaraman, Ullman. “Mining of massive datasets”. Cambridge University Press, 2014. Available at http://www.mmds.org/
  • Easley, Kleinberg. “Networks, Crowds, and Markets: Reasoning About a Highly Connected World”. Cambridge University Press, 2010. Available at http://www.cs.cornell.edu/home/kleinber/networks-book/
  • White. “Hadoop: The Definitive Guide”, Fourth Edition. O’Reilly Media, 2015.
  • Kerzner, Maniyam. “Hadoop illuminated”. Online book: http://hadoopilluminated.com/