Primeiros passos machine learning PostgreSQL

Dickson S. Guedes
Dickson S. GuedesDatabase Administrator em Confesol - Confederação Nacional das Cooperativas de Crédito
Primeiros passos Machine Learning
no PostgreSQL
Dickson S. Guedes
twitter: guediz / github: guedes
Primeiros passos machine learning PostgreSQL
Apresentação Pessoal
• as pessoas me chamam de Guedes
• costumo usar
• PostgreSQL, Elasticsearch
• Python, Rust, Elixir, Ruby, R
• Emacs, Jupyter
• Ansible, Docker, Zabbix, Grafana, Logstash
• meetups
• Python Floripa, Devops, DBFloripa
• eventos
• FISL, PGBR, DBA Brasil 1.0, TDC
O que você vai ver hoje?
• introdução Machine Learning (ML)
• banco de dados PostgreSQL (BD ou Postgres)
• Python
• SQL’s
• notebooks
• um careca falando...
Machine Learning em um slide
• qual é a pergunta?
• o que eu quero descobrir?
• quero prever um valor? é regressão
• quero agrupar elementos com características comuns? é cluster
• quero classificar algo baseado em características? é classificação
• vou trabalhar com imagens? deep learning!
• posso usar os dados que eu tenho para o propósito que quero?
Machine Learning é burro
Oi?!
ML pode não diferenciar um cachorro de um biscoito
ML pode não diferenciar um cachorro de um esfregão
ML pode ser
trollado pelo
Saruman
Machine Learning em outro slide
• obtenha os dados com a melhor qualidade possível
• prepare e entenda os dados
• qual a pergunta? ela pode ser respondida pelos dados?
• escolha o algoritmo
• divida os dados em treino, teste e validação
• treine
• teste
• valide
• descubra (?) a resposta
O que virá pela frente?
• Linguagens como Python ou R
• Bibliotecas de Machine learning, como Sklearn, Tensorflow, Keras,
MADlib (nosso exemplo do dia)
• Necessidade de muito potencial de processamento
• Necessidade de muita memória
ML + BD
• você está mais próximo dos dados
• transferência apenas dos resultados entre o banco e cliente
• o banco gerencia bem memória quando os dados não cabem
• os modelos ficam disponíveis para todos que acessam o banco
• devem existir outros motivos...
Show me the code
• PostgreSQL 10
• Python 2.7
• MADlib 1.14
• Jupyter Notebook 4.4
• O código apresentado está disponível no Github:
• https://github.com/guedes/notebooks-exemplo/blob/master/Exemplo%20regressao%20linear%20c
om%20MADLib%20e%20PostgreSQL.ipynb
Comece a ler sobre...
• GPU
• TPU
• Cloud
E veja o que estão falando sobre...
• Computação quântica
• Blockchain + Machine learning
Referências
• PostgreSQL: o banco de dados que utilizamos
• https://www.postgresql.org/
• MADlib: a biblioteca que usamos para machine learning no PostgreSQL:
• http://madlib.apache.org
• um mapa dos algoritmos e quando utilizá-los:
• http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
• Jupyter Notebook
• http://jupyter.org/
• Scikit Learn: para aprender sobre algoritmos e
• http://scikit-learn.org
• para aprender mais:
• https://br.udacity.com/
• https://www.coursera.org/
Agradecimentos
• aos que se mantiveram atentos
• aos que não se mantiveram atentos mas estão aí firme e forte
• aos que não puderam ficar até agora e tiveram que sair
• às comunidades PostgreSQL, Python, DBA Brasil
• a Apache Software Foundation pela MADlib
Primeiros passos machine learning PostgreSQL
1 de 17

Mais conteúdo relacionado

Similar a Primeiros passos machine learning PostgreSQL

Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de DesenvolvimentoAlvaro Viebrantz
126 visualizações65 slides
Devfest cerrado2017Devfest cerrado2017
Devfest cerrado2017Sandro Moreira
392 visualizações30 slides

