Extrac��o de conhecimento de dados I

Document Sample
Extrac��o de conhecimento de dados I Powered By Docstoc
					    Introdução ao Data Mining

     Introdução e conceitos
exemplos, relação com outras áreas




               Alípio Jorge
                ATDMLP
     Doutoramento em Informática – MAP-I

             amjorge@fep.up.pt
Objectivos desta aula



  Entender o que é Data Mining (DM) e como surgiu
  Conhecer/Reconhecer tipos de problemas/tarefas de
   data mining
  Entender o input e o output de um processo de DM
  Compreender a relação entre DM e Machine Learning
  Compreender como pode funcionar um algoritmo de
   DM




 Alípio Jorge              MAP                         2
Exemplo 1



  Vendas de veículos TT
        – mailing convida para test-drive
        – brindes para quem aparecer
        – linha grátis (800)
  Problema
        –       Fraca resposta
        –       Custos
        –       Dados: lista com 1M de pessoas (nome, morada)
        –       + dados: conhecimento público associado a códigos postais
                 • demográficos e “psicograficos”
        – + dados: quem respondeu, quem ligou, quem comprou



 Alípio Jorge                                  MAP                          3
Exemplo 2



  Fertilização “in vitro”
        –       recolha de óvulos na mulher
        –       fertilização externa -> produção de vários embriões
        –       selecção de embriões
        –       colocação de embriões no útero


  O problema
        –       seleccionar os embriões mais promissores.
        –       60 variáveis descritivas
        –       dados históricos
        –       limites cognitivos do embriologista



 Alípio Jorge                                MAP                      4
Análise



  Elementos dos exemplos:
               Situação prática.
               Problema de decisão/análise.
               Falta de conhecimento sobre o processo de decisão.
               Necessidade de obtenção do conhecimento explícito.
               Necessidade de automação do processo.
               Existência de dados.
               Utilização de uma técnica de data mining (DM) ou aprendizagem
                automática (AA).

                                           Machine Learning




 Alípio Jorge                             MAP                               5
Fertilização in vitro


  Análise:
        – Situação operacional:
                • recolha de vários óvulos de uma mulher, para fertilização externa e posterior
                  reimplantação no útero da mulher.
        – Problema de decisão:
                • Quais os embriões a seleccionar (quais os que têm mais hipóteses de
                  sobreviver?)
        – Falta de conhecimento sobre o processo de decisão:
                • não há teoria (ou é incompleta) sobre como seleccionar os embriões.
        – Necessidade de obtenção do conhecimento explícito:
                • Validação dos critérios de decisão obtidos automaticamente
        – Necessidade de automação do processo:
                • demasiadas variáveis e conhecimento relacionado, limites cognitivos do
                  embriologista.
        – Existência de dados:
                • Registos históricos.
        – Utilização de uma técnica de DM:
                • classificação.


 Alípio Jorge                                     MAP                                         6
Porquê Data Mining?


  Grandes quantidades de dados (bases de dados)
  Conhecimento dos mercados / clientes
        – Sectores muito dependentes da informação
                • banca, seguros, telecomunicações, retalho
        – Forte pressão competitiva
        – Vantagem económica
  Respostas mais rápidas
        – Produtividade
  Personalização em massa
        – Promoção directa em função das compras
  Automação de tarefas /Apoio à decisão
        – Detecção de fraude
        – Classificação de corpos celestes

 Alípio Jorge                                 MAP             7
O que é então Data Mining / Extracção de Conhecimento ?



  Procura de padrões úteis em grandes quantidades de
   dados
        – padrão: motivo que se repete com alguma frequência
        – útil: o padrão deve servir para resolver um problema


                                                                 classificação

                                                                  regressão

                                                                  clustering

                                                                 associação

                                                                    outros

 Alípio Jorge                          MAP                                       8
Data Mining como passo no processo KDD
Fayyad & Simoudis (1997)




                                                                                Conhecimento

                                                                    Avaliação

                                                      Data Mining

                                      Transformação
                                        & Redução

                      Processamento
                        e Limpeza

              Selecção e
             Amostragem


  Alípio Jorge                                 MAP                                             9
Data mining: o ciclo




                                                                                                    age           spectacle-     astigmatism    tear-prod-    contact-
                                                                                                                 prescrip                      rate          lenses
                                                                                                    young        myope          no             reduced       none
                                                                                                    young        myope          no             normal        soft
                                                                                                    young        myope          yes            reduced       none
                                                                                                    young        hypermetrope   no             normal        soft




                         DB
                                                                                                    young        hypermetrope   yes            reduced       none
                                                                                                    young        hypermetrope   yes            normal        hard
                                                                                                    pre-         myope          no             reduced       none
                                                                                                    presbyopic
                                                                                                    pre-         myope          no             normal        soft
                                                                                                    presbyopic




                                                         DW
                                                                                                    pre-         hypermetrope   no             normal        soft
                                                                                                    presbyopic
                                                                                                    pre-         hypermetrope   yes            reduced       none




                          DB
                                                                                                    presbyopic
                                                                                                    pre-         hypermetrope   yes            normal        none
                                                                                                    presbyopic
                                                                                                    presbyopic   myope          no             reduced       none
                                                                                                    presbyopic   myope          yes            normal        hard
                                                                                                    presbyopic   hypermetrope   no             reduced       none
                                                                                                    presbyopic   hypermetrope   no             normal        soft
                                                                                                    presbyopic   hypermetrope   yes            reduced       none
                                                                                                    presbyopic   hypermetrope   yes            normal        none




                            DB                 data warehouse                                             flat dataset

                         data bases


      action



                                                              IDA=bcde


                                                           IMC=ade
                                                                     baixo

                                             PROF>=3.5               ESCOL=ace


                                                                                  IDA=cde
                                            alto   medio     medio

                                                                         ACTIV>=2.5
                                                                                            baixo


                                                                      baixo      medio              Data Mining
                                                     model
                       evaluation
    decision support
 Alípio Jorge                         MAP                                                                                                                                10
Alípio Jorge   MAP   11
Ponto da situação



  Vimos
        – conceito de extracção de conhecimento de dados
                • dados (data mining) conhecimento
        – tipos de problemas/tarefas de data mining
                • classificação, regressão, ...
  Vamos ver
        – modelação dos dados
        – modelação do conhecimento




 Alípio Jorge                                     MAP      12
