Universidade Tecnológica Federal do Paraná – UTFPR
Programa de Pós-Graduação em Computação
Aplicada
Disciplina de Mineração de Dados – Prof. Celso Kaestner
Poker Hand Data Set
Aluno: Joyce Schaidt
Versão: 1.0
Curitiba
2015
Poker Hand Data Set
Aluno: Joyce Schaidt
Curitiba
2015
SUMÁRIO
1 INTRODUÇÃO .............................................................................................7
1.1 Objetivo Geral ......................................................................................7
1.2 Objetivos Específicos ..........................................................................7
1.3 Conteúdo do Projeto ...........................................................................7
2 DESCRIÇÃO DA BASE ...............................................................................8
2.1 Descrição dos Dados ..........................................................................8
2.2 Detalhes da Base Poker Hand ............................................................9
3 APLICAÇÃO DOS ALGORITMOS ............................................................14
3.1 Árvore de Decisão .............................................................................14
3.2 Naive Bayes ........................................................................................17
3.3 Support Vector Machines - SVM .......................................................18
3.4 K-Nearest Neighbour – K-nn .............................................................20
3.5 Regras de Associação – Apriori .......................................................21
3.6 K-Means ..............................................................................................23
3.7 Agrupamento Hierárquico .................................................................25
3.8 Outras Situações ...............................................................................27
4 ANÁLISE DOS RESULTADOS .................................................................30
5 REFERÊNCIAS BIBLIOGRÁFICAS ..........................................................31
LISTA DE FIGURAS
Figura 1. Base Poker Hand (autoria própria). .............................................9
Figura 2. Estrutura Poker Hand (autoria própria). .....................................9
Figura 3. Cinco primeiros registros (autoria própria). ...............................9
Figura 4. Cinco últimos registros (autoria própria). ................................10
Figura 5. Resumos Númericos (autoria própria). .....................................10
Figura 6. Variâncias (autoria própria). ......................................................10
Figura 7. Histograma S1 (autoria própria). ...............................................11
Figura 8. Histograma C1 (autoria própria). ...............................................12
Figura 9. Histograma Classe Poker Hand (autoria própria). ...................12
Figura 10. Incidência Classe Poker Hand (autoria própria). ...................13
Figura 11. Gráfico Pizza Classe Poker Hand (autoria própria). ..............13
Figura 12. Gráfico de Coordenadas Paralelas (autoria própria). ............13
Figura 13. Árvore de Decisão (autoria própria). .......................................14
Figura 14. Árvore de Decisão 2 (autoria própria). ....................................15
Figura 15. Árvore de Decisão 3 (autoria própria). ....................................16
Figura 16. Previsões Árvore de Decisão Base de Teste (autoria própria).16
Figura 17. Previsões Árvore de Decisão Base de Teste 2 (autoria
própria). ................................................................................................17
Figura 18. Algoritmo Naive Bayes (autoria própria).................................17
Figura 19. Previsões Naive Bayes Base de Teste (autoria própria). ......18
Figura 20. Previsões Naive Bayes Base de Teste 2 (autoria própria). ...18
Figura 21. Algoritmo SVM (autoria própria). .............................................19
Figura 22. Previsões SVM Base de Teste (autoria própria). ...................19
Figura 23. Previsões SVM Base de Teste 2 (autoria própria). ................20
Figura 24. Distribuição (autoria própria)...................................................20
Figura 25. Algoritmo k-nn (autoria própria). .............................................21
Figura 26. Previsões K-nn Base de Teste (autoria própria). ...................21
Figura 27. Regras de Associação (autoria própria). ................................22
Figura 28. Agrupamento das Regras de Associação (autoria própria). .23
Figura 29. Gráfico das Regras de Associação (autoria própria). ...........23
Figura 30. K-Means Clustering (autoria própria). .....................................24
Figura 31. Tabela de ocorrência da Classe Poker.Hand por Cluster
(autoria própria). ..................................................................................24
Figura 32. Gráfico Cluster (autoria própria). ............................................25
Figura 33. Gráfico Cluster 2 (autoria própria). .........................................25
Figura 34. Comandos R Agrupamento Hierárquico (autoria própria). ...26
Figura 35. Classes Agrupamento Hierárquico (autoria própria). ............26
Figura 36. Método Average (autoria própria). ...........................................26
Figura 37. Método Single (autoria própria). ..............................................27
Figura 38. Método Complete (autoria própria). ........................................27
Figura 39. Nova Árvore de Decisão (autoria própria). .............................28
Figura 40. Árvore de Decisão Nova Base de Teste (autoria própria). ....28
Figura 41. Predições Nova Árvore de Decisão (autoria própria). ...........28
Figura 42. Naive Bayes Novo (autoria própria). .......................................29
Figura 43. Predição Naive Bayes Novo (autoria própria). .......................29
Tabela 1. Resultados Gerais (autoria própria). ........................................30
1 INTRODUÇÃO
Este trabalho tem por objetivo avaliar os conhecimentos adquiridos na
disciplina de Data Mining. Para tanto, foi desenvolvido um trabalho,
buscando aplicar algoritmos de classificação, associação e agrupamento em
uma base de dados.
1.1 Objetivo Geral
Aplicar algoritmos de classificação, associação e agrupamento em uma
base de dados indicada pelo professor, utilizando a linguagem R.
1.2 Objetivos Específicos
Dentre os algoritmos a serem aplicados estão:
1. Árvores de Decisão;
2. Naive Bayes;
3. Support Vector Machines – SVM;
4. K-Nearest Neighnour – K-nn;
5. Apriori;
6. K-Means;
1.3 Conteúdo do Projeto
Nos
capítulos
seguintes,
serão
apresentadas
as
informações
pertinentes a base de dados utilizada, bem como a implementação dos
algoritmos. No Capítulo 2 serão apresentados todos os detalhes da base,
utilizando comandos R.
Já
no
Capítulo
3
serão
apresentados
todos
os
algoritmos
implementados utilizando linguagem R juntamente com seus resultados.
No Capítulo 4, serão apresentadas as análises e conclusões com base
nos resultados obtidos de cada algoritmo.
2 DESCRIÇÃO DA BASE
A base de dados utilizada para este trabalho é uma base de Poker,
cujo objetivo é prever mãos de poker.
É uma base multivariada, com atributos categóricos e inteiros,
possuindo um total de 11 atributos, que serão descritos abaixo, e um total
de 25010 instâncias.
2.1 Descrição dos Dados
Segue abaixo descrição dos dados:

S1: "Suit of card #1" - Númerico (1 – 4), representando os naipes
do baralho (Espadas, Copas, Ouros e Paus);

C1: "Rank of card #1" - Númerico (1 – 13), representando os
valores das cartas, (Ás, 2, 3, ... , Dama, Rei);

S2, S3, S4 e S5: Seguem a mesma representação de S1;

C2, C3, C4,C5: Seguem a mesma representação de C1;

Classe "Poker Hand“ – Númerico (0 – 9), sendo que:
o 0: Nada na mão; Não é reconhecido;
o 1: Um par; Duas cartas de mesmo valor entre cinco
totais;
o 2: Dois pares; Dois pares entre cinco cartas;
o 3: Trinca; Três cartas de mesmo valor em cinco;
o 4: Straight; Cinco cartas em sêqüencia;
o 5: Flush; Cinco cartas do mesmo naipe;
o 6: Full house; Um par + Trinca
o 7: Quadra; Quatro cartas iguais em cinco
o 8: Straight flush; Straight + Flush
o 9: Royal flush; (As, Rei, Dama, Valete, 10) + flush
Cada par S1 + C1 representada uma carta em uma jogada de poker.
2.2 Detalhes da Base Poker Hand
Seguem abaixo comandos utilizados na linguagem R para obter
informações sobre a base. A Figura 1 mostra a dimensão da base e os
nomes de cada atributo. Já Figura 2 representa cada atributo, o tipo de dado
e alguns elementos. O mesmo pode ser visto na Figura 3, porém apenas os
cinco primeiros registros e na Figura 4 os cinco últimos.
Figura 1. Base Poker Hand (autoria própria).
Figura 2. Estrutura Poker Hand (autoria própria).
Figura 3. Cinco primeiros registros (autoria própria).
Figura 4. Cinco últimos registros (autoria própria).
A Figura 5 representa um sumario numérico de cada atributo. A Figura
6 mostra as variâncias de quatro atributos e da classe Poker.Hand.
Figura 5. Resumos Númericos (autoria própria).
Figura 6. Variâncias (autoria própria).
A Figura 7 é um histograma do atributo S1, mostrando que em média
seis mil registros recebem valor 1, e isso se repete nos demais valores, pois
o atributo é representado por 1, 2, 3 e 4, sendo estes naipes do baralho. A
Figura 6 mostra as variâncias de quatro atributos e da classe Poker.Hand.
Já a Figura 8, representa o histograma do atributo C1, que possui valores
entre um e treze, onde podemos notar que em sua grande maioria são de
valores 1 e 2. O histograma da classe Poker.Hand pode ser visto na Figura
9, onde observamos que mais de dez mil registros estão com valor zero, que
representa nada na mão, ou seja, não possui nenhuma combinação válida
para o Poker.
Figura 7. Histograma S1 (autoria própria).
Figura 8. Histograma C1 (autoria própria).
Figura 9. Histograma Classe Poker Hand (autoria própria).
O mesmo que foi observado no histograma da classe Poker.Hand
pode ser visto na Figura 10, que representa a incidência de valores nesta
classe. A Figura 11 mostra os mesmos dados da Figura 10, porém em forma
de gráfico. Com o gráfico de coordenadas paralelas representado na Figura
12, verificamos a conexão existente entre todos os atributos.
Figura 10. Incidência Classe Poker Hand (autoria própria).
Figura 11. Gráfico Pizza Classe Poker Hand (autoria própria).
Figura 12. Gráfico de Coordenadas Paralelas (autoria própria).
3 APLICAÇÃO DOS ALGORITMOS
O presente estudo tem o intuito de aplicar algoritmos de Data Mining
em uma base de dados de Poker.
3.1 Árvore de Decisão
Aplicando a árvore de decisão diretamente nos 25010 registros,
obtivemos a árvore representada na Figura 13, composta por apenas um nó.
Figura 13. Árvore de Decisão (autoria própria).
Isso acontece, pois a grande maioria dos registros possui valor entre
zero e um na classe Poker.Hand, sendo que somente algumas poucas
combinações de mãos de poker, possibilitam que o valor fique entre sete e
nove por exemplo.
Devido a isso, a base foi reduzida a 703 (setecentos e três) registros, e
teve a classe Poker.Hand adaptada para a classe Apostar, de forma que
tenhamos apenas três resultados possíveis, Sim, Não e Talvez, conforme
mostrado abaixo:

