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

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