Tipos de problemas de DM



  Classificação
                              data mining dirigido
  Regressão

  Clustering
                               data mining exploratório
  Associação

  Outros
        – o conjunto de tipos de problemas não é fechado




 Alípio Jorge                         MAP                  13
Problemas de Classificação



  Dados                                                                                                                   3 classes:
         – N casos de classes conhecidas                                                                                   - alto
                                                                                                                           - médio
  Descobrir
                                                                                                                           - baixo
         – descobrir uma relação funcional f(X) =y
         – que a um novo caso X, faça corresponder uma classe y
sexo IDA         CIV   ESCOL           PROF        HDORM     ACTIV     DESP TAB     ALC    CAF   Peso      ALT    IMC           Colest
m      40anos    c     EstSuperiores   sup         8ha10h    pouca     nao   nao    bebe   sim   70a60Kg   m160   normal        alto
f      40anos    c     12ano           int         6ha8h     pouca     sim   nao    bebe   sim   70a60Kg   m150   excessopeso   baixo
f      50anos    s     9Classe         sup         6ha8h     pouca     nao   nao    nao    sim   50a60Kg   m150   normal        baixo
m      60anos    c     4Classe         semi-qual   6ha8h     pouca     nao   ex     bebe   nao   mais80    m160   excessopeso   medio
f      60anos    c     4Classe         sem-prof    menos6h   alguma    nao   nao    nao    sim   50a60Kg   m150   excessopeso   medio
f      50anos    c     EstSuperiores   sup         8ha10h    pouca     sim   nao    ocas   sim   50a60Kg   m150   normal        medio
m      40anos    c     4Classe         esp-man     mais10h   alguma    nao   ex     bebe   sim   mais80    m170   excessopeso   baixo
m      40anos    c     EstSuperiores   sup         6ha8h     nenhuma   sim   ex     bebe   sim   70a60Kg   m170   normal        baixo
m      40anos    c     4Classe         esp-n-man   6ha8h     pouca     sim   nao    bebe   sim   80a70kg   m160   excessopeso   medio
m      60anos    c     EstSuperiores   sup         8ha10h    nenhuma   sim   ex     bebe   sim   mais80    m170   excessopeso   medio
m      60anos    c     4Classe         semi-qual   8ha10h    pouca     nao   ex     ex     sim   70a60Kg   m180   normal        alto
m      50anos    c     9Classe         esp-n-man   8ha10h    pouca     nao   nao    bebe   sim   70a60Kg   m150   excessopeso   medio
f      40anos    v     4Classe         esp-n-man   8ha10h    nenhuma   nao   nao    nao    sim   50a60Kg   m160   normal        baixo
m      40anos    c     9Classe         esp-n-man   6ha8h     nenhuma   sim   fuma   bebe   sim   mais80    m160   obesidade     alto
f      50anos    c     12ano           int         6ha8h     alguma    sim   ex     bebe   sim   70a60Kg   m150   excessopeso   medio
m      50anos    c     12ano           int         6ha8h     pouca     sim   nao    bebe   sim   80a70kg   m170   normal        medio
m Alípio Jorge
       40anos    d     EstSuperiores   sup         6ha8h     pouca     simMAPfuma   bebe   sim   70a60Kg   m160   normal        alto   14
   Classificação


sexo IDA
m 40anos
f    40anos
              CIV
              c
              c
                    ESCOL
                    EstSuperiores
                    12ano
                                    PROF
                                    sup
                                    int
                                                HDORM
                                                8ha10h
                                                6ha8h
                                                          ACTIV
                                                          pouca
                                                          pouca
                                                                    DESP
                                                                    nao
                                                                    sim
                                                                           TAB
                                                                           nao
                                                                           nao
                                                                                  ALC
                                                                                  bebe
                                                                                  bebe
                                                                                         CAF
                                                                                         sim
                                                                                         sim
                                                                                               Peso
                                                                                               70a60Kg
                                                                                               70a60Kg
                                                                                                         ALT
                                                                                                         m160
                                                                                                         m150
                                                                                                                IMC
                                                                                                                normal
                                                                                                                excessopeso
                                                                                                                              Colest
                                                                                                                              alto
                                                                                                                              baixo
                                                                                                                                                               IDA=bcde
f    50anos   s     9Classe         sup         6ha8h     pouca     nao    nao    nao    sim   50a60Kg   m150   normal        baixo
m 60anos      c     4Classe         semi-qual   6ha8h     pouca     nao    ex     bebe   nao   mais80    m160   excessopeso   medio
f    60anos   c     4Classe         sem-prof    menos6h   alguma    nao    nao    nao    sim   50a60Kg   m150   excessopeso   medio
f    50anos   c     EstSuperiores   sup         8ha10h    pouca     sim    nao    ocas   sim   50a60Kg   m150   normal        medio
m 40anos
m 40anos
              c
              c
                    4Classe
                    EstSuperiores
                                    esp-man
                                    sup
                                                mais10h
                                                6ha8h
                                                          alguma
                                                          nenhuma
                                                                    nao
                                                                    sim
                                                                           ex
                                                                           ex
                                                                                  bebe
                                                                                  bebe
                                                                                         sim
                                                                                         sim
                                                                                               mais80
                                                                                               70a60Kg
                                                                                                         m170
                                                                                                         m170
                                                                                                                excessopeso
                                                                                                                normal
                                                                                                                              baixo
                                                                                                                              baixo                         IMC=ade
m 40anos
m 60anos
              c
              c
                    4Classe
                    EstSuperiores
                                    esp-n-man
                                    sup
                                                6ha8h
                                                8ha10h
                                                          pouca
                                                          nenhuma
                                                                    sim
                                                                    sim
                                                                           nao
                                                                           ex
                                                                                  bebe
                                                                                  bebe
                                                                                         sim
                                                                                         sim
                                                                                               80a70kg
                                                                                               mais80
                                                                                                         m160
                                                                                                         m170
                                                                                                                excessopeso
                                                                                                                excessopeso
                                                                                                                              medio
                                                                                                                              medio
                                                                                                                                                                      baixo
