SlideShare a Scribd company logo
1 of 35
Download to read offline
Everton Gago
- Doutorando e Mestre em
Eng. Elétrica – UNICAMP;
- Eng. de Software – Dextra;
- Pesquiso novos métodos
numéricos e analíticos para
aprendizado de máquina.
MINERAÇÃO DE
DADOS COM
MADLIB
Everton Gago
Por que minerar?
O que minerar?
Padrão
associativo
Ex Padrão Associativo:
1:{Pão, Leite, Manteiga, Macarrão, Cebola}
2:{Cenoura, Manteiga, Tomate, Leite, Pão}
3:{Feijão, Leite, Laranja, Pão, Manteiga}
...
Ex Padrão Associativo:
1:{Pão, Leite, Manteiga, Macarrão, Cebola}
2:{Cenoura, Manteiga, Tomate, Leite, Pão}
3:{Feijão, Leite, Laranja, Pão, Manteiga}
...
Padrão
sequencial
Agrupamentos
Ex Agrupamento:
- Clientes de uma empresa de telefonia
Predição/
classificação
Ex Predição / Classificação:
- Classificar indícios de fraude (Receita Federal);
- Predição de vendas;
Técnicas???
Muitas!
Apriori
Ex de utilização com MADlib:
SELECT * FROM assoc_rules(.25, .5, 
'benef_social', 'combinado', 
'habitacional','public', true);
SELECT * FROM assoc_rules;
K-Means
Ex de utilização com MADlib:
ALTER TABLE cadastro_social ADD COLUMN row_id 
SERIAL;
CREATE TABLE input_points AS SELECT 
row_id,array[genero,raca,freq_escola,grau_instrucao,
deficiente,benef_social,reg_cidade]::float8[] AS 
points FROM cadastro_social;
SELECT * FROM kmeanspp('input_points','points', 
11,'squared_dist_norm2','avg', 100, 0.00000);
Regressão
Logística
Ex de utilização com MADlib:
CREATE TABLE cadsocial_convertido (
    benef_social text,
    grau_instrucao text,
    reg_cidade text,
    benef_socialnr numeric,
    grau_instrucaonr numeric,
    reg_cidadenr numeric,
    prioritario boolean
);
SELECT * FROM 
logregr_train('conjunto_treinamento','conhecimento',
'prioritario','caracteristicas');
Qual utilizar?
Pode combinar?
Fácil aplicar?
Não sem uma
boa ferramenta!
MADLIB
Requisitos:
­ Instalação PostgreSQL com PL/Python
­ Cmake
­ M4
­ Python Setup Tools
­ apt­get install cmake m4 python­setuptools
­ pgxn install madlib
­ createdb pgday_cps
­ pgday_cps#= CREATE EXTENSION plpythonu;
­ pgday_cps#= CREATE EXTENSION madlib;
Dados gerais:
­ Versão mais recente: 1.2
­ Projeto open source
­  Desenvolvido  por  pesquisadores  da 
Universidade  de  Berkeley  e  cientistas  de 
dados do Greenplum (EMC)
­ Plataforma 64 bits
­ Suporte para:
­ Greenplum 4.1, 4.2 
­ PostgreSQL 9.0, 9.1, 9.2
O que achamos
do MADLIB?
- Fácil de usar;
- Eficiente e tem bom desempenho;
- Facilita processamento paralelo;
- Mas.... Precisa de algumas melhorias para as
apresentações;
Comunidade Acadêmica:
- Cohen, J et al. MAD Skills: New Analysis Practices for Big
Data. VLDB, France, 2009.
- Dernoncourt, F et al. Machine Learning Algorithms for In-
Databases Analytics. Spring 2013.
- Hellerstein, J. M et al. The MADlib Analytics Library.
Technical Report, Electrical Engineering and Computer
Sciences University of California at Berkeley. 2012.
Exemplo...
Ex de utilização com MADlib:
SELECT * FROM assoc_rules(.25, .5, 
'benef_social', 'combinado', 
'habitacional','public', true);
SELECT * FROM assoc_rules;
Obrigado!
Contatos:
- Everton Gago <everton.gago@dextra-sw.com>
- Matheus Espanhol <matheus.espanhol@dextra-sw.com>
Mais informações:
madlib.net
PGDay Campinas 2013 - Mineração de Dados com MADlib

More Related Content

Viewers also liked

CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...PGDay Campinas
 
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...PGDay Campinas
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Marcos William Valentini
 
PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...
PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...
PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...PGDay Campinas
 
PGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textual
PGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textualPGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textual
PGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textualPGDay Campinas
 
PGDay Campinas 2013 - CASE: PostgreSQL no Tribunal de Justiça do Paraná
PGDay Campinas 2013 - CASE: PostgreSQL no Tribunal de Justiça do ParanáPGDay Campinas 2013 - CASE: PostgreSQL no Tribunal de Justiça do Paraná
PGDay Campinas 2013 - CASE: PostgreSQL no Tribunal de Justiça do ParanáPGDay Campinas
 
PGDay Campinas 2013 - Postgres XC @ Cloud
PGDay Campinas 2013 - Postgres XC @ CloudPGDay Campinas 2013 - Postgres XC @ Cloud
PGDay Campinas 2013 - Postgres XC @ CloudPGDay Campinas
 
DevOps & PostgreSQL - Provisionamento Ágil
DevOps & PostgreSQL - Provisionamento ÁgilDevOps & PostgreSQL - Provisionamento Ágil
DevOps & PostgreSQL - Provisionamento Ágilinstructbr
 
