30
Minera¸ ao de Dados com Big Data Fabr´ ıcio Olivetti de Fran¸ ca Universidade Federal do ABC

Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

  • Upload
    lekhue

  • View
    229

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Mineracao de Dados

com Big Data

Fabrıcio Olivetti de Franca

Universidade Federal do ABC

Page 2: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Topicos

1. Sobre mim

2. Sobre a Disciplina

1

Page 3: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Sobre mim

Page 4: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Sobre mim

Formado em Engenharia Eletrica com enfase em Computacao pela

Universidade Catolica de Santos.

Mestrado e Doutorado no mesmo curso na Universidade Estadual de

Campinas.

2

Page 5: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Sobre mim

Areas de pesquisa:

• Co-agrupamento de Dados

• Regressao Simbolica

• Algoritmos Evolutivos

• Heurısticas para Otimizacao

• Aprendizado de Maquina

3

Page 6: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Sobre a Disciplina

Page 7: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Motivacao

O avanco da tecnologia nos permitiu obter dados em massa de diversas

fontes:

• Transacoes Bancarias

• Dados de medidas de sensores

• Experimentos geneticos

• Uso de Redes Sociais

• Construcao de conteudo colaborativo

4

Page 8: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Crescimento dos Dados

Grande quantidade de dados cria a necessidade de armazenamento.

• Maior HD tem cerca de 16TB por > $7.000, 00

• Dados na ordem de PetaBytes!!

Solucao: Sistema de Arquivos Distribuıdos

5

Page 9: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Crescimento dos Dados

Grande quantidade de dados cria a necessidade de armazenamento.

• Maior HD tem cerca de 16TB por > $7.000, 00

• Dados na ordem de PetaBytes!!

Solucao: Sistema de Arquivos Distribuıdos

5

Page 10: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Crescimento dos Dados

Figura 1: Fonte: datacenterknowledge.com.

6

Page 11: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Extracao de Informacao

Desses dados surge a necessidade de extrair informacoes uteis:

• Possıveis dıvidas bancarias

• Genes relacionados a doencas

• Previsao de desastres naturais

7

Page 12: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Aprendizado de Maquina

• Muitos algoritmos consolidados

• Foco em bases de dados pequenas e bem estruturadas

• Bases de dados pequenas em apenas uma maquina!

8

Page 13: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Realidade

Temos:

• Bases de Dados grandes e distribuıdas em diversas maquinas

• Dados brutos, nao estruturados

• Sem a mınima ideia de como trabalhar com eles!

9

Page 14: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Objetivo do Curso

• Conhecimento basico sobre Ciencia dos Dados

• Paradigma funcional / Pensamento Paralelo

• Enfoque em algoritmos escalaveis e distribuıdos

10

Page 15: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Site da Disciplina

http://folivetti.github.io/teaching/2018-summer-teaching-3

11

Page 16: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Metodologia

• Aulas expositivas

• Atividades de Programacao

• Projetos - Seminarios

12

Page 17: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Ferramentas

• Linguagem de Programacao Haskell (ghc + cabal)

• Apache Spark (Python/Scala) + Jupyter Notebook

13

Page 18: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Cronograma

No site.

14

Page 19: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Ferramentas necessarias

Haskell (ghc) - Windows

Haskell (ghc) - Mac

Haskell (ghc) - Linux

Spark

15

Page 20: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Material de apoio

Livros sobre Mineracao de Dados:

Mining Massive Datasets

Introduction to Data Mining – P-N. Tan, M. Steinbach, V.Kumar –

Addison Wesley 2005.

Data mining : pratical machine learning tools and techniques / 3. ed.

16

Page 21: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Material de apoio

Livros sobre Haskell:

SA, Claudio Cesar de; SILVA, Marcio Ferreira da. Haskell: uma

abordagem pratica. Sao Paulo, SP: Novatec, 2006. 287 p. ISBN

8575220950.

O’SULLIVAN, Bryan et al. Real world Haskell. Sebastopol, USA: O’Reilly

Media, c2009. xxxviii, 670. ISBN 9780596514983.

http://chimera.labs.oreilly.com/books/1230000000929/

17

Page 22: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Material de apoio

Livros sobre Apache Spark:

https://www.gitbook.com/book/jaceklaskowski/mastering-apache-spark

ODERSKY, Martin et al. Programming in Scala. Mountain View, USA:

Artima Press, 2008. xxxix, 736. ISBN 9780981531601.

18

Page 23: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Material de apoio

Livros sobre Python:

LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed.

Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x.

https://spark.apache.org/docs/2.2.0/rdd-programming-guide.html

19

Page 24: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Avaliacao

As avaliacoes consistirao de:

• Entrega das Atividades (4pts)

• Relatorio de projeto e seminario (4pts)

• Prova (2pts)

20

Page 25: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Atividades

Cada aluno deve criar uma conta no github e criar um repositorio

BIGDATA2018.

Nesse repositorio, criar uma pasta por atividade: ATIVIDADE01,

ATIVIDADE02, . . .

Colocar codigos nas pastas correspondente.

21

Page 26: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Atividades

Na proxima semana enviar o link de seus repositorios para folivetti @

ufabc.edu.br

No dia da entrega as atividades serao pontuadas. Nao faca

”commit”apos o prazo.

22

Page 27: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Projeto

Cada aluno deve escolher um tema de projeto relacionado com a

disciplina.

O projeto deve ser entregue em forma de relatorio cientıfico com ate 3

paginas.

Apresentacao de 10 a 15 minutos.

23

Page 28: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Projeto

Temas:

Implementacao distribuıda de um algoritmo (Haskell ou Spark) que

envolva DADOS.

Implementacao de um algoritmo escalavel.

24

Page 29: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Projeto

Temas entregue por e-mail ate a quarta semana de aula.

Primeiro a escolher um tema ficara com ele.

Relatorio explicando o algoritmo e a implementacao, assim como

resultados.

25

Page 30: Minera˘c~ao de Dados - folivetti.github.io · Livros sobre Python: LUTZ, Mark; ASCHER, David; ALYH69. Aprendendo python. 2. ed. Porto Alegre, RS: Bookman, 2007. 566 p. ISBN 857780013x

Conceito

O conceito final sera calculado da seguinte forma:

A > 8pts

6pts < B ≤ 8pts

5pts ≤ C ≤ 6pts

F < 5pts

26