m 60anos      c     4Classe         semi-qual   8ha10h    pouca     nao    ex     ex     sim   70a60Kg   m180   normal        alto
m 50anos      c     9Classe         esp-n-man   8ha10h    pouca     nao    nao    bebe   sim   70a60Kg   m150   excessopeso   medio
f    40anos   v     4Classe         esp-n-man   8ha10h    nenhuma   nao    nao    nao    sim   50a60Kg   m160   normal        baixo
m 40anos
f    50anos
m 50anos
              c
              c
              c
                    9Classe
                    12ano
                    12ano
                                    esp-n-man
                                    int
                                    int
                                                6ha8h
                                                6ha8h
                                                6ha8h
                                                          nenhuma
                                                          alguma
                                                          pouca
                                                                    sim
                                                                    sim
                                                                    sim
                                                                           fuma
                                                                           ex
                                                                           nao
                                                                                  bebe
                                                                                  bebe
                                                                                  bebe
                                                                                         sim
                                                                                         sim
                                                                                         sim
                                                                                               mais80
                                                                                               70a60Kg
                                                                                               80a70kg
                                                                                                         m160
                                                                                                         m150
                                                                                                         m170
                                                                                                                obesidade
                                                                                                                excessopeso
                                                                                                                normal
                                                                                                                              alto
                                                                                                                              medio
                                                                                                                              medio
                                                                                                                                        PROF>=3.5                     ESCOL=ace
m 40anos      d     EstSuperiores   sup         6ha8h     pouca     sim    fuma   bebe   sim   70a60Kg   m160   normal        alto




                                                                                                                                                                                   IDA=cde
                                                                                                                                       alto         medio     medio

                                                                                                                                                                          ACTIV>=2.5
                                                                                                                                                                                             baixo


                                                                                                                                                                       baixo      medio

                                                     Previsão:
                                                    Colest=alto                                                                          Novo caso:
                                                                                                                                         Sexo: m
                                                                                                                                         IDA: 39
                                                                                                                                         …


                Alípio Jorge                                                                                                                  MAP                                              15
Classificação: breast cancer>diagnóstico

                                                            Attributes
                                                            1. Sample code number            id number
                                                            2. Clump Thickness               1 - 10
  Breast cytology                                          3. Uniformity of Cell Size
                                                            4. Uniformity of Cell Shape
                                                                                             1 - 10
                                                                                             1 - 10

        – Análise de 699 exames                             5. Marginal Adhesion
                                                            6. Single Epithelial Cell Size
                                                                                             1 - 10
                                                                                             1 - 10
                                                            7. Bare Nuclei                   1 - 10
                                                            8. Bland Chromatin               1 - 10
                      Unif.cell.size< 2.5                   9. Normal Nucleoli               1 - 10
                                                            10. Mitoses                      1 - 10
                                                            11. Class:                       benign, malignant




  Bare.nucl< 5.5                            Unif.cell.shp< 2.5




                      Bland.chrom< 3.5                           Unif.cell.size< 4.5
 ben            mal



                                                     Bare.nucl< 2.5
                       ben           mal                                          mal




                                                    ben              mal
 Alípio Jorge                                              MAP                                                   16
Típico problema de classificação



  Problema de classificação
        – um paciente que precisa de lentes de contacto, quero determinar o
          tipo de lentes que este paciente precisa
  Como obter automaticamente um modelo de
   classificação?
        – preciso de um histórico de receitas, que associa a cada paciente, o
          tipo de lentes receitadas:
                • Paciente  tipo de lentes
        – forneço o histórico a um algoritmo de DM para problemas de
          classificação
        – obtenho um modelo de classificação astigmatism tear-prod- contact-
                             age        spectacle-
                                              prescrip             rate      lenses
  Como descrevo                  young       myope          no    reduced   none
                                  young       myope          no    normal    soft
        – um paciente?            young
                                  young
                                              myope
                                              hypermetrope
                                                             yes
                                                             no
                                                                   reduced
                                                                   normal
                                                                             none
                                                                             soft
        – tipo de lentes?         young
                                  young
                                              hypermetrope
                                              hypermetrope
                                                             yes
                                                             yes
                                                                   reduced
                                                                   normal
                                                                             none
                                                                             hard
 Alípio Jorge                     pre-        myope
                                                MAP          no    reduced   none     17
Exemplos /instâncias


  Instância: exemplo de um conceito
        – concreto
        – “indivisível”


  Situação: modelo de decisão para atribuir crédito
        – qual é o conceito?
        – O que é um exemplo?
  Situação: prever clientes que vão abandonar o serviço
        – sequências temporais
        – multi registo
  Situação: prever subida da bolsa
        – a partir do histórico de cotações
        – individualizar os exemplos

 Alípio Jorge                           MAP                18
Conhecimento de fundo



  Background knowledge
        – conhecimento mais ou menos estável que pode servir para
          enriquecer os dados


  Situação: direccionar mailing
        – conhecimento genérico (dados demográficos)
        – multi tabela
  Situação: previsão da estrutura secundária de proteínas
        – conhecimento científico existente; proteinas homólogas




 Alípio Jorge                          MAP                          19
Descrição de exemplos



  Linguagem de exemplos

  Tipicamente
        – conjunto de atributos (features, variáveis)
        – conjunto de valores para cada atributo
        – vectores de valores
                • <sol,23,baixa,forte>
        – conjuntos de pares atributo=valor
                • {tempo=sol, temp=23, humidade=baixa, vento=forte}


  Exercícios: carruagem de Michalsky, combóio, textos para classificar
      como “sobre DM” ou “outros”.

 Alípio Jorge                                MAP                      20
Ponto da situação



  Vimos
        – como modelar os dados num problema de classificação / regressão
        – usamos sempre uma representação matricial (uma tabela) dos
          dados


  Vamos ver
        – limitações da representação matricial
        – tipos de atributos
        – 2 formatos populares




 Alípio Jorge                          MAP                                  21
Conjunto de exemplos (data sets)



  conjunto pré-definido de atributos
        – matriz de valores
                • n atributos
                • m exemplos
        – relação algébrica
        – tabela (BD)
  Vantagens
        – computacionais
        – simplicidade conceptual
  Restrições
        – a seguir



 Alípio Jorge                       MAP   22
Rep. Matricial: Restrições



  Combóios de Michalsky
        – representar um combóio
          de comprimento arbitrário.


  Atributos?

  Representações multi-relacionais
        – normais em BD


  Outro exemplo: encomendas - detalhes de encomenda
        – relações 1:N


 Alípio Jorge                          MAP             23