Análise de performance usando as estatísticas do PostgreSQL
Análise de performance usando as estatísticas do PostgreSQLAnálise de performance usando as estatísticas do PostgreSQL
Análise de performance usando as estatísticas do PostgreSQLMatheus de Oliveira
 
PGDAY - Palestra PostGIS + PgRouting
PGDAY - Palestra PostGIS + PgRoutingPGDAY - Palestra PostGIS + PgRouting
PGDAY - Palestra PostGIS + PgRoutingJairo de Almeida
 
Ux na vida real deedz
Ux na vida real  deedzUx na vida real  deedz
Ux na vida real deedzDextra
 
PostgreSQL: How to Store Passwords Safely
PostgreSQL: How to Store Passwords SafelyPostgreSQL: How to Store Passwords Safely
PostgreSQL: How to Store Passwords SafelyJuliano Atanazio
 
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...PGDay Campinas
 
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!Matheus Espanhol
 
PgBouncer: Pool, Segurança e Disaster Recovery | Felipe Pereira
PgBouncer: Pool, Segurança e Disaster Recovery | Felipe PereiraPgBouncer: Pool, Segurança e Disaster Recovery | Felipe Pereira
PgBouncer: Pool, Segurança e Disaster Recovery | Felipe PereiraPGDay Campinas
 
Bancos de dados analíticos open source
Bancos de dados analíticos open sourceBancos de dados analíticos open source
Bancos de dados analíticos open sourceMatheus Espanhol
 
DevOps e PostgreSQL: Replicação de forma simplificada | Miguel Di Ciurcio
DevOps e PostgreSQL: Replicação de forma simplificada | Miguel Di CiurcioDevOps e PostgreSQL: Replicação de forma simplificada | Miguel Di Ciurcio
DevOps e PostgreSQL: Replicação de forma simplificada | Miguel Di CiurcioPGDay Campinas
 

Viewers also liked (18)

pgDay Campinas – 2015
pgDay Campinas – 2015pgDay Campinas – 2015
pgDay Campinas – 2015
 
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
CASE: O PostgreSQL em BI: Milhares de operações diárias consolidadas em "near...
 
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
PGDay Campinas 2013 - PL/pg…ETL – Transformação de dados para DW e BI usando ...
 
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
Pgday Campinas 2015 - Uma visão do PPAS 9.4 e PEM 5.0
 
PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...
PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...
PGDay Campinas 2013 - Implementando o PostgreSQL de maneira escalável e com a...
 
PGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textual
PGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textualPGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textual
PGDay Campinas 2013 - Como Full Text Search pode ajudar na busca textual
 
PGDay Campinas 2013 - CASE: PostgreSQL no Tribunal de Justiça do Paraná
PGDay Campinas 2013 - CASE: PostgreSQL no Tribunal de Justiça do ParanáPGDay Campinas 2013 - CASE: PostgreSQL no Tribunal de Justiça do Paraná
PGDay Campinas 2013 - CASE: PostgreSQL no Tribunal de Justiça do Paraná
 
PGDay Campinas 2013 - Postgres XC @ Cloud
PGDay Campinas 2013 - Postgres XC @ CloudPGDay Campinas 2013 - Postgres XC @ Cloud
PGDay Campinas 2013 - Postgres XC @ Cloud
 
DevOps & PostgreSQL - Provisionamento Ágil
DevOps & PostgreSQL - Provisionamento ÁgilDevOps & PostgreSQL - Provisionamento Ágil
DevOps & PostgreSQL - Provisionamento Ágil
 
Análise de performance usando as estatísticas do PostgreSQL
Análise de performance usando as estatísticas do PostgreSQLAnálise de performance usando as estatísticas do PostgreSQL
Análise de performance usando as estatísticas do PostgreSQL
 
PGDAY - Palestra PostGIS + PgRouting
PGDAY - Palestra PostGIS + PgRoutingPGDAY - Palestra PostGIS + PgRouting
PGDAY - Palestra PostGIS + PgRouting
 
Ux na vida real deedz
Ux na vida real  deedzUx na vida real  deedz
Ux na vida real deedz
 
PostgreSQL: How to Store Passwords Safely
PostgreSQL: How to Store Passwords SafelyPostgreSQL: How to Store Passwords Safely
PostgreSQL: How to Store Passwords Safely
 
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
Greenplum: O banco de dados open source massivamente paralelo baseado em Post...
 
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
Escalabilidade, Sharding, Paralelismo e Bigdata com PostgreSQL? Yes, we can!
 
PgBouncer: Pool, Segurança e Disaster Recovery | Felipe Pereira
PgBouncer: Pool, Segurança e Disaster Recovery | Felipe PereiraPgBouncer: Pool, Segurança e Disaster Recovery | Felipe Pereira
PgBouncer: Pool, Segurança e Disaster Recovery | Felipe Pereira
 
Bancos de dados analíticos open source
Bancos de dados analíticos open sourceBancos de dados analíticos open source
Bancos de dados analíticos open source
 
DevOps e PostgreSQL: Replicação de forma simplificada | Miguel Di Ciurcio
DevOps e PostgreSQL: Replicação de forma simplificada | Miguel Di CiurcioDevOps e PostgreSQL: Replicação de forma simplificada | Miguel Di Ciurcio
DevOps e PostgreSQL: Replicação de forma simplificada | Miguel Di Ciurcio
 

PGDay Campinas 2013 - Mineração de Dados com MADlib