What’s	
  Cooking	
  
Um	
  Desafio	
  de	
  Classificação	
  de	
  Textos	
  
Mineração	
  de	
  Dados	
  
2º	
  Semestre	
...
Aprendizado	
  de	
  Máquina	
  –	
  	
  2	
  /	
  2015	
  
Agenda	
  
•  Introdução	
  ao	
  Desafio	
  
•  Abordagem	
  U...
What’s	
  Cooking	
  
hUps://www.kaggle.com/c/whats-­‐cooking	
  
	
  
Obje2vo:	
  dado	
  um	
  conjunto	
  de	
  9.944	
...
Abordagem	
  UAlizada	
  
Universidade	
  Federal	
  Fluminense	
   4	
  
Treinamento	
  
Classificação	
  
Dados	
  de	
  ...
Abordagem	
  UAlizada	
  
Universidade	
  Federal	
  Fluminense	
   5	
  
Algoritmo	
  de	
  
Aprendizado	
  de	
  
Máquin...
Abordagem	
  UAlizada	
  
Universidade	
  Federal	
  Fluminense	
   6	
  
Classificação	
  
	
  {	
  
	
  	
  	
  	
  "id":...
Método	
  de	
  Aprendizado	
  
Qual	
  método	
  uAlizar?	
  
	
  
•  Diversos	
  métodos	
  podem	
  ser	
  usados	
  pa...
•  Teorema	
  de	
  Bayes	
  
	
  
Dado	
  uma	
  receita	
  r	
  e	
  uma	
  classe	
  c:	
  
	
  
•  Como	
  classificar	...
Implementação	
  do	
  Algoritmo	
  
•  Linguagem	
  Python	
  
–  Simples	
  e	
  bastante	
  uAlizada	
  em	
  referênci...
Resultados	
  ObAdos	
  
•  Naïve	
  Bayes	
  
–  train	
  dataset	
  size:	
  39.774	
  
–  recipes	
  classified:	
  9.94...
Próximos	
  Passos	
  
Aplicar	
  outros	
  métodos:	
  	
  
–  SVM	
  e	
  kNN	
  
(A	
  loss	
  funcAon	
  analysis	
  f...
Obrigado!	
  
12	
  Aprendizado	
  de	
  Máquina	
  –	
  	
  2	
  /	
  2015	
  
Distribuição	
  Dados	
  de	
  Treinamento	
  
Aula	
  5	
  -­‐	
  21/09/2010	
   13	
  
Próximos SlideShares
Carregando em…5
×

Tarefa Data Mining - Classificação de Textos

205 visualizações

Publicada em

Apresentação produzida para trabalho de data mining relacionado a um desafio de classificação de textos, no qual utilizei a técnica Naïve Bayes.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
205
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
2
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Tarefa Data Mining - Classificação de Textos

  1. 1. What’s  Cooking   Um  Desafio  de  Classificação  de  Textos   Mineração  de  Dados   2º  Semestre  de  2015   Professor:  Alexandre  PlasAno   Aluno:  Paulo  Lacerda  
  2. 2. Aprendizado  de  Máquina  –    2  /  2015   Agenda   •  Introdução  ao  Desafio   •  Abordagem  UAlizada   •  Método  de  Aprendizado   •  Implementação  do  Algoritmo   •  Resultados  ObAdos   •  Próximos  Passos   2  
  3. 3. What’s  Cooking   hUps://www.kaggle.com/c/whats-­‐cooking     Obje2vo:  dado  um  conjunto  de  9.944  receitas,  classificar  cada  uma  delas  em  um  Apo   de  culinária,  baseado  nos  seus  ingredientes.   Dados  de  treinamento:     •  39.774  receitas  classificadas  de  acordo  com  o  Apo  de  culinária.   •  20  Apos  de  culinária  (italian,  mexican,  southern_us,  indian,  ...)   •  Exemplo:     Universidade  Federal  Fluminense   3   { "id": 24717, "cuisine": "indian", "ingredients": [ "tumeric", "vegetable stock", "tomatoes", "garam masala", "naan", "red lentils", "red chili peppers", "onions", "spinach", "sweet potatoes" ] },
  4. 4. Abordagem  UAlizada   Universidade  Federal  Fluminense   4   Treinamento   Classificação   Dados  de   Treinamento   Classificação  de  Texto  com  Método  Supervisionado  de  Aprendizado  de  Máquina   1 2 Modelo   Classificador   Receitas  a   Classificar   Receitas   Classificadas  
  5. 5. Abordagem  UAlizada   Universidade  Federal  Fluminense   5   Algoritmo  de   Aprendizado  de   Máquina   Treinamento    {          "id":  2941,          "cuisine":  "thai",          "ingredients":  [              "sugar",              "hot  chili",              "lime  juice"          ]      }   ...   0   1   0  0   0   0  0   1   1   1   feature  vector   Extrator  de  Features   (bag-­‐of-­‐words)   Classe   Dados  de   Treinamento   Modelo   Classificador   para  cada  receita  do     data  set  de  treinamento  
  6. 6. Abordagem  UAlizada   Universidade  Federal  Fluminense   6   Classificação    {          "id":  8732,          "cuisine":  "?",          "ingredients":  [              "salt",              "rice",              "black  beans"          ]      }   ...   0   1   0  0   0   0  0   1   1   1   feature  vector   Extrator  de  Features   (bag-­‐of-­‐words)   Receitas  a   Classificar   Modelo   Classificador   Receitas   Classificadas   para  cada  receita  do     data  set  a  classificar  
  7. 7. Método  de  Aprendizado   Qual  método  uAlizar?     •  Diversos  métodos  podem  ser  usados  para  classificação  de  texto:   Naive  Bayes,  LogisAc  Regression,  k-­‐NN,  Redes  Neurais,  SVM,  Ensembles.                                    (Mining  Text  Data,  Springer,  2012)     •  Naïve  Bayes  foi  escolhido  para  o  trabalho,  pois  tem  algumas   caracterísAcas  interessantes  para  este  caso:   –  Boa  performance   –  Simples  de  implementar   –  Hipótese  de  independência  das  probabilidades  condicionais  é  aceitável   •  Resultado  será  baseline  para  outros  métodos   Universidade  Federal  Fluminense   7  
  8. 8. •  Teorema  de  Bayes     Dado  uma  receita  r  e  uma  classe  c:     •  Como  classificar  uma  nova  receita  r?       Obtendo  a  classe  que  gere  a  maior  P(c|r):             Sendo  que        P(r|c)  =  P(w1,  w2,  w3,  ...,  wn  |  c)                                                  (bag  of  words)           Assumindo  independência  entre  as  probabilidades  condicionais  (Naïve):         P(r|c)  =  P(w1|c)  x  P(w2|c)  x  P(w3|c)  x  ...  x  P(wN|c)   Naïve  Bayes   Universidade  Federal  Fluminense   8  
  9. 9. Implementação  do  Algoritmo   •  Linguagem  Python   –  Simples  e  bastante  uAlizada  em  referências  da  área   –  Trabalha  bem  com  operações  em  vetores  (NumPy)   •  Duas  funções  principais:   –   trainNB(trainRecipes,  vocabulary,  classes)   –   classifyNB(pc,  pwc,  ingredFeatVector)   •  Código-­‐fonte:   –  hUps://github.com/placerda/whatscooking   Universidade  Federal  Fluminense   9  
  10. 10. Resultados  ObAdos   •  Naïve  Bayes   –  train  dataset  size:  39.774   –  recipes  classified:  9.944   –  Accuracy:  0.57862  (10-­‐fold  cross  validaAon)   •  Ranking:   Universidade  Federal  Fluminense   10   …   …  
  11. 11. Próximos  Passos   Aplicar  outros  métodos:     –  SVM  e  kNN   (A  loss  funcAon  analysis  for  classificaAon  methods  in  text  categorizaAon.Li,  Fan,  and  Yiming  Yang.  2003.)   •  OAmizar  NB   –  upweigh(ng  Adicionar  pesos  manualmente   (um  ingrediente  tem  mais  peso  que  outro  em  determinadas  classes)   •  Preparar  os  dados:  normalização,  stemming,  etc.   –  “50%  less  sodium  black  beans”     –  “black  beans”     Universidade  Federal  Fluminense   11   “black  beans”  
  12. 12. Obrigado!   12  Aprendizado  de  Máquina  –    2  /  2015  
  13. 13. Distribuição  Dados  de  Treinamento   Aula  5  -­‐  21/09/2010   13  

×