Similar a Primeiros passos machine learning PostgreSQL(20)

Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
Alvaro Viebrantz126 visualizações
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
Igor Sobreira3K visualizações
Sistemas de recomendações e neo4J na cloud computingSistemas de recomendações e neo4J na cloud computing
Sistemas de recomendações e neo4J na cloud computing
Priscila Mayumi3.7K visualizações
Devfest cerrado2017Devfest cerrado2017
Devfest cerrado2017
Sandro Moreira392 visualizações
Treinamento hadoop - dia4Treinamento hadoop - dia4
Treinamento hadoop - dia4
Alexandre Uehara1.8K visualizações
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internet
Marcos Petry1.6K visualizações
Palestra Apresentando Python e Suas AplicaçõesPalestra Apresentando Python e Suas Aplicações
Palestra Apresentando Python e Suas Aplicações
Marcos Thomaz3.1K visualizações
OmbrosDeGigantes-TDC2014OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014
Marcio Marchini463 visualizações
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDIS
Mario Guedes158 visualizações
Fazendo barba, cabelo e bigode com REDISFazendo barba, cabelo e bigode com REDIS
Fazendo barba, cabelo e bigode com REDIS
ArrayOf.io63 visualizações
PHP Turbinado com CodeIgniter - Conisli 2011PHP Turbinado com CodeIgniter - Conisli 2011
PHP Turbinado com CodeIgniter - Conisli 2011
Evaldo Junior1.6K visualizações
Desenvolvimento de aplicações PHP com MongoDBDesenvolvimento de aplicações PHP com MongoDB
Desenvolvimento de aplicações PHP com MongoDB
Ari Stopassola Junior4.8K visualizações
NoSQL e PythonNoSQL e Python
NoSQL e Python
FATEC São José dos Campos953 visualizações
Treinamento hadoop - dia3Treinamento hadoop - dia3
Treinamento hadoop - dia3
Alexandre Uehara1.7K visualizações

Mais de Dickson S. Guedes(20)

Ganhando tempo automatizando com SQLGanhando tempo automatizando com SQL
Ganhando tempo automatizando com SQL
Dickson S. Guedes15 visualizações
Dicas de sobrevivência de um DBA sem mouseDicas de sobrevivência de um DBA sem mouse
Dicas de sobrevivência de um DBA sem mouse
Dickson S. Guedes270 visualizações
Destistificando o EXPLAIN Destistificando o EXPLAIN
Destistificando o EXPLAIN
Dickson S. Guedes260 visualizações
Falando "Postgrês"Falando "Postgrês"
Falando "Postgrês"
Dickson S. Guedes222 visualizações
Se meu elefante falasseSe meu elefante falasse
Se meu elefante falasse
Dickson S. Guedes692 visualizações
O Elefante PoliglotaO Elefante Poliglota
O Elefante Poliglota
Dickson S. Guedes727 visualizações
Como encontrar uma agulha num palheiro de logsComo encontrar uma agulha num palheiro de logs
Como encontrar uma agulha num palheiro de logs
Dickson S. Guedes651 visualizações
Gerenciando múltiplas versões do PostgreSQL com pgvmGerenciando múltiplas versões do PostgreSQL com pgvm
Gerenciando múltiplas versões do PostgreSQL com pgvm
Dickson S. Guedes624 visualizações
PGXN - Como distribuir suas extensões com o PostgreSQLPGXN - Como distribuir suas extensões com o PostgreSQL
PGXN - Como distribuir suas extensões com o PostgreSQL
Dickson S. Guedes385 visualizações
Pgxn.pgdayPgxn.pgday
Pgxn.pgday
Dickson S. Guedes253 visualizações
Conhecendo Postgresql.- ENECOMP 2009Conhecendo Postgresql.- ENECOMP 2009
Conhecendo Postgresql.- ENECOMP 2009
Dickson S. Guedes433 visualizações
Minicurso Postgresql - Enecomp 2009Minicurso Postgresql - Enecomp 2009
Minicurso Postgresql - Enecomp 2009
Dickson S. Guedes220 visualizações
Testes unitarios no PostgreSQL com pgTAPTestes unitarios no PostgreSQL com pgTAP
Testes unitarios no PostgreSQL com pgTAP
Dickson S. Guedes812 visualizações

Primeiros passos machine learning PostgreSQL

  • 1. Primeiros passos Machine Learning no PostgreSQL Dickson S. Guedes twitter: guediz / github: guedes
  • 3. Apresentação Pessoal • as pessoas me chamam de Guedes • costumo usar • PostgreSQL, Elasticsearch • Python, Rust, Elixir, Ruby, R • Emacs, Jupyter • Ansible, Docker, Zabbix, Grafana, Logstash • meetups • Python Floripa, Devops, DBFloripa • eventos • FISL, PGBR, DBA Brasil 1.0, TDC
  • 4. O que você vai ver hoje? • introdução Machine Learning (ML) • banco de dados PostgreSQL (BD ou Postgres) • Python • SQL’s • notebooks • um careca falando...
  • 5. Machine Learning em um slide • qual é a pergunta? • o que eu quero descobrir? • quero prever um valor? é regressão • quero agrupar elementos com características comuns? é cluster • quero classificar algo baseado em características? é classificação • vou trabalhar com imagens? deep learning! • posso usar os dados que eu tenho para o propósito que quero?
  • 6. Machine Learning é burro Oi?!
  • 7. ML pode não diferenciar um cachorro de um biscoito
  • 8. ML pode não diferenciar um cachorro de um esfregão
  • 9. ML pode ser trollado pelo Saruman
  • 10. Machine Learning em outro slide • obtenha os dados com a melhor qualidade possível • prepare e entenda os dados • qual a pergunta? ela pode ser respondida pelos dados? • escolha o algoritmo • divida os dados em treino, teste e validação • treine • teste • valide • descubra (?) a resposta
  • 11. O que virá pela frente? • Linguagens como Python ou R • Bibliotecas de Machine learning, como Sklearn, Tensorflow, Keras, MADlib (nosso exemplo do dia) • Necessidade de muito potencial de processamento • Necessidade de muita memória
  • 12. ML + BD • você está mais próximo dos dados • transferência apenas dos resultados entre o banco e cliente • o banco gerencia bem memória quando os dados não cabem • os modelos ficam disponíveis para todos que acessam o banco • devem existir outros motivos...
  • 13. Show me the code • PostgreSQL 10 • Python 2.7 • MADlib 1.14 • Jupyter Notebook 4.4 • O código apresentado está disponível no Github: • https://github.com/guedes/notebooks-exemplo/blob/master/Exemplo%20regressao%20linear%20c om%20MADLib%20e%20PostgreSQL.ipynb
  • 14. Comece a ler sobre... • GPU • TPU • Cloud E veja o que estão falando sobre... • Computação quântica • Blockchain + Machine learning
  • 15. Referências • PostgreSQL: o banco de dados que utilizamos • https://www.postgresql.org/ • MADlib: a biblioteca que usamos para machine learning no PostgreSQL: • http://madlib.apache.org • um mapa dos algoritmos e quando utilizá-los: • http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html • Jupyter Notebook • http://jupyter.org/ • Scikit Learn: para aprender sobre algoritmos e • http://scikit-learn.org • para aprender mais: • https://br.udacity.com/ • https://www.coursera.org/
  • 16. Agradecimentos • aos que se mantiveram atentos • aos que não se mantiveram atentos mas estão aí firme e forte • aos que não puderam ficar até agora e tiveram que sair • às comunidades PostgreSQL, Python, DBA Brasil • a Apache Software Foundation pela MADlib