Last active
August 15, 2016 13:23
-
-
Save Irio/60cc3514a1c044b0d6f35e5755d03e22 to your computer and use it in GitHub Desktop.
Meetup Data Science Workflow: Data Preparation, Analysis & Visualization 13/08/2016 - RS Data Science Meetup
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Apache Spark DataFrames | |
Cristofer Weber | |
Data Scientist @ NeoGrid | |
Mestre em Ciencia da Computação pela PUC-RS | |
Garantem que supermercados tenham problemas com estoque mesmo não mantendo um gigante. | |
~~DataFrames~~ Dataset[Row] | |
Revisando os seguintes livros: | |
* R in Action | |
* The Joy of Clojure | |
* Probabilistic Programming | |
* HBase in Action | |
Introdução ao Hadoop | |
* The Google File System | |
* MapReduce: Simplified Data Processing on Large Clusters | |
* Dremel: Interactive Analysis of Web-Scale Datasets | |
Ideias já têm coisa de 15 anos | |
Open NP muito mais complexo que MapReduce | |
Mundo abraçou o MapReduce. | |
HDFS + MapReduce = Hadoop | |
outras ferramentas entraram no guarda-chuva do Hadoop, open source | |
Possibilidade de processar dados grandes em clusters como em computadores pessoais como os nossos | |
Imutabilidade => encadear queries SQL sem precisar se preocupar | |
Hadoop orientado às primitivas (e.g. map, reduce) | |
Alternativas como Crunch, Hive, Pig, Cascading são compiladas para as primitivas no fim | |
15 anos atrás tínhamos muito mais restrições de hardware. Informações tinham que ficar em disco porque não cabíam em memória. | |
Spark! | |
* Spark: Cluster Computing with Working Sets | |
* Resilient Distributed Datasets | |
Spark consegue otimizar operações, coisa que o Hadoop não faz. Talvez um map e um reduce podem ser feitos com uma única operação, matematicamente. | |
Só dispara a execução quando precisa do resultado.. | |
Possibilidade de quebrar (SQL) queries em operações pequenas e deixar com o Spark as otimizações. | |
Usa disco para os dados de um node para outro (tolerância a falhas e não sobrecarregar a rede) | |
Spark não necessariamente usa disco. Ideia é usar melhor os recursos disponíveis atualmente (i.e. não usar disco quando não é necessário) | |
RDD é chave. Coleção de objetos distribuídos | |
Hadoop sempre usa HDFS | |
Otimizar movimento dos dados. Se os dados estão no nodo A, vai tentar seguir fazendo operações por ali mesmo. Partitioner pode servir para fazer isso | |
Spark identifica falhas e consegue voltar na etapa anterior e recalcular uma operação (e.g. map, filter, group. group falha, ele tem uma referência para filter, operação anterior a ela) | |
DataFrame: Making Spark accessible to everyone | |
nome, tipo, meta | |
abstração para o RDD | |
datasets de KBs até PBs | |
algebra relacional, matemática e estatística, machine learning | |
objetivo sempre foi bigdata | |
não precisamos mais carregar os dados em um banco de dados para processar | |
Scala, Python, Java e R. completamente suportados na versão 2.0 (RDDs, ~~DataFrames~~ e Dataset). Pode aplicar operações de libraries que suportam DataFrames sem problemas. | |
query planning | |
otimização de memória (e.g. várias idades iguais podem ser compressed) | |
CSV e JSON são convertidos para representação binária, inferência de schema | |
Catalyst otimizador | |
Projeto Tungsten | |
* uso eficiente de memória | |
* geração de código | |
* C++ | |
* GPUs | |
Apache Kudu: Storage for Fast Analytics | |
Séries temporais têm melhor performance em RDDs ainda | |
Alguns joins ainda são melhores em RDDs | |
## C4PPR4 D474 5C13NC3 | |
Creative Data Scientist | |
construção de KPIs: sintetizar muitos dados em um único número | |
18 data scientists | |
muitos dados estão sendo gerados | |
1 jornal por dia antes. hoje nós geramos 7 jornais | |
hoje não é mais possível assistir todos novos vídeos do YouTube | |
assistir o TED do XKCD. estimativa dos dados da Google em punchcards | |
muda local de Sonho de Valsa a partir das estimativas. sabem quanto foi vendido em cada loja. orientando vendas | |
dashboard mostra informações do mercado | |
100 pessoas postam em redes sociais por dia que roubaram algo das Lojas Americanas | |
Rede Globo usando cartas que recebem para dizer como melhorar os programas ou fazer novelas | |
veracidade de dados. gerar valor com o que estamos recebendo | |
privacidade | |
criando líderes | |
métricas sociais | |
pesquisas tradicionais | |
dados pessoais | |
Data-driven projects | |
conhecimento do negócio. ninguém entende melhor de empresa X que a própria empresa X | |
tecnologia | |
data science | |
intermediar as equipes | |
* KP1 -> transforma dados em indicadores | |
* EN1GM4 -> hackeia o processo de tomada de decisão | |
* D3COD1NG -> gerar dados sociais em dados | |
empoderamento. ensinar pessoas a usarem os dados | |
com a pessoa certa, do jeito certo, no momento certo | |
acessível visualmente para todos | |
beleza, estrutura e harmonia | |
ferramenta de visualização de dados é apenas uma ferramenta. não necessariamente precisa ter acesso a todos os dados. talvez o que o usuário realmente precisa é de um SMS recebido na hora certa | |
o que quero evidenciar | |
melhor forma de receber | |
entender rápido | |
informação contextualizada | |
o que posso fazer com essa informação | |
receber resultados diferentes. escolher qual é a melhor. NOPE! | |
unificação de KPIs | |
desenvolvimento de material à apoio de decisões | |
trazendo para o mission control na área 51. não sabem reconhecer se a reação dos usuários foi positiva ou não | |
[email protected] | |
formada em business | |
complementação de capacidades. para convencer alguém mais técnico, chama alguém que entende de técnico. | |
diretoria sabe da necessidade e quer implementar. geralmente tem que convencer quem está abaixo disso | |
## Learning Analytics | |
Marcelo Pias | |
Bravi Analytics | |
Bravi Prisma | |
prever alunos que devem evadir e tentar mudar o comportamento antes que isso aconteça | |
já estamos no nível do dashboard | |
estamos chegando nos gatilhos enviados para o smartphone. enviar aviso que vai acontecer prova daqui a X dias | |
identificação de grupos de risco usando clustering algorithms. similaridade com pearson distance | |
identificar estudantes navegando entre grupos. saindo do sucesso e indo para algum de risco, por exemplo | |
primeira solução completa de Learning Analytics voltado para o mercado educacional brasileiro | |
modelos criados especificamente para universidades | |
**Dados são compartilhados entre universidades?** | |
UNISOCIESC. universidade em SC | |
25 mil alunos. joinville e blumenau | |
taxa média de 6,7% semestral de evasão | |
desistentes | |
trancados | |
transferências | |
falecidos | |
evasão formal -> estudando dizendo que está parando | |
informal -> estudantes que desaparecem, que não dizem que estão desistindo (+10,5%) | |
evasão média nacional = 52,6% | |
* Como identificar alunos em risco? | |
* Identificar fatores e variáveis relacionadas? | |
* Como utilizar conhecimento? | |
* Como engajar professores e alunos? | |
sistema acadêmico, portal do aluno, lms/ead, sistemas internos | |
gera um score de risco para cada aluno | |
unisinos está usando tecnologia de Learning Analytics | |
avisos, encontro com mentores, com professor… | |
dados: variáveis demográficas, de desempenho (notas) e acesso aos ambientes virtuais | |
técnicas: redes neurais, decision trees, svms, linear regression, naive bayes, random forest | |
**tem dados suficientes para redes neurais serem úteis?** | |
anonimização de dados para criar os modelos | |
**quantas pessoas existem na equipe do produto? como funciona a colaboração?** | |
desempenho, perfil, presença, acesso, financeiro, biblioteca | |
meta: accuracy de no mínimo 60% | |
real: 84,5% | |
sensitividade: 94,4% | |
grupos: fantasmas (sem rastros), esforçados, turistas e assíduos | |
comportamento do aluno: áreas de dados, digital, pesquisa qualitativa, plus bravi | |
26 entrevistas entre outubro e dezembro | |
2 campi e teleconferência | |
pesquisa qualitativa lança hipóteses e tenta validá-las. mineração descobre hipóteses | |
modelo tangibilizado em um software com gráficos. user-centric design. equipe de Londres desenvolvendo | |
Python, Docker, Jupyter | |
Spark, Cassandra -> data lake -> formato template bravi | |
40 pessoas total | |
time virtual | |
Spark gera modelos e analyses. migração de Python 8 meses atrás | |
machine learning package em cima dos dataframes no Spark | |
parceria com empresa de Londres, DataSift(?) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment