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?
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