Apostar: Não
o 0: Nada na mão; Não é reconhecido;
o 1: Um par; Duas cartas de mesmo valor entre cinco
totais;
o 2: Dois pares; Dois pares entre cinco cartas;

Apostar: Talvez
o 3: Trinca; Três cartas de mesmo valor em cinco;
o 4: Straight; Cinco cartas em sêqüencia;
o 5: Flush; Cinco cartas do mesmo naipe;
o 6: Full house; Um par + Trinca

Apostar: Sim
o 7: Quadra; Quatro cartas iguais em cinco
o 8: Straight flush; Straight + Flush
o 9: Royal flush; (As, Rei, Dama, Valete, 10) + flush
A Figura 14 representa a árvore de decisão em formato texto obtida
com base nos setecentos e três registros adaptados.
Figura 14. Árvore de Decisão 2 (autoria própria).
A partir desta base, foram geradas mais duas de forma aleatória, uma
para treinamento e outra para teste, conforme Figura 13, onde 70% da base
foi destinada a treinamento e 30% para teste, conforme Figura 15.
Figura 15. Árvore de Decisão 3 (autoria própria).
Podemos observar que o resultado da base de treinamento continua
similar ao da árvore gerada com toda base, ou seja, Não Apostar, porém
agora a visualização dos dados é mais clara.
Na Figura 16, podemos ver as probabilidades de ocorrer cada
resultado para os registros da base de teste, em torno de 89% dos
resultados tendem a Não Apostar, mantendo os resultados anteriores.
Figura 16. Previsões Árvore de Decisão Base de Teste (autoria própria).
Na Figura 17, temos a tabela com os resultados da base de teste, onde
dos 211 registros da base de teste, somente um possui resultado Sim, logo
a tendência é Não Apostar.
Figura 17. Previsões Árvore de Decisão Base de Teste 2 (autoria
própria).
3.2 Naive Bayes
Aplicando o algoritmo Naive Bayes na mesma base particionada, os
resultados foram similares aos obtidos com a árvore de decisão. A base foi
dividida da mesma forma, em treinamento e teste, conforme Figura 18, onde
também podemos ver a probalidade de ocorrência de cada situação.
Figura 18. Algoritmo Naive Bayes (autoria própria).
A Figura 19 mostra a predição dos dados de teste com base no
algoritmo aplicado na base de treinamento e tabela com os resultados, onde
vemos a similaridade dos resultados. A Figura 20 mostra também a predição
dos resultados porém em outro formato, onde mostram-se as probabilidades
de ocorrência de cada situação para alguns registros.
Figura 19. Previsões Naive Bayes Base de Teste (autoria própria).
Figura 20. Previsões Naive Bayes Base de Teste 2 (autoria própria).
3.3 Support Vector Machines - SVM
Aplicando
o
algoritmo
SVM
na
mesma
base
particionada
anteriormente, os resultados foram similares aos obtidos com os outros dois
algoritmos. A base foi dividida da mesma forma, em treinamento e teste.
Na Figura 21 vemos os dados do algoritmo que aplicado, onde temos
208 vetores de suporte.
Figura 21. Algoritmo SVM (autoria própria).
Na Figura 22 temos a predição dos resultados para alguns registros e
tabela com as ocorrências em cada situação, onde percebe-se claramente a
similaridade dos resultados com os algoritmos aplicados anteriormente.
Figura 22. Previsões SVM Base de Teste (autoria própria).
Na Figura 23 temos a probabilidade de ocorrência de uma situação em
comparação a outra.
Figura 23. Previsões SVM Base de Teste 2 (autoria própria).
Figura 24. Distribuição (autoria própria).
3.4 K-Nearest Neighbour – K-nn
Aplicando o algoritmo K-nn na mesma base particionada anteriormente,
os resultados foram similares aos obtidos com os outros algoritmos de
classificação. A base foi dividida da mesma forma, em treinamento e teste,
conforme Figura 25.
Figura 25. Algoritmo k-nn (autoria própria).
Na Figura 26 temos a tabela com as ocorrências em cada situação,
onde percebe-se claramente a similaridade dos resultados com os
algoritmos aplicados anteriormente.
Figura 26. Previsões K-nn Base de Teste (autoria própria).
3.5 Regras de Associação – Apriori
Para a aplicação do algoritmo Apriori, utilizado para buscar regras de
associação, a base reduzida que foi gerada anteriormente, foi adaptada
novamente, desta vez alterando os valores determinados para naipes em
seus nomes, sendo:
1 – Ouros
2 – Espadas
3 – Copas
4 – Paus
Os valores foram descritos por extenso:
1 – Ás
2 – Dois
[.
.
.]
11 – Valete
12 – Dama
13 – Rei
Como podemos ver na Figura 27, todas as regras geradas levam a Não
Apostar, apesar de o resultado ser condizente com os demais algoritmos
aplicados, esta base dificulta a aplicação de regras de associação, pois
todos os elementos dependem de todos os elementos, para formar uma
mão de poker é necessário levar em consideração todas as cinco cartas,
seus naipes e valores, que a cada variação podem gerar uma combinação
diferente.
Figura 27. Regras de Associação (autoria própria).
Nas Figuras 28 e 29 são apresentados os gráficos representando as
regras de associação geradas pelo algoritmo apriori.
Figura 28. Agrupamento das Regras de Associação (autoria própria).
Figura 29. Gráfico das Regras de Associação (autoria própria).
3.6 K-Means
Para a aplicação do algoritmo de clusterização K-Means foi utilizada a
base completa Poker Hand.
Na Figura 30 são apresentados os comandos em R utilizados para
clusterização, juntamente com os resultados, as coordenadas dos centros
de cada classe, e a que classe pertencem alguns elementos.
Figura 30. K-Means Clustering (autoria própria).
Na Figura 31 temos uma tabela comparativa da classe Poker.Hand
com o resultado do cluster onde vemos a quantidade de ocorrência de cada
elemento da classe por cluster.
Figura 31. Tabela de ocorrência da Classe Poker.Hand por Cluster
(autoria própria).
Na Figura 32 vemos um gráfico da clusterização efetuada e na Figura
33 temos o mesmo o gráfico, porém separando os clusters e mostrando os
centróides de cada um.
Figura 32. Gráfico Cluster (autoria própria).
Figura 33. Gráfico Cluster 2 (autoria própria).
3.7 Agrupamento Hierárquico
Para o agrupamento hierárquico foram utilizados apenas cem registros
da base completa Poker Hand, conforme podemos ver nos comandos
apresentados na Figura 34.
Figura 34. Comandos R Agrupamento Hierárquico (autoria própria).
A Figura 35 mostra a quantidade de registros distribuídos em cada
classe. Nas Figuras 36 e 37 e 38 são apresentados os dendrogramas para
cada método disponível da função hclust.
Figura 35. Classes Agrupamento Hierárquico (autoria própria).
Figura 36. Método Average (autoria própria).
Figura 37. Método Single (autoria própria).
Figura 38. Método Complete (autoria própria).
3.8 Outras Situações
Com a base que foi gerada para aplicarmos as Regras de Associação,
foram aplicados alguns algoritmos novamente, buscando confirmar os
resultados obtidos.
Na Figura 39 é apresentada a árvore de decisão aplicada a base
adaptada, na Figura 40 a árvore foi aplicada a uma parte desta base
separada para treinamento como feito com a outra base. Na Figura 41, as
predições geradas com base nos dados de teste. Contudo podemos
observar que os resultados continuam similares.
Figura 39. Nova Árvore de Decisão (autoria própria).
Figura 40. Árvore de Decisão Nova Base de Teste (autoria própria).
Figura 41. Predições Nova Árvore de Decisão (autoria própria).
Na Figura 42 é apresentado o algoritmo Naive Bayes aplicado a base
adaptada, na Figura 43 a tabela de predição gerada após treinamento em
parte desta base adaptada.
Figura 42. Naive Bayes Novo (autoria própria).
Figura 43. Predição Naive Bayes Novo (autoria própria).
4 ANÁLISE DOS RESULTADOS
Com base em todos os algoritmos de classificação que foram
aplicados, podemos observar que os resultados são similares e utilizando a
base particionada e adaptada, notamos que a maioria dos resultados
encontra-se no “Não Apostar”. Isso acontece, pois a maioria das
combinações de mãos de Poker não são mãos válidas, ou mãos que
contenham um valor expressivo, para que se possa classificar como Apostar
ou Talvez Apostar.
Com o algoritmo de regras de associação, observamos o mesmo que
nos demais algoritmos, ou seja, as regras em sua maioria levam ao
resultado Não Apostar. Como explicado no Capitulo 3, isso acontece pois
nesta base todos os elementos são dependentes uns dos outros, não sendo
possível estabelecer regras com base em apenas um deles.
Não
Sim
Talvez
Árvore de
Decisão
196
1
14
Árvore de Decisão
Adaptada
180
4
19
Não
Sim
Talvez
SVM
193
2
16
KNN
190
5
16
Naive
Bayes
190
3
18
Naive Bayes
Adaptada
184
4
17
Tabela 1. Resultados Gerais (autoria própria).
De acordo com os resultados gerais das predições de cada algoritmo
aplicados em uma base de teste, após terem sido aplicados em uma base
de treinamento, notamos que os resultados mais próximos a realidade, são
os em que o algoritmo foi aplicado na base adaptada.
Com uma base puramente numérica e com uma grande dependência
entre os elementos, como é o caso da base Poker Hand, observa-se que os
algoritmos não tem a mesma efetividade quando aplicados em uma base
com características alfanuméricas.
5 REFERÊNCIAS BIBLIOGRÁFICAS
MINERAÇÃO
DE
DADOS
<
http://www.dainf.ct.utfpr.edu.br/~kaestner/Mineracao/Mineracao_de_Dados_
PPGCA_2014-3.htm>. Acesso em Janeiro de 2015.
<http://www-users.cs.umn.edu/~kumar/dmbook/index.php#item3>
em Janeiro de 2015.
< http://www.rdatamining.com/> Acesso em Janeiro de 2015.
Acesso
Download

Poker Hand Data Set - DAINF