Primeiros passos Machine Learning
no PostgreSQL
Dickson S. Guedes
twitter: guediz / github: guedes
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

Primeiros passos machine learning PostgreSQL

  • 1.
    Primeiros passos MachineLearning no PostgreSQL Dickson S. Guedes twitter: guediz / github: guedes
  • 3.
    Apresentação Pessoal • aspessoas 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 emum 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.
  • 7.
    ML pode nãodiferenciar um cachorro de um biscoito
  • 8.
    ML pode nãodiferenciar um cachorro de um esfregão
  • 9.
  • 10.
    Machine Learning emoutro 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 thecode • 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 lersobre... • GPU • TPU • Cloud E veja o que estão falando sobre... • Computação quântica • Blockchain + Machine learning
  • 15.
    Referências • PostgreSQL: obanco 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 quese 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