Vous êtes sur la page 1sur 22

Uma jornada rumo a

Data Science
Christiano Anderson
Quem sou?
● Data Scientist na Propus Data Science;
● Bacharelando em matemática;
● Instrutor (NoSQL e Hadoop);
● Palestrante em diversos eventos;
● Participa de comunidades como Python, MongoDB;
● Twitter: @dump
● Blog: http://christiano.me
● Redes sociais: Christiano Anderson
Sobre a Propus Data Science
● Empresa sediada em Porto Alegre;
● Parceira da MongoDB no Brasil;
● Parceira da Hortonworks no Brasil;
● Atua com consultoria, arquitetura implementação, serviços continuados e
treinamentos em:
○ Bancos NoSQL;
○ Hadoop;
○ Data Science;
● Mais informações e cases:
http://propus.science
Data Science
● Informação é poder;
● Organizar a informação é uma arte;
● Saber usar essa informação corretamente, não tem preço!

Dados = Novo Ouro!


O cientista de dados

“O cientista de dados é alguém que


conhece mais estatística que um cientista
da computação e mais ciência da
computação que um estatístico”
Multidisciplinar
● O cientista de dados precisa ter profundos conhecimentos de:
○ Computação;
○ Programação;
○ Estatísticas;
○ Matemática;
○ Visualização;
○ Business;
○ Persistência de dados;
O conhecimento necessário
● Estar confortável com conceitos matemáticos;
● Não ter dificuldades com estatísticas;
● Saber uma ou mais linguagens de programação (Python, R, Julia);
● Conhecer modelos de persistência de dados (SQL, NoSQL, etc);
● Entender sobre infraestrutura (Linux, cloud, etc);
● Conhecer processamento paralelo (Map Reduce, Spark, etc);
● Machine learning e suas diversas técnicas;
● Saber como e quando usar stream (Kafka, NiFi, etc);
● Conceitos de notebook (Jupyter, Zeppelin, etc);
● Saber utilizar ferramentas de visualização (Tableau, Spotfire, etc);
Matemática
● Conceitos de álgebra linear é fundamental (matrizes, vetores);
● O conhecimento ajuda a organizar informação, dividir, separar, juntar e realizar
operações com maior facilidade;
● Não existe necessidade de dominar por completo, mas entender os principais
fundamentos;
● Não se assustar e saber interpretar coisas do tipo:
Probabilidade e Estatística
● É um conhecimento obrigatório para um cientista de dados, desde o básico
(média, mediana, moda, desvio padrão, variância);
● Até conceitos que exigem técnica (probabilidade, hipótese, inferência);
● Distribuições amostrais
○ Definição de tamanho de amostra;
○ Erro amostral;
○ T-Student, etc;
● Hipóteses;
● Gráficos;
● Teorema de Bayes;
Linguagens de programação
Python
● Linguagem bastante versátil;
● Uma das mais utilizadas para data science;
● Foco na aplicação, datasets, visualização e machine learning;
● Bibliotecas mais utilizadas para data science:
○ Pandas
○ NumPy
○ Scikit-learn
○ Matplotlib
○ Bokeh
○ Jupyter
R
● Muito utilizada por estatísticos;
● Eficiente no trabalho de dataframes;
● Excelente para machine learning;
● Possui uma vasta biblioteca de módulos (CRAN);
● Ótima para trabalhar com machine learning;
Julia
● Está se tornando a linguagem queridinha dos cientistas de dados;
● Uma linguagem de programação bem recente;
● A motivação foi extrair o melhor do R, Python, Matlab com alto desempenho;
● Utiliza-se o conceito de JIT em cima de LLVM o que torna uma linguagem muito
rápida, chegando a um desempenho semelhante ao do C;
● Bastante versátil, possível ser utilizada para maioria das tarefas de data science,
machine learning, estatísticas, modelagem matemática, etc;
Qual aprender?
● Como conhecimento nunca é demais, o recomendado é dominar uma delas e
conhecer as demais;
● Costumo usar Python para maioria das tarefas;
● Mas gosto de usar R para tratamento de texto, estatísticas e gerar gráficos;
● A linguagem Julia é muito interessante e promissora, tem que constar na ToDo list
de qualquer data scientist;
Processamento paralelo
● Datasets imensos, dispersos, oriundo de diferentes fontes de dados;
● Impossível ser tratado em um único computador;
● Necessário o uso de processamento paralelo:
○ Hadoop (MapReduce, Hive, HBase, Pig);
○ Spark (Spark-SQL, Spark-ML);
● Hadoop: Um ecossistema a parte, um mundo perfeito para um data scientist;
● Spark: Pode ou não estar integrado ao Hadoop (YARN), excelente para ETL,
transformação, machine learning, grafos, stream;
Persistência
● Depois de tratar e extrair informações úteis de diversos datasets, é hora de
persistir o resultado;
● SQL (PostgreSQL, MySQL);
● NoSQL (MongoDB, Neo4J, HBase);
● Conhecer o mundo relacional e não relacional é importante, saber como e onde
usar cada modelo de persistência vai tornar o trabalho muito mais ágil;
Visualização
● O conceito de notebooks é excelente, os mais utilizados são:
○ Jupyter;
○ Zeppelin;
● Além disso, diversas ferramentas podem enriquecer o resultado:
○ Tableau;
○ Spotfire;
○ QLikview;
○ Etc;
● Uma visualização bem feita impressiona o cliente, saber usar os gráficos
corretamente vai agregar um valor inestimável ao trabalho do data scientist;
Machine learning
● É um mundo fascinante, mas exige uma dedicação especial;
● Saber como e quando utilizar cada funcionalidade pode trazer resultados
impressionantes;
● Algumas tecnologias:
○ Hadoop: Mahout;
○ Python: Scikit-learn e Tensorflow;
● Algumas tarefas de Machine Learning:
○ Agrupamento;
○ Classificação;
○ Regressão;
○ Identificação de padrões;
○ etc;
É apenas o começo...
● O assunto é amplo, é muito difícil abordar tudo em uma única palestra;
● Para quem está começando, foco, disciplina e muito estudo é o caminho do
sucesso;
● Para quem já trabalha na área, a atualização é constante, estamos sempre
aprendendo algo novo;
● Citei muitas tecnologias com base em minha experiência pessoal mas o universo é
bem maior;
● É um mundo sem volta, quanto mais se estuda mais se quer estudar;
● Trabalhar com dados é fascinante!
Obrigado!

Contatos: Gostou do conteúdo dessa


palestra? Quer trabalhar com
Twitter: @dump
Blog: http://christiano.me data science? A Propus está
Redes sociais: Christiano Anderson
sempre recrutando:

http://propus.science

Vous aimerez peut-être aussi