O formato “universal”: CSV (comma separated value)

                outlook, temperature, humidity, windy, play    atributos
                sunny, 85, 85, false, no
                sunny, 80, 90, true, no
                overcast, 83, 86, false, yes
                rainy, 70, 96, false, yes
                rainy, 68, 80, false, yes
                rainy, 65, 70, true, no
                overcast, 64, 65, true, yes
                sunny, 72, 95, false, no
                sunny, 69, 70, false, yes
                rainy, 75, 80, false, yes                     valores e classe
                sunny, 75, 70, true, yes
                overcast, 72, 90, true, yes                   (classificação)
                overcast, 81, 75, false, yes
                rainy, 71, 91, true, no




 Alípio Jorge                          MAP                                       24
Um formato específico: ARFF do Weka

                % ARFF file for the weather data with some        comentários
                numeric features
                %
                @relation weather

                @attribute   outlook { sunny, overcast, rainy }
                @attribute   temperature numeric
                @attribute   humidity numeric
                @attribute   windy { true, false }
                @attribute   play? { yes, no }
                                                                       classe
                @data
                %                                                 (classificação)
                % 14 instances
                %
                sunny, 85, 85, false, no
                sunny, 80, 90, true, no
                overcast, 83, 86, false, yes
                rainy, 70, 96, false, yes
                rainy, 68, 80, false, yes
                rainy, 65, 70, true, no
                overcast, 64, 65, true, yes
                sunny, 72, 95, false, no
                sunny, 69, 70, false, yes
                rainy, 75, 80, false, yes
                sunny, 75, 70, true, yes
                overcast, 72, 90, true, yes
                overcast, 81, 75, false, yes
                rainy, 71, 91, true, no



 Alípio Jorge                            MAP                                        25
Dados de treino e dados de teste



  Exemplos de treino
        – para construir o modelo              treino       modelo
        – training-set (AA)
  Exemplos de teste                                teste
        – para avaliar o modelo
        – test-set (AA)
                                                            avaliação
  Distribuição dos exemplos
        – geralmente assume-se dist. treino = dist. teste
        – concept drift (deriva conceptual)




 Alípio Jorge                           MAP                             26
Ponto da situação



  Vimos
        – como modelar os dados (o input)


  Vamos ver
        – como modelar o conhecimento (o output)




 Alípio Jorge                         MAP          27
Regras de classificação (ou de decisão)



  Problemas de classificação
                                                       Classe ou
                                                       decisão
  Tipicamente
        SE {Conjunto de condições} ENTÃO {Conclusão}

        IF age=presbyopic and astigmatic=no THEN recommendation=soft


  Linguagem de hipóteses (LH)
        – genericamente, é a linguagem em que exprimimos os modelos
        – Conjuntos de regras SE-ENTÃO
        – Sequências de regras


 Alípio Jorge                        MAP                               28
Regras de classificação



  Dado um exemplo E e uma regra A C
        – Uma regra aplica-se se A é verdadeiro em E.
                • A é uma generalização de E.         Regra:
                • A regra “dispara”                   IF age=presbyopic and astigmatic=no
                                                      THEN recommendation=soft


        – Exemplo 1:
           {age=presbyopic,spectacle-prescription=myope,
           astigmatic=no,tear-prod-rate=reduced}

        – Exemplo 2:
           {age=presbyopic,spectacle-prescription=myope,
                astigmatic=yes,tear-prod-rate=reduced}


 Alípio Jorge                                   MAP                                         31
Conjuntos de regras



  Mais do que uma regra dispara
        – pode ser evitado
        – respostas contraditórias
        – combinação de respostas
                • votação
                • selecção por confiança da regra
        – listas de decisão (a ordem é importante)

   Exemplo:
                                          age=young, astigmatic=no -> rec.=soft
   age=young,
   spect-presc=myope                      age=young, astigmatic=yes -> rec.=none
   astigmatic=no,                         -> rec.=none
   tear-prod-rate=reduced




 Alípio Jorge                                 MAP                                  32
Conjuntos de regras



  Votação
        – Seja E um exemplo para classificar
        – Recolhem-se as respostas dadas pelas regras que disparam
        – A resposta combinada é a resposta mais “votada”


  Vantagens
        – simplicidade na resolução de conflitos
        – diminuição da variância
  Desvantagens
        – duas regras com qualidades e significâncias diferentes têm o
          mesmo peso no voto (uma regra, um voto)



 Alípio Jorge                           MAP                              33
Listas de decisão (decision lists)



  A ordem das regras é importante

        – Seja E um exemplo
        – Seja R1, R2, ..., Rn uma sequência de regras (lista de decisão)
        – A resposta é dada pela regra de índice mais baixo que dispara

   Exemplo:                         age=young, astigmatic=no -> rec.=soft
   age=young,                       age=young, astigmatic=yes -> rec.=none
   spect-presc=myope
   astigmatic=no,                   -> rec.=none
   tear-prod-rate=reduced
                                                               default rule




 Alípio Jorge                           MAP                                   34
Outras linguagens de hipóteses: Árvores de decisão




 Alípio Jorge                                        35
Muitas outras representações de conhecimento



  Modelos baseados em instâncias
  Lógica de primeira ordem
  Discriminantes lineares
  Tabelas de probabilidades
  Redes bayesianas
  Redes neuronais
  ...

  Representações complexas põem problemas à
   extracção automática.


 Alípio Jorge                                  36
Em resumo



  Podemos
        – representar um modelo de classificação
        – usando conjuntos / sequências de regras de decisão




 Alípio Jorge                         MAP                      37
Exercício: Mailing


    Uma distribuidora de revistas quer enviar material promocional por
       correio a potenciais clientes. Dispõe de uma lista de centenas de
       pessoas que poderão estar interessadas em assinar as revistas que
       disponibiliza. As revistas dividem-se em três categorias: técnicas,
       sociais e desportivas. Para baixar os custos da operação, a empresa
       decidiu, para cada pessoa da lista, enviar material promocional
       apenas de um tipo de revista ou de nenhum, no caso de não parecer
       um cliente promissor.
    Tendo em conta a experiência acumulada pelo marketing da empresa, o
       critério para distinguir as pessoas foi o seguinte: Enviou-se
       propaganda a revistas técnicas a quadro técnicos e professores,
       independentemente do sexo ou da idade. Às pessoas que não
       estivessem nestas condições, enviou propaganda a revistas
       desportivas a homens com idade entre os 20 e os 50 anos, e de
       revistas sociais a mulheres maiores de 23.
    1. Identifique os atributos e os valores necessários para descrever cada
       um dos casos (os potenciais leitores).
    2. Identifique as categorias (classes) em que foram divididos os
       indivíduos.
    3. Represente o modelo de decisão como um conjunto de regras.
    4. Implemente uma função em R que represente o conjunto de regras.
    5. Coloque alguns exemplos num data frame e classifique-os.

 Alípio Jorge                          MAP                                     38
