iesb1
DATA MINING E MACHINE LEARNING I - 1/2018 - IESB
(Última atualização: 2018-05-04)
Objetivo da disciplina:
- Ao final do curso o aluno deverá ser capaz de usar corretamente as seguintes ferramentas: clusterização, detecção de anomalias, raspagem de sites, mineração de textos, análise de redes sociais. A idéia é que esta primeira disciplina lance as fundações para a segunda (Data Mining e Machine Learning II), que será focada em aprendizagem supervisionada.
Pré-requisitos:
- Não há pré-requisitos. Algum conhecimento de estatística básica e de cálculo pode ser útil mas não é necessário nem esperado.
Dia, horário e local:
- Terças, das 19:00 às 22:30. Local a designar.
Comunicação:
- A comunicação com o professor e com os demais alunos será por meio de time no Slack: https://iesb-dados.slack.com/ Você pode se juntar ao time informando seu email ao professor.
- Uma vez no time você pode postar dúvidas, respostas, pedaços de código, etc, no canal #general, que é visível a todos os participantes. Também é possível enviar mensagens privadas dentro do time.
- Não use o time p/ postagem de piadas, correntes, etc.
- O Slack é o único canal de comunicação com o professor. Emails provavelmente serão ignorados.
Avaliação:
- Trabalho final (peso: 50%).
- O trabalho deverá consistir na aplicação de uma ou mais técnicas aprendidas no curso a problema concreto de interesse do aluno. O problema deverá ser previamente discutido com e aprovado pelo professor.
- O trabalho é individual.
- O trabalho será avaliado com base: i) na adequação do(s) método(s) empregados(s) ao problema; ii) no uso e interpretação corretos do(s) método(s); iii) na clareza e precisão ao descrever o problema e o(s) método(s) empregado(s).
- O trabalho final pode ser em português ou em inglês.
- Cada aluno apresentará seu trabalho final na penúltima aula do curso. Cada aluno deverá também postar o trabalho final no canal #general do time no Slack. Além do trabalho final o aluno deverá postar também os scripts e datasets utilizados. O prazo para postar o trabalho final, scripts e datasets é 23:59 do dia da apresentação. Não serão aceitos trabalhos entregues fora do prazo.
- Plágio resultará na reprovação do aluno, no encaminhamento do caso às áreas competentes do IESB e na inclusão do nome do aluno no Cheaters Hall.
- Prova (peso: 50%).
- A prova abordará todo o conteúdo visto ao longo do curso.
Plano de aulas:
1. visão geral, revisão de estatística, pré-processamento
2. clusterização I
- slides:
- exercício/filmes:
- exercício/municípios:
- exercício/olimpíadas:
- leituras:
3. clusterização II
- slides:
- exercício/filmes:
- exercício/municípios:
- exercício/olimpíadas:
- leituras:
4. detecção de anomalias
- slides:
- exercício/Melbourne:
- exercício/vinho:
5. trabalho final: discussões
6. raspagem de sites
- com APIs
- Vagalume, Twitter (Streaming API vs Search API), Facebook (Graph API)
- diferença entre usar HTTP diretamente e usar pacotes
- metadados
- JSON
- limites por minuto
- ‘while True’ p/ contornar erros
- sem APIs
- HTML, CSS, JavaScript: o código-fonte da página
- BeautifulSoup
- Selenium
- captchas (http://www.deathbycaptcha.com)
- expressões regulares
- resultado é probabilístico (time.sleep(), try/catch)
- exercícios:
- leitura:
- webscraping with Selenium (partes 1, 2, 3, 4 e 5)
7. mineração de textos I
- slides:
- exercício/notícias:
- exercício/tuítes:
- leitura:
8. mineração de textos II
- slides:
- exercício/notícias:
- exercício/tuítes:
- leituras:
9. análise de grafos I
- slides:
- exercícios/Panamá Papers:
- outras ferramentas p/ visualização
- banco de grafos
10. análise de grafos II
- slides:
- exercícios/Panamá Papers:
- outras ferramentas p/ visualização
- banco de grafos
11. trabalho final: apresentações
12. prova