Exercício: Sucesso escolar


 Um estudo do sucesso escolar (*) numa faculdade revelou que os alunos com
   nota de entrada superior ou igual a 14 e com nota a matemática (uma
   disciplina do 1º ano) de pelo menos 13, terminam o curso em 4 anos, a
   menos que sejam trabalhadores estudantes. Estes terminam o curso em 5
   anos no caso de terem nota de entrada pelo menos 15, e 6 ou mais anos
   caso contrário. Os restantes alunos terminam o curso em 4 anos se tiram
   15 ou mais a matemática e em 5 anos caso contrário.
 1. Identifique os atributos e os valores necessários para descrever cada um
    dos casos (os alunos).
 2. Identifique as categorias (classes) em que foram divididos os indivíduos.
 3. Represente o modelo de decisão como um conjunto de regras.
 4. Implemente uma função em R que represente a árvore de decisão.
 5. Coloque alguns exemplos num data frame e classifique-os.



 (*) estes dados não correspondem a uma situação real.




 Alípio Jorge                                            MAP                    39
 Extracção de Regras de Classificação

Métodos de Extracção de Conhecimento




                 Alípio Jorge
                  ATDMLP
       Doutoramento em Informática – MAP-I

               amjorge@fep.up.pt
Ponto da situação



  Vimos
        – o que é o data mining
        – dados (o input)
                • como representar um problema com um conjunto de
                  dados
        – modelos (o output)
                • como representar um modelo de decisão ou outros

  Vamos ver
        – extracção de conhecimento / data mining
                • como chegar ao modelo a partir dos dados

 Alípio Jorge                         MAP                           41
1R (regras muito simples para classificação)


  Exemplos numa matriz (classe no fim)
                    outlook       temperature   humidity   windy   play
                    sunny         hot           high       FALSE   no
                    sunny         hot           high       TRUE    no
                    overcast      hot           high       FALSE   yes
                    rainy         mild          high       FALSE   yes
                    rainy         cool          normal     FALSE   yes
                    rainy         cool          normal     TRUE    no
                    overcast      cool          normal     TRUE    yes
                    sunny         mild          high       FALSE   no
                    sunny         cool          normal     FALSE   yes
                    rainy         mild          normal     FALSE   yes
                    sunny         mild          normal     TRUE    yes
                    overcast      mild          high       TRUE    yes
                    overcast      hot           normal     FALSE   yes
                    rainy         mild          high       TRUE    no
  Modelo
        outlook=sunny -> no
        outlook=overcast -> yes
        outlook=rainy -> yes

 Alípio Jorge                             MAP                             42
1R



  Raciocínio
        – frequentemente um atributo é suficiente para determinar a classe
      • frequentemente também não
  Método

        Para cada atributo A
          Para cada valor V1, ..., Vn do atributo, construir a regra
           A=Vi -> C: C é a classe mais frequente nos exemplos com A=Vi
           calcular o erro da regra (#respostas erradas) / (#respostas)
          calcular o erro da hipótese baseada em A
        Escolher a hipótese com menor erro



 Alípio Jorge                          MAP                                   43
1R (execução)

                                                         outlook=sunny ->no                   (2/5)
                                                         outlook=overcast-> yes               (0/4)
outlook         temperature   humidity   windy    play
sunny           hot           high       FALSE    no
                                                         outlook=rainy -> yes                 (2/5)
sunny           hot           high       TRUE     no
overcast        hot           high       FALSE    yes
rainy           mild          high       FALSE    yes        total de erros.................4/14
rainy           cool          normal     FALSE    yes
rainy           cool          normal     TRUE     no
overcast        cool          normal     TRUE     yes    temperature........................5/14
sunny           mild          high       FALSE    no
sunny           cool          normal     FALSE    yes
rainy           mild          normal     FALSE    yes    humidity..............................4/14
sunny           mild          normal     TRUE     yes
overcast        mild          high       TRUE     yes
overcast        hot           normal     FALSE    yes    windy..................................5/14
rainy           mild          high       TRUE     no




 Alípio Jorge                                    MAP                                                   44
1R - Notas


                                                       outlook
  Modelo é uma árvore
                                                sunny overcast
   de decisão com 1 nível                                        rainy

                                                no       yes     yes
  Quase sem procura
        – número de hipóteses consideradas = número de atributos
        – MUITO eficiente
  Surpreendentemente competitivo (R. C. Holte, 1993)

  Valores desconhecidos                               WEKA: OneR
        – missing tratado como mais um valor.
  Atributos numéricos
        – discretização dinâmica.
 Alípio Jorge                         MAP                                45
1R (com valores desconhecidos)

                                                         outlook=sunny ->no                   (2/5)
                                                         outlook=overcast-> yes               (0/2)
outlook         temperature   humidity   windy    play
sunny           hot           high       FALSE    no     outlook=rainy -> yes                 (2/5)
sunny           hot           high       TRUE     no
     ?          hot           high       FALSE    yes    outlook=missing -> yes               (0/2)
rainy           mild          high       FALSE    yes
rainy           cool          normal     FALSE    yes
rainy           cool          normal     TRUE     no         total de erros.................4/14
     ?          cool          normal     TRUE     yes
sunny           mild          high       FALSE    no
sunny           cool          normal     FALSE    yes
rainy           mild          normal     FALSE    yes    temperature........................5/14
sunny           mild          normal     TRUE     yes
overcast        mild          high       TRUE     yes
overcast        hot           normal     FALSE    yes
rainy           mild          high       TRUE     no     humidity..............................4/14

                                                         windy..................................5/14




 Alípio Jorge                                    MAP                                                   46
Exercício



  Utilizar o OneR no Weka
        – com o weather
        – com o contact lenses


  Experimentar
        – com treino só
        – com treino e teste (70% para treino)


  Comparar
        – com os resultados do J48




 Alípio Jorge                           MAP      47
“Conhecimento” como output



  Resultado de um método DM




                Dados   Método DM   Conhecimento/
                                    Modelo


 Alípio Jorge              MAP                      48
Ponto da situação



  Vimos
        – um método muito simples que constrói modelos de classificação
          (muito simples)


  Vamos ver
        – um método mais sofisticado de obter regras de decisão




 Alípio Jorge                         MAP                                 49
Construção de uma regra usando procura



  Dado um conjunto de exemplos discretos (Matriz)
  Vamos fazer uma procura heurística (hill-climbing)
  Do mais geral para o mais específico, dada uma classe
  Model-driven

  Ilustração: exemplos weather.nominal
  Linguagem de hipóteses
        – atributos outlook, temperature, humidity, windy
        – respectivos valores
        – classe play com dois valores {yes,no}



 Alípio Jorge                           MAP                 50
Construção de uma regra usando procura



  Dada uma classe (e.g. play=yes)
        – Regra maximamente geral
                -> class=yes
        – Cobre todos os exemplos                       heurística
        – Qualidade da regra

                      erro = (#respostas erradas) / (#exemplos cobertos)
                • no caso é 5/14

        – Vamos refinar a regra enquanto erro > 0




 Alípio Jorge                            MAP                               51
Construção de uma regra usando procura



  Refinamentos de [ -> play=yes]
        – especializações maximamente gerais da regra (10 hipóteses),
        – nível imediatamente abaixo do espaço de hipóteses

                           -> play=yes
                           er = 5/14


outlook=sunny-> play =yes
er = 3/5

                       outlook=overcast-> play =yes
                       er = 0/4
                                             ...
                                                         windy=true-> play =yes
       regra que                                         er = 3/5
       procurávamos

 Alípio Jorge                         MAP                                     52
Construção de uma regra usando procura



  Suponhamos que a classe dada era play=no
                             outl=sunny-> play=no,       er = 2/5
                             outl =overcast-> play=no,        er = 4/4
                             outl =rainy-> play=no,       er = 2/5
                                 ...

 -> play=no                  hum=high-> play=no,      er = 3/7
 er = 9/14
                                 ...



                             windy=true-> play=no,       er = 3/6


                • nenhuma regra satisfaz o critério de paragem
                • vamos continuar a refinar a regra que optimiza localmente a heurística


 Alípio Jorge                               MAP                                       53
Construção de uma regra usando procura



  Novos refinamentos                                           outl =sunny,temp=hot
                                                                         -> play=no, er = 0/2


                    outl=sunny-> play=no,     er = 2/5          outl =sunny,temp=mild
                    outl =overcast-> play=no,     er = 4/4               -> play=no, er = 1/2
                    outl =rainy-> play=no,     er = 2/5

-> play=no            ...
                                                                   ...
er = 9/14           hum=high-> play=no,     er = 3/7

                       ...
                                                                outl =sunny,hum=high
                    windy=true-> play=no,     er = 3/6                   -> play=no, er = 0/3



                                                                   ...


             • duas regras sem erros
             • preferimos a que maximiza a cobertura

 Alípio Jorge                                             MAP                                   54
Exercício



  Para encontrarmos esta regra tivemos de considerar 17
   hipóteses.
        – Usamos uma abordagem model-driven.

        – Sugira uma abordagem data-driven que reduza o número de
          hipóteses a considerar.
        – Altere o pseudo-código e construa a árvore de procura.
        – Quantas hipóteses foram consideradas?

        – Pista: uma regra tem de cobrir pelo menos um exemplo. Escolha um
          exemplo como semente de construção da regra.




 Alípio Jorge                         MAP                               55
Construção de uma regra



  Pseudo-código

        Dada a classe C
        Contruír uma regra R da forma [ ->C]
          Até R ser perfeita (erro=0), ou acabarem os atributos
           Para cada atributo A não ocorrendo em R, e para cada valor V
                   Considerar juntar A=V ao antecedente de R
           Seleccionar o par A=V que minimiza o erro
           Juntar esse par ao antecedente de R




 Alípio Jorge                         MAP                                 56
Algoritmo de cobertura



  Voltemos à regra           outlook=overcast-> play =yes
        – cobre 4 exemplos
        – como proceder para cobrir os restantes exemplos?


  Algoritmo de cobertura
        – retiro os exemplos cobertos pela primeira regra
        – construo uma regra para os restantes exemplos
        – repito o processo até não ter mais exemplos

        – também chamado separar-e-conquistar (separate-and-conquer)




 Alípio Jorge                          MAP                             58
Algoritmo de cobertura



  Resultado

        outlook=overcast-> play =yes             (cob.   4)
        hum=normal, windy=false -> play=yes      (cob.   3)
        temp=mild, humidity=normal -> play=yes   (cob.   1)
        outlook=rainy -> play=yes                (cob.   3, er. 2/3)
        -> play=no                               (cob.   3)

        erro no treino = 2/14



  Exercício
        – qual seria o resultado se tivéssemos começado com play=no ?



 Alípio Jorge                         MAP                               59
Algoritmo de cobertura



  Pseudo-código

        Para cada classe C
          seja E conjunto de exemplos inicial
          Enquanto E contiver exemplos da classe C
           Criar uma regra para a classe C
           Retirar de E os exemplos cobertos pela regra



                                                    WEKA: Prism



 Alípio Jorge                         MAP                         60
Algoritmo de cobertura



  O resultado é uma lista de decisão
        – a primeira regra que dispara dá a resposta
        – o ordem é importante

        – cada regra é construída assumindo que as anteriores não se
          aplicam ao conjunto de exemplos corrente.


  Critério de paragem na construção de regras
        – regras perfeitas
        – problemas: ruído e sobre-ajustamento (overfitting)




 Alípio Jorge                           MAP                            61
             Métodos de Procura para data mining
Data mining como aprendizagem de conceitos,aprendizagem de conceitos como
                                 procura




                                Alípio Jorge
                                  Procura
                                 ATDMLP
                      Doutoramento em Informática – MAP-I

                              amjorge@fep.up.pt
Ponto da situação



  Vimos que
        – um modelo de classificação pode ser obtido a partir de dados
        – um modelo de classificação pode ser representado de várias
          maneiras
        – como obter um modelo de forma muito simples (OneR)
        – como obter um modelo usando procura heurística
  Vamos ver
        – como um modelo de classificação pode corresponder à descrição de
          um conceito
        – como a descrição de um conceito pode ser produzida a partir de
          exemplos usando procura




 Alípio Jorge                          MAP                               63
Conceito: Arco



         Exemplos positivos     Exemplos negativos




 Alípio Jorge                  MAP                     64
Aprender o conceito arco



  Objectivo
        – encontrar uma teoria ou um modelo que defina o conceito arco.
                • conhecimento

  Dispomos de
        – exemplos de arcos (positivos), falsos exemplos de arcos (negativos)


  Objectivo (reformulado)
        – encontrar uma teoria ou um modelo que aceite os exemplos
          positivos e rejeite os negativos




 Alípio Jorge                          MAP                                  65
Conceito: Arco


         Exemplos positivos                     Exemplos negativos




       Hipótese 1: “tudo é um arco”
                – demasiado geral, não exclui exemplos negativos
       Hipótese 2: “nada é um arco”
                – demasiado específica,...




 Alípio Jorge                                 MAP                      66
Conceito: Arco


         Exemplos positivos                     Exemplos negativos




       Hipótese 3: “um arco tem um bloco rectangular na vertical (A)
        que apoia outro bloco rectangular na horizontal (C). Um terceiro
        bloco rectangular apoia também o bloco C e está afastado do
        bloco A”
                – cobre alguns exemplos positivos, mas não todos
                – não cobre exemplos negativos


 Alípio Jorge                                 MAP                          67
Conceito: Arco


         Exemplos positivos             Exemplos negativos




       Hipótese 3: é demasiado específica
       vamos GENERALIZAR a hipótese:
       Hipótese 4: “um arco tem um bloco rectangular na vertical (A)
        que apoia outro bloco rectangular na horizontal (C). Um terceiro
        bloco rectangular apoia também o bloco C e está afastado do
        bloco A”

 Alípio Jorge                          MAP                                 68
Aprender o conceito de arco -
uma resposta


         Exemplos positivos                         Exemplos negativos




         Uma teoria para o conceito: ARCO
                – um arco tem um bloco rectangular na vertical (A) que apoia outro bloco na
                  horizontal (C). Um terceiro bloco rectangular apoia também o bloco C e
                  está afastado do bloco A



 Alípio Jorge                                     MAP                                         69
Aprendizagem de conceitos



  Procura de um conceito que se ajuste aos dados.
  Espaço de conceitos/hipóteses:
                                   tudo é um arco




                                    ...             ...
                 ...tem um bloco                          tem um bloco
                    rectangular                            triangular...


                ...                                                        ...
                                     tem um bloco
                                   rectangular e um
                                    bloco triangular

                                     ...      ...



                                   nada é um arco




 Alípio Jorge                              MAP                                   70
Machine Learning
Aprendizagem automática



  “Programas de computador que melhoram automaticamente o seu
   desempenho através da experiência” (Mitchell)

  “Um sistema que usa uma amostra de dados (conjunto de treino)
   para gerar uma base actualizada para melhorar o seu desempenho
   em dados subsequentes” (Michie)

  “A aprendizagem é qualquer alteração num sistema que permita
   que ele tenha um melhor desempenho na repetição de uma tarefa
   ou na realização de outra tarefa extraída da mesma população”
   (Simon)




  Alípio Jorge                  MAP                                71
Aprendizagem como Procura



  Dados
        – um conjunto de hipóteses LH
        – uma relação de generalidade (R)
        – um objectivo (H tal que ...)
  Encontrar
        – H que satisfaça o objectivo


  Solução computacional: Hipotetisar e testar
        – Geração de hipóteses
                • data driven, model driven
        – Estratégia de procura
        – Selecção de hipóteses (critérios de preferência)

 Alípio Jorge                           MAP                  72
Geração de hipóteses



  Data driven: guiada pelos dados (o típico)
        – as hipóteses são geradas em função dos exemplos que surgem


  Model driven: guiada pelo modelo
        – define-se a linguagem de hipóteses
        – as hipóteses são geradas segundo a definição da linguagem


  Exemplo
        – LH: regras da forma A->B, em que A é uma conjunção de pares
          atributo=valor e B é uma classe.
        – atributos vento={sim,não}, temp={alta,baixa}
        – classes: verdadeiro, falso


 Alípio Jorge                         MAP                               73
Geração de hipóteses



  Suponhamos que começo pela hipótese mais geral
  Procuro uma regra para a classe verdadeiro

  Model driven          vento=sim->verd
            ->verd       vento=não->verd
                         temp=alta->verd
                         temp=baixa->verd



  Data driven (seguindo o exemplo {vento=sim,temp=alta,verd}
                          vento=sim->verd
                ->verd
                          temp=alta->verd



 Alípio Jorge                              MAP                  74
Procura top-down em largura-primeiro


  Dados: H0 (maximamente geral),
            objectivo Obj, Relação de generalidade

 Fila <- [ ]
 H<-H0
 Até H satisfazer Obj
    Gera hipóteses: especializações max. gerais de H
    Junta novas hipóteses ao fim de Fila
    Selecciona: H <- primeiro(Fila)
    retira primeiro da fila
 Repete
 retorna H
 Alípio Jorge                MAP                       75
Procura top-down em largura-primeiro (data-driven)



   X Y Z C                           Fila                                  H
   0 1 0 s                           [ ]                                 ->s
   0 1 1 s
                        [X=0->s ; Y=1->s ; Z=0->s ]                    X=0->s
   0 0 0 n
   1 1 1 n           [Y=1->s ; Z=0->s ; X=0&Y=1->s ;                   Y=1->s
                     X=0&Z=0->s]


                         [Z=0->s ; X=0&Y=1->s ;                        Z=0->s
                         X=0&Z=0->s ; Y=1&Z=0->s]


                         [X=0&Y=1->s ;
                         X=0&Z=0->s ; Y=1&Z=0->s]                 X=0&Y=1->s




                                                     satisfaz o objectivo zero
                                                               erros


  Alípio Jorge                        MAP                                        76
Árvore de procura




                                      ->s


                   X=0->s                   Y=1->s       Z=0->s



           X=0&Y=1->s    X=0&Z=0->s         Y=1&Z=0->s



        X=0&Y=1&Z=0->s




 Alípio Jorge                           MAP                       77
Procura top-down em largura-primeiro



  Completa
        – se existe solução encontra
  Pouco prática (em geral)
        – processamento
        – memória


  Procura bottom-up em largura primeiro
        – começa com hipótese maximamente específica




 Alípio Jorge                          MAP             78
Procura top-down em profundidade-primeiro



  Dados: H0 (maximamente geral), Obj, Rel. Gen.

 Fila <- [ ]
 H<-H0
 Até H satisfazer Obj
    Gera hipóteses: especializações max. gerais de H
    Junta novas hipóteses ao início de Fila
    Selecciona: H <- primeiro(Fila)
     retira primeiro da fila
 Repete
 retorna H
 Alípio Jorge                MAP                       79
Procura top-down em profundidade-primeiro (data-driven)



   X Y Z C                              Fila                                    H
   0 1 0 s                              [ ]                                   ->s
   0 1 1 s
                          [X=0->s ; Y=1->s ; Z=0->s ]                       X=0->s
   0 0 0 n             [ X=0&Y=1->s ; X=0&Z=0->s
   1 1 1 n             Y=1->s ; Z=0->s ]                               X=0&Y=1->s




                                                          satisfaz o objectivo zero
                                                                    erros




  Alípio Jorge                            MAP                                         80
Procura top-down em profundidade-primeiro



  Problema dos caminhos infinitos
  retrocesso (backtracking)
  Pouco prática (em geral)
        – processamento
        – apesar de gastar pouca memória


  bottom-up
  boa base para procura heurística
        – associar a cada hipótese uma medida de qualidade q(H)




 Alípio Jorge                         MAP                         81
Heurística



  [função] heurística: permite acelerar a procura, ainda que
   a custo da completude.

  Na Aprendizagem:
        – uma função heurística pode medir a qualidade de cada hipótese.
        – Exemplos:
                                   q( H )  Completude( H )  Acerto( H )
                      errosH
       q( H )  1                 Completude( H ) 
                                                            respostasH
                    respostasH                         todos _ os _ exemplos
                                                       errosH
                                   Acerto( H )  1 
                                                     respostasH


 Alípio Jorge                          MAP                                     82
Procura hill-climbing: uma proc. heurística



  Dados: H0 (maximamente geral), Obj, Rel. Gen.

 Fila <- [ ]
 H<-H0
 Até H satisfazer Obj
    Gera hipóteses: especializações max. gerais de H
    Junta novas hipóteses a Fila
    Selecciona : HFila : argmax q(H)
    esvazia fila (poupa memória)
 Repete
 retorna H
 Alípio Jorge                 MAP                      83
Procura hill-climbing, q=%resp. certas (data driven)



   X Y Z C                                 Fila                                 H
   0 1 0 s                                 [ ]                                ->s
   0 1 1 s
                 [X=0->s (0,67) ; Y=1->s (0,67); Z=0->s (0,5)]              X=0->s
   0 0 0 n               [ X=0&Y=1->s (1); X=0&Z=0->s (0,5)]
   1 1 1 n                                                             X=0&Y=1->s




                                                          satisfaz o objectivo zero
                                                                    erros




  Alípio Jorge                               MAP                                      84
Procura hill-climbing: uma proc. heurística



  Incompleto
  mínimos locais
  sem retrocesso: greedy search

  muito popular em IA
        – computacionalmente atractiva
                • processamento e memória
        – bons resultados na prática




 Alípio Jorge                          MAP    85
Outras estratégias de procura



  heurísticas
        – Best-first
        – beam-search
        – A*


  completas
        – iterative deepening


  novos paradigmas
        – algoritmos genéticos
        – simulated annealing
        – tabu search

 Alípio Jorge                    MAP   86
Recapitulando

                                    Ordem de exploração das
                                     hipóteses
                    a
                                      – Profundidade primeiro
                b           c                a, b, d, e, c, f, g
                                      – Largura primeiro
     d          e       f       g            a, b, c, d, e, f, g
           árvore de procura          – Hill Climbing
                                             • assumindo q(c)>q(b), q(f)>q(g)
                                             a, c, f




 Alípio Jorge                          MAP                                      87
Bias (viés, enviesamento)


        – Qualquer base para restringir o tamanho do espaço de procura ou
          para preferir uma hipótese a outra, que não seja a consistência com
          os dados, designa-se por bias


  O bias é necessário ...
        –       escolha de uma linguagem de conceitos
        –       a ordem de procura
        –       critérios de paragem
        –       grande número de hipóteses compatível com os dados
  ...e uma fonte de problemas
        – na origem de algum erro sistemático
        – nenhum bias é sempre melhor que os outros
  O bias permite escolher uma de entre as hipóteses
   aceitáveis
 Alípio Jorge                              MAP                              88
Espaço de versões


                                          

                            Hipóteses demasiado gerais
                                             
                              



                                                         
                              
                                                                  
                    
                                              
                        Versões aceitáveis do conceito
                                                     
                
                                                                     

                                      


                                                                     
                                  

                            Hipóteses demasiado específicas
                                                  




 Alípio Jorge                                     MAP                     89
Tipos de bias



  Bias de linguagem
        – expressividade
        – problemas computacionais
        – legibilidade
  Bias de procura
        – não queremos procurar por todo o espaço
        – heurísticas
        – top-down, bottom-up
  Navalha de Occam
        – preferir as hipóteses mais simples
  entre outros...


 Alípio Jorge                          MAP          90
Exercícios



  Qual seria o resultado se a procura no algoritmo de aprendizagem (transp. 20)
   para o conceito “dia bom para o meu desporto favorito” fosse do mais geral para
   o mais específico? Quais são as versões que se ajustam aos dados?
  Qual a diferença entre os algoritmos de largura primeiro e profundidade
   primeiro?
  Proponha um algoritmo tipo hill-climbing para o mesmo problema. Qual poderia
   ser a heurística? Qual seria a sucessão de hipóteses visitadas?
  Encontre um conjunto de exemplos consistente (sem exemplos que sejam
   simultaneamente negativos e positivos) para o qual não seria possível encontrar
   uma hipótese compatível no bias de linguagem dado. Proponha outro bias de
   linguagem que permita capturar o conceito. Ou seja, defina uma linguagem de
   hipóteses mais expressiva que contenha uma hipótese que cubra todos os
   exemplos dados.




 Alípio Jorge                           MAP                                     91
Termos importantes



        –       Conceito, hipótese
        –       relação de generalidade
        –       espaço de hipóteses/conceitos
        –       linguagem de hipóteses
        –       Exemplos positivos, exemplos negativos
        –       procura
                 •   top-down
                 •   largura-primeiro, comprimento-primeiro
                 •   heurística
                 •   hill-climbing
        – bias



 Alípio Jorge                               MAP               92
Recursos



  Web
        – http: //www.kdnuggets.com




 Alípio Jorge                         MAP   93

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:6
posted:7/2/2012
language:
pages:90