20
Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior 12 de setembro de 2016 Exercício 1 Seu objetivo é usar as técnicas de redução de dimensionalidade, de segmentação (clustering) e de regras de associação para entender melhor um banco de dados que contém textos com resenhas sobre aplicativos da App Store do Android. Para isso, use a função load para carregar o banco dadosReviewGoogle.RData. Este banco contém dois objetos, textos, que contém as diferentes resenhas sobre os aplicativos, e notas, que contém as respectivas notas atribuidas pelos usuários que escreveram essas resenhas. Seu objetivo não é o de predição de notas, mas apenas o de melhor entendimento dos reviews. Para os itens que seguem, você pode trabalhar com um subconjunto dos dados originais. Para resolução dos itens propostos nesse exercício optou-se por utilizar apenas 200 resenhas, para que a computação dos algoritmos não ficasse demasiadamente lenta. a) Mostre 5 resenhas do banco juntamente com suas respectivas notas. Tabela 1: Cinco primeiras resenhas com notas distintas Resenhas Notas Não rodou Não rodou no meu galaxy note...perdi $$ 1.00 Bugs pra consertar Não consigo jogar bem pq o campo aparece completamente com textura desconfigurada. Gostaria que resolvessem para aproveitar bem o jogo. Da forma que está os jogos gratis compensam mais... :( 2.00 Mais ou menos No galacxy y nem abril o jogo 3.00 Muito bom, só não gostei do alvo não centraliza, e deveria ter uma versão em português 4.00 Galax Note 10.1 Melhor jogo arcada que já joguei em algum smartphone ou tablet! Gráficos e jogabilidade quase perfeitos, o único defeito dele era não poder jogar sem acesso a internet, como resolveram isso ficou mto bom! 5.00 b) Use o código fornecido para converter os textos em uma matriz documento-termo binária (isto é, cada entrada da matriz indica se um termo está presente ou não no respectivo texto). Para transformar os textos das resenhas em matriz documento-termo binário realizou-se um processo de higienização de texto. Esse processo consistiu em remover as “palavras de parada” do idioma (preposições, artigos, conjunções, etc.), acentuação, pontuação, espaços em branco excedentes e números, pois essas são características de textos desinteressantes para o propósito de compreender o que textos diz com relação ao aplicativo avaliado. Após higienizado, aplicou-se o processo de radicalização do texto, ou seja, reduzir as 1

Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

Aprendizado de MáquinaUFMG EST171 - 1ª Lista de exercícios

Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

12 de setembro de 2016

Exercício 1

Seu objetivo é usar as técnicas de redução de dimensionalidade, de segmentação (clustering) e de regras deassociação para entender melhor um banco de dados que contém textos com resenhas sobre aplicativos daApp Store do Android. Para isso, use a função load para carregar o banco dadosReviewGoogle.RData.Este banco contém dois objetos, textos, que contém as diferentes resenhas sobre os aplicativos, e notas, quecontém as respectivas notas atribuidas pelos usuários que escreveram essas resenhas. Seu objetivo não é ode predição de notas, mas apenas o de melhor entendimento dos reviews.

Para os itens que seguem, você pode trabalhar com um subconjunto dos dados originais.

Para resolução dos itens propostos nesse exercício optou-se por utilizar apenas 200 resenhas, para que acomputação dos algoritmos não ficasse demasiadamente lenta.

a) Mostre 5 resenhas do banco juntamente com suas respectivas notas.

Tabela 1: Cinco primeiras resenhas com notas distintas

Resenhas NotasNão rodou Não rodou no meu galaxy note...perdi $$ 1.00Bugs pra consertar Não consigo jogar bem pq o campo aparece completamente com texturadesconfigurada. Gostaria que resolvessem para aproveitar bem o jogo. Da forma que está osjogos gratis compensam mais... :(

2.00

Mais ou menos No galacxy y nem abril o jogo 3.00Muito bom, só não gostei do alvo não centraliza, e deveria ter uma versão em português 4.00Galax Note 10.1 Melhor jogo arcada que já joguei em algum smartphone ou tablet! Gráficose jogabilidade quase perfeitos, o único defeito dele era não poder jogar sem acesso a internet,como resolveram isso ficou mto bom!

5.00

b) Use o código fornecido para converter os textos em uma matriz documento-termo binária (isto é, cadaentrada da matriz indica se um termo está presente ou não no respectivo texto).

Para transformar os textos das resenhas em matriz documento-termo binário realizou-se um processo dehigienização de texto. Esse processo consistiu em remover as “palavras de parada” do idioma (preposições,artigos, conjunções, etc.), acentuação, pontuação, espaços em branco excedentes e números, pois essas sãocaracterísticas de textos desinteressantes para o propósito de compreender o que textos diz com relação aoaplicativo avaliado. Após higienizado, aplicou-se o processo de radicalização do texto, ou seja, reduzir as

1

Page 2: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

palavras ao seu radical (e.g. avaliar, avaliação, avaliando -> avali). Nesse processo de utilizou-sedois algoritmos de radicalização: o algoritmo de Poter1 (MPTER) e o algoritmo RSLP (Removedor de Sufixosda Língua Portuguesa)2 (MRSLP), cujo resultados são exibidos na Table 2 e na Figure 1.

Tabela 2: Estatísticas do número de radicais extraídos por cada algoritmo de radicalizaçãoNº radicais Média Mediana 1º Quartil 3º Quartil Desvio Padrão

PTER 645.00 2.60 1.00 1.00 2.00 6.32RSLP 609.00 2.68 1.00 1.00 2.00 6.54

Frequência absoluta

Oco

rrên

cia

da

pala

vra

em to

dos

os

revi

ews

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0 100 200 300 400

4143839990

42452422

16191112

6105165231132111144

AlgoritmoPTERRSLP

counts

Den

sity

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0 20 40 60 80 100 120

●●●● ●●●●

●●●●●

●●●●●●●●● ●●● ●●● ●●●● ●●● ●●●●●● ●●●●

●● ●●●●● ●●●●●●●●● ●●●●

●●●●●● ●●●●●●●● ●●●

● ●●●●● ●●●● ●● ●● ●●●●●● ●●●● ●●●● ● ●●● ●● ●●●●● ●

●● ●●● ●●● ●●●●●●● ●●●● ●●●●● ●●● ●●●●●●●● ● ●● ●●●●

●●

●●●●● ●●●●●●●●●●●●● ●●●● ●● ●● ●●●●●●●●●● ●●●●● ●● ●● ● ●●●●

●●●●●●● ● ●●●●

●●●●●● ●●●●●●●●●●●●●●

●●●● ●● ●●●

●●●● ●●●●●●● ●●●●●● ●●●●● ●●●●●●●●●

●●●●●●●●●●

●●●●●●●●● ●●● ● ●●●●● ●●●● ●●●●● ●●●●●

● ●●●● ●●●● ● ●●● ●●●●● ●●●●●● ● ●●● ●●●●●●● ●●●●

●●●●●● ●●

● ●●●●●●●● ● ●● ●●●●● ●●●●●● ● ●●●

●●●●●●●●● ●●● ●● ●● ●●●●●●●●●● ●●●●● ●● ●● ●●●●●

●●●●●

● ● ●●●●●●

AlgoritmoPTERRSLP

Figura 1: Número de ocorrências das palavras nas 200 resenhas. Frequências das ocorrências mais frequentes(esquerda) e Densidade empírica do número de ocorrências maiores que 2 (direita).

Note que ambos os resultados indicam que os algoritmos tiveram desempenho bastante similar. O compor-tamento das contagens das palavras* –no decorrer do texto denotaremos por palavras* os radicais indicadospelos algoritmos– foi bastante similar, ambos apresentando contagens baixas para a maioria das palavras*,como é o de se esperar em textos dessa natureza. Uma visualização das palavras* encontradas por cadaalgoritmo é realizada na Figure 2, novamente nota-se a similaridade dos algoritmos, pois as palavras* que sedestacam na nuvem são as mesmas para ambos.

1http://snowball.tartarus.org/algorithms/portuguese/stemmer.html2http://www.inf.ufrgs.br/~viviane/rslp/

2

Page 3: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

mer

ec gostpar

reco

mfaz

rod

algu

m

suppe

gotim

celu

lte

mp

compr

esse

grand

xoom

desinstalex

cele

ntacho

semprlegalexelent

pra

baix

pouc

nao

bem

pod

gamlis

vici

ant

div

ert

apar

elh

atua

liz

feit

cad

aindan

tes gr

afic

perfeit

val

demor

mas

jog

ter

adorfa

ses

per

bom xper

cois

atualizaca

melhor

vez

reso

lvtud

not

galaxy

curt

estr

elpe

rd

dess

uma

ruim

fal

func

ion

jogu

nad

nov

fic

and

roid

simpl

mais

boa

amo

joga

bil

mui

t

pen

rap

instalbu

gs

dem

tabl

et

agor

pois

mentr

av

merd

hor

tod

Algoritmo PTER

temp

sup

fal

trav

grand

des

inst

al

mal

nov

jogabilsem

pr

ant

not

cois

men

os

esper

ach

exce

l

amo

bug

essfas

mer

d

compr

pouc

exel

tod

baix

otim xper

jog

gam

legal

celu

lpr

areco

m

par

hor

des

s

xoom

perf

eit

real

ter

estrel

atua

l

demal

apar

elh

resolv

atua

lizac

a

perd

tud

graf

val

mer

ec

mel

horta

blet

rod

pegnao

lis

boa

curt

bomnad

ador

inst

al

meu

func

bem

dem

and

roid

aind

est

mui

t

feit

pen

vici

fic

rap

gala

xy

div

ert

vez

inici

ruimsimpl

uma

faz

cad

pod

algum

gost

mel

h

Algoritmo RSLP

Figura 2: Nuvens de palavras* resultantes de cada algoritmo de radicalização.

Nesse trabalho preferiu-se prosseguir com a radicalização realizada pelo algoritmo de Poter, pois embora asradicalizações tenham sido similares, em alguns casos identificou-se overstemming no algoritmo RSLP. Para oalgoritmo de POTER, em contraste com RSLP, houve casos de understemming, mas preferiu-se mantermosdessa forma para que não fossem agrupadas no mesmo radical palavras com sentidos distintos.

A matriz documento-termo binária referentes aos textos ficou então, com dimensão 200 documentos por 645termos. A Figure 3 exibe a esparsidade dessa matriz.

Resenhas

Pala

vras

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200

Resenhas

baix

bem

bom

estrel

excelent

fic

galaxy

gost

grafic

jog

legal

melhor

muit

nao

otim

perfeit

pra

recom

rod

trav

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200

Figura 3: Visualização da matriz documento-termo binária. Regiões de preenchimento em preto representama ocorrência do termo no documento. Matriz completa (direita) apenas os termos 3% mais frequentes.

c) Use duas técnicas de clustering para criar agrupamentos dos diferentes textos (não use as notas paraisso). Para a técnica que foi fornecida, faça também duas variações. Interprete os grupos obtidos por cadaum dos métodos. Eles concordam entre si?.

3

Page 4: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

As técnicas de agrupamento utilizadas foram o método de k-means, onde utilizou-se 4 diferentes algoritmospara encontrar os k grupos cada qual com diferentes números de grupos e algoritmos hierárquicos definidosa partir de distâncias euclidianas com quatro diferentes definições de distância entre grupos.

K-means

No métodos k-means os quatro algoritmos utilizados para encontrar os grupos foram Hartigan-Wong3,Lloyd4, Forgy5, MacQueen6. Para cada algoritmo de 2 a 15 grupos foram considerados. Os resultados sãoexibidos na Figure 4.

k

2 3 4 5 6 7 8 9 101112131415

●●

●● ●

● ●

● ● ●

1200

1300

1400

●●

●● ●

● ●

● ● ●

Forgy

2 3 4 5 6 7 8 9 101112131415

●●

●●●

●●

●●

Hartigan−Wong

2 3 4 5 6 7 8 9 101112131415

●●

●●

●●

● ●●

●●

●●

●●

● ●●

Lloyd

2 3 4 5 6 7 8 9 101112131415

●●

● ●

●●

●●

●●

●●

● ●

●●

●●

●●

100

200

300

MacQueen

Dis

tânc

ias

entr

e−cl

uste

rs

Soma das distâncias ao quadrado das observaçõesDentro dos clusters Entre os cluters● ●

Dis

tânc

ia in

tra−

clus

ters

Figura 4: Distâncias intra e entre clusters para cada algoritmo definido com k clusters

Na Figure 4 são exibidas as somas das distâncias entre as observações e o centro do cluster a qual pertence,distâncias intra-clusters (em preto) e as distâncias entre os centros dos grupos, distâncias entre-clusters (emazul). Em geral, um bom agrupamento garante uma pequena distância intra-cluster e alta entre-clusters,pela figura nota-se que os algoritmos levam a diferentes escolhas do número de grupos.

A escolha do número de grupos sob o método de k-means é largamente trabalhado na literatura, para quea escolha não se torne puramente subjetiva adotou-se a utilização do índice de GAP, proposto por RobertTibshirani em 20017. No software R esse índice pode ser computado pela função index.Gap do pacoteclusterSim, essa função retorna um objeto diffu, onde o número de grupos indicado por esse critério seráo menor cujo diffu é maior que 0. A Figure 5 exibe os valores de diffu para cada um dos algoritmos.

3Hartigan, J. A. and Wong, M. A. (1979). A K-means clustering algorithm. Applied Statistics 28, 100–108.4Lloyd, S. P. (1957, 1982) Least squares quantization in PCM. Technical Note, Bell Laboratories. Published in 1982 in IEEE Transactions

on Information Theory 28, 128–137.5Forgy, E. W. (1965) Cluster analysis of multivariate data: efficiency vs interpretability of classifications. Biometrics 21, 768–769.6MacQueen, J. (1967) Some methods for classification and analysis of multivariate observations. In Proceedings of the Fifth Berkeley

Symposium on Mathematical Statistics and Probability, pp. 281–297. Berkeley, CA: University of California Press.7Tibshirani, R., Walther, G., Hastie, T. (2001), Estimating the number of clusters in a data set via the gap statistic, “Journal of the

Royal Statistical Society”, ser. B, vol. 63, part 2, 411-423.

4

Page 5: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

k

dif

fu

−0.02

0.00

0.02

0.04

2 4 6 8 10 12 14

●●

● ●

Forgy

2 4 6 8 10 12 14

●●

● ●

Hartigan−Wong

2 4 6 8 10 12 14

Lloyd

2 4 6 8 10 12 14

● ●

MacQueen

Figura 5: Diferenças de índices GAP para os diferentes algoritmos.

Novamente pelos índices de GAP há diferentes indicações do número ideal de clusters, foram indicados4, 9, 3, 4 quando utilizados os algoritmos Forgy, Hartigan-Wong, Lloyd, MacQueen respectivamente. ATable 3 exibe os valores das distâncias intra e entre classes e nota-se que independente do número de clustersescolhido o algoritmo de Hartigan-Wong obtém os melhores resultados.

Tabela 3: Distâncias intra e entre clusters para os k’s indicadosAlgoritmo k Dist. intra Dist. entreHartigan-Wong 3.00 1435.85 91.61Lloyd 3.00 1444.08 83.38Forgy 3.00 1454.47 72.99MacQueen 3.00 1451.01 76.45Hartigan-Wong 4.00 1396.43 131.03Lloyd 4.00 1428.05 99.41Forgy 4.00 1423.60 103.86MacQueen 4.00 1432.44 95.02Hartigan-Wong 9.00 1265.82 261.64Lloyd 9.00 1315.43 212.03Forgy 9.00 1361.96 165.50MacQueen 9.00 1354.47 172.99

Clusterização Hierárquica

Considerando o método de clusterização hierárquica utilizou-se diferentes abordagens na definição dedistâncias entre os grupos formados a cada passo do algoritmo. Foram utilizadas o método de ward.D2,que quantifica a diferença entre a soma dos erros quadráticos de cada padrão e a média da partição emque está a observação está contida; single distância é dada pela menor distância entre dois elementos degrupos distintos; complete distância é dada pela maior distância entre dois elementos de grupos distintos; eaverage distância é dada pela média das distâncias entre todos os elementos de grupos distintos.

Os dendrogramas referentes aos agrupamentos utilizando os diferentes tipos de ligação (definição dedistâncias entre grupos) são exibidos na Figure 6. Para agrupamentos hierárquicos a escolha de gruposé realizada de forma subjetiva à interpretação gráfica. Nesse caso nota-se que, assim como no k-means,diferentes configurações do método levam a diferentes agrupamentos, no caso da ligação ward.D2 pareceque pode-se dividir os textos em dois grupos, já para os demais essa divisão não é clara indicando que nãohá um agrupamento claro.

5

Page 6: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

02

46

8

Distância da ligação

197 5

105

196 24 125 37 62 17 43 15 46 50 38 80 98 169 73 168

179 13 90 71 102

191 42 126

161 94 112

120

174 36 40 29 85 165

176

132

148

164 51 138 45 190 16 81 149 74 3 145 32 72 84 156

157

172

110

186 14 35 177 28 187 64 158

143

118 67 192

116

141

183 92 124 87 89 139

154

159

166

103 23 114

104

115 8 82 167 4

142 86 153

189

199

106 79 54 178 69 140 58 127 83 173 30 21 19 109

171 65 133

163 47 63 155 18 44 41 150

194

101

185 2 60 59 144 68 195

152

162

134

121

182

188 49 11 122 88 181 77 26 131

117 76 39 113

146

129

200 33 1 55 107

170 70 91 27 61 53 184 52 97 100 6 12 10 96 66 137

111

135 31 20 48 108

198 75 25 160 99 130

119

180 95 128 22 34 123

151

147 93 9 57 136

193 56 175 7 78

ward.D2

01

23

45

6

Distância da ligação

59 197 5

143 58 127

118 83 17 183 15 2 105 60 192 67 173 92 47 43 196

168 73 52 144

141 97 124

116 63 46 155

139 56 30 179

125 36 24 21 175

154

117

100 87 76 50 40 37 16 6 195

169

152 98 89 78 68 62 44 12 188

149

132 90 81 71 49 32 31 18 193

182

172

166

162

159

157

156

150

148

136

134

113 86 74 45 33 19 13 7 199

194

191

189

101

185

171

165

164

145

138

126

122

121

109

102 96 80 72 65 53 42 41 39 38 11 10 190

186

184

176

167

163

161

146

133

123

110

106 94 88 85 84 61 55 51 28 23 20 14 181

177

153

142

114

112

107

103 95 77 66 48 35 29 27 4 3 200

187 64 158

151

147

137

111

135

129

128

120

108

198

104 93 79 75 54 26 131

178 69 140 25 174

160 99 130

119

180

115 9 57 8 82 22 34 1 170 70 91

single0

24

68

59 197 5

143 58 183 83 118 2 60 15 144 52 97 56 92 46 124 87 89 43 196

173 47 116

100 6 12 30 179 63 36 40 37 125 24 62 68 188 21 155

195 16 50 169 98 13 38 80 154 81 149 18 44 166

171 65 133

163 19 109 41 150 31 71 78 159

103

106 7

194

136

134

182 90 161

132

148 86 156

157 72 84 32 172

138

164 45 190

176 29 85 74 145 3

151 94 112

187 64 158

102

191 51 42 126

110

186 28 14 35 177

153 79 54 115 8 82 178 69 140

147 93 9 57 22 34 167

114 4

142 11 122

165

146

123 77 121 33 107

170

200 1 55 184 53 120

174 61 27 181 70 91 26 131

152

162

199

101

185 39 113 96 66 95 128 10 108

198

137

111

135 48 104

129 75 25 160 99 130

119

180 20 23 49 88 189

193 76 117

139

175 17 127 67 141

192

105 73 168

complete

01

23

45

6

59 197 5

143 58 83 183 17 2 127

118 15 60 105 43 67 192 47 173 92 168 52 97 144 73 196

141

116 56 124 46 63 30 155 24 139

175 21 37 179 87 6 195

125 36 40 62 100 12 154 68 31 16 50 98 169 89 19 78 76 117

188 81 18 44 7 49 71 136 32 193

152

149

132 41 150 13 90 161

189

159

166 86 156

148

162

134

182 10 172 45 190 96 103 74 3 145

109

171 65 133

163 39 113

194 66 101

185

157 72 84 199 33 165

176 38 80 51 42 126

138

164

146 55 88 11 122

102

191 23 20 48 77 121 29 85 110

186

106 28 53 184

123 95 14 35 177

120 94 112 75 25 79 54 178 69 140

187 64 158 26 131

128 22 34 151

147 93 174 9 57 137

111

135

104

160 99 130

119

180

115 8 82 129

108

198

181 61 27 200

107 1

170 70 91 153

167

114 4

142

average

Figura 6: Dendogramas referentes aos agrupamentos hierárquicos com diferentes tipos de ligação.

Para comparação dos métodos escolheu-se construir dois grupos utilizando o agrupamento hierárquico comligação de grupos dada pelo método de ward.D2 e utilizando o agrupamento por k-means pelo algoritmo deHartigan-Wong. Foram agrupadas 88 observações no 1º cluster e 112 no 2º pelo k-means e considerando oagrupamento hierárquico foram 75 e 125 observações nos 1º e 2º clusters respectivamente.

6

Page 7: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

bommuit

otimlegalmel

hor

rod

excelent gost

nao

recom

bem

gala

xy

agor

divert

grafic

perf

eit

ruim

baix

funcion

inst

almas

peg

sup

acho

aind

ate

atua

lizac

a

celul

dem

desinstal

estr

elfi

cjo

gabi

l

jogu

merdnov

pod

tablet

trav

ver

viciant xoom

1º ClusterK−means

jogbom

otimmelhor

muit

nao

baix

grafic

pra

fic

gostrod

bem

galaxytrav

estrel

excelent

pen

compr

legalperfeit

recom

tod

val

jogabil

perd

tem

p

viciant

ador

aparelhdem

espe

r

instal

maisnot

ruim

tablet

algu

m

ante

s

atualizaca celul

demor

esse

fas

faz

feit

func

ion

hor

mas

men

par

ter

tud

amo

and

roid at

ualiz

boa

bugs

cois

complet

cons

ig

curt

dar

dess

dificil

drogfech

gast

grand

jogu

lent

merd

merec

nad

parabens

peg

pouc

que

reembols

resolv

sem

pr

show

tent

ulti

m

vez

xper

2º ClusterK−means

bommuitlegalotim

reco

m

bem

exce

lent

rod agor

gostnao

divert

ruim

func

ion

gala

xy

sup

teracho

ate

deminstal

jog

jogu

masmelhor

merd

peg

tablet

viciant

1º ClusterH−clust

jogbom

otim

melhorm

uit nao

graficbaix

fic

galaxygost

rod

estr

el

perf

eit

pra

trav

bemex

cele

nt

pen

val

compr

jogabilrecom

tod

ador

celu

l

inst

al

legal

not

perd

tem

p

viciantaparelh

atua

lizac

a

dem

esper

hor

mais

mas

men

merec

nad

resolv

ruim

tablet

algu

m

amo

antes

atualiz

boa

bugs

cois

dess

esse

fas

faz

feit

func

ion

par

peg

sempr

tud

vez

xper

aind

and

roid

angr

ybi

rds

cad

chegcomentaricomplet

concert

consigcurt

dar d

emor

dificil

dro

g

duos

enta

exelent

fech

gast

grand

jogu

lent

merdmeu

nov

para

bens

pod

pouc

pud

que

reembols

show

tent

ultim

2º ClusterH−clust

Figura 7: Nuvens de palavras* mais frequentes em cada cluster definido por cada método.

Na Figure 7 são exibidas as palavras* masi comuns em cada um dos clusters formados por cada algoritmo.Nota-se que os grupos parecem ter a mesma característica, seja por um agrupamento similar ou pelapredominância dessas palavras* na amostra selecionada. Pode-se inferir sobre os grupos formados que o 1ºse refere a resenhas essencialmente positivas sobre os aplicativos enquanto o 2º cluster tem a predominânciade palavras relacionadas à jogabilidade do aplicativo, sendo resenhas positivas ou negativas.

Tabela 4: Amostras de resenhas retiradas de cada cluster

Método Cluster Amostra de texto 1 Amostra de texto 2K-means 1 É virus Eu baixei tals e meu anti virus

foi ger se tinha algum virus e detectouque ele era eu desinstalei e meu celu-lar ficou bem melhor! Meu celulalr é o\samsung galaxy ace duos\

Nota 10 Jogo exelente bom grafico comboa jogabilidade recomendo

K-means 2 Excelente!!! Muito bom...Recomendo! Galaxy s Um dos melhores jogos depuzzle

H-clust 1 Bom e ruim Gráficos muito bons, masa jogabilidade no touchscreen é ruim.Joguei um pouco, matei a curiosidade edesinstalei.

Nao gostei Nao gostei pq nao pego nomeu tablet, pq esse jogo é pra pc

H-clust 2 Excelente Rodou liso no s3... Muito bom amei viciante nao paro djogar

Na Table 4 são exibidos duas amostras de resenhas retiradas aleatoriamente dos cluster formados por cada

7

Page 8: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

um dos métodos. Note que nessas amostras não há um claro padrão nos textos. assim como já observado naFigure 7 ambos os grupos são similares, diferendo somente na predominância das palavras que o compõe.

d) Mostre as 5 regras de associação encontradas (não use as notas para isso) usando o algoritmo a prioricom maior suporte, as 5 com maior confiança e as 5 com maior lift. Interprete o valor do suporte, lift econfiança de um regra de sua escolha. Mostre ao menos 3 maneiras distintas essas regras visualmente.

Nesse exercício foram encontradas as regras de associação cujo contém um suporte, proporção do conjuntode palavras* ocorrer simultaneamente em um documento, superior a 0,04, e confiança, probabilidade doconjunto de itens consequente (RHS) dado a ocorrência do conjunto de itens antecedente (LHS), superiora 0,60. Com essas configurações foram encontrados um conjunto de 21 regras. Na Table 8 são exibidas ascinco regras com melhor desempenho considerando seu suporte, confiança e lift (razão da confiança pelaprobabilidade do consequente).

Tabela 5: Algumas regras de associação com melhores suporte,confiança e lift

Regras Suporte Confiança Lift

Melhores Suporte

{muit} => {bom} 0.15 0.68 1.79{otim} => {jog} 0.12 0.68 1.21{melhor} => {jog} 0.10 0.68 1.21{nao} => {jog} 0.08 0.67 1.19{jog,muit} => {bom} 0.08 0.84 2.22Melhores Confiança

{jogabil} => {grafic} 0.04 1.00 11.11{pra} => {jog} 0.06 0.92 1.65{pen} => {jog} 0.04 0.90 1.61{val} => {jog} 0.04 0.89 1.59{tod} => {jog} 0.04 0.89 1.59

Melhores Lift

{jogabil} => {grafic} 0.04 1.00 11.11{grafic,jog} => {otim} 0.04 0.62 3.62{jog,muit} => {bom} 0.08 0.84 2.22{muit} => {bom} 0.15 0.68 1.79{pra} => {jog} 0.06 0.92 1.65

Para exemplificar a interpretação dessas medidas calculadas para cada regra tome a regra de maior{grafic,jog} => {otim}, essa regra diz que resenhas que contém os radicais grafic e jog tendem atambém conter o radical otim. Essa regra tem um suporte de 0.04, ou seja, em 4% dos textos essas palavrasocorrem simultaneamente. A confiança dessa regra é de 0.6153846, isso diz que dentre as resenhas quecontém grafic e jog, 61.5384615% contém também otim. E finalmente dado que a resenha contém osradicais grafic e jog, há um aumento de 3.6199095 na probabilidade de se observar otim na resenha.

Acima exibimos textualmente as regras e suas medidas de qualidade, porém são várias as visualizaçõespropostas para regras de associação8. Na Figure 8 são apresentadas três formas de visualização. Ambas sãoexprimem os mesmos resultados, porém com ênfases distintas. No gráfico superior direito temos a dispersãodos dados com relação ao suporte e confiança nos eixos x e y e o lift é apresentado em escola de cores dos

8Hahsler, M., Grün, B., Hornik, K. (2005). arules - A Computational Environment for Mining Association Rules and Frequent ItemSets. Journal of Statistical Software, 14(15), 1 - 25.

8

Page 9: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

pontos. Note que a maioria das regras tem suporte baixo e confiança superior a 0.7, ainda pode-se observarque as regras de maior lift estão associadas a menores valores de suporte. No gráfico superior esquerdotemos a representação em forma de grafo e podemos observar claramente que há a predominância de regrasque levam a consequência jog. No gráfico inferior também nota-se a predominância de regras com RHS joge com relação ao antecedente temos essencialmente regras formadas por apenas um radical.

e) Implemente componentes principais para esses dados (não use as notas para isso). Mostre quais sãoas 5 variáveis que recebem os maiores coeficientes (cargas) no primeiro componente. Mostre também as5 variáveis que recebem os menores coeficientes (cargas) no primeiro componente. É possível interpretaressas palavras? Faça o mesmo com o segundo componente. Faça um diagrama de dispersão dos doisprimeiros componentes principais. Use uma cor para cada ponto de acordo com a nota atribuída. Há umrelação entre os componentes encontrados e as notas atribuídas? Você consegue encontrar outliers combase nesses gráficos? Mostre ao menos três textos outliers. Repita o procedimento usando os três primeiroscomponentes, isto é, usando um gráfico em 3d.

Na Table 6 e Table 7 são exibidos os cinco maiores carregamentos para os 2 e 3 primeiros componentesprincipais respectivamente. Note que as palavras com maiores cargas nesses componentes se repetem, issose dá pela predominância de ocorrências dessas palavras nos textos. Esse é o principal fator que dificulta ainterpretação dos componentes. Todavia pode-se notar na 2º componente que todas as cargas são positivas erelacionas a radicais que exprimem uma noa avaliação de um aplicativo com relação a jogabilidade e gráficos.Já a 1ª componente apresenta o radical jog com carga negativa o que significa que textos que contém esseradical terão valores menores dessa componente assim como para os radicais nao e fic.

Tabela 6: Menores carregamentos1º Comp. 2º Comp. 3º Comp.

word loading word loading word loadingmagnif -2.1E-04 simpl -3.4E-06 orrivel 5.9E-05kkkk -2.7E-04 estand 1.6E-05 shopping 5.9E-05affz -2.7E-04 conect 1.6E-05 sum 5.9E-05che -3.2E-04 pouquinh 1.6E-05 etinh 5.9E-05

ficarej -3.2E-04 period 1.6E-05 kkkk 1.1E-04

Tabela 7: Maiores carregamentos1º Comp. 2º Comp. 3º Comp.

word loading word loading word loadingbom 0.586 jog 0.686 otim 0.494jog -0.478 bom 0.499 grafic 0.383

muit 0.447 otim 0.226 nao -0.324nao -0.165 muit 0.150 jog -0.236fic -0.136 grafic 0.129 excelent 0.228

Na Figure 9 exibi-se a dispersão das componentes principais calculadas para cada resenha. À esquerda sãoas duas primeiras componentes principais a à esquerdas as três primeiras. Não há uma visível relação dascomponentes com as notas atribuídas pelos autores dos textos, há um número muito maior de notas extremas(considerando notas 5 e 1 têm-se aproximadamente 75% das observações) e essas notas estão dispersas deforma não padronizadas nos gráficos. Nos gráficos também foram destacados os 3 pontos outliers, a definiçãodesses cinco pontos se deu pelas maiores distâncias com relação ao ponto mediano das componentesprincipais. Embora com esse definição possa se ordenar as observações quanto a dissimilaridade com relaçãoa característica comum e identificar quantas observações menos semelhantes forem necessárias, apenas duasobservações de destacam nos gráficos tanto considerando 2 como 3 componentes.

9

Page 10: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

Lift = P(RHS | LHS) / P(RHS)

Support = P(RHS, LHS)

Con

fian

ça=

P(R

HS

| L

HS)

0.6

0.7

0.8

0.9

1.0

0.04 0.06 0.08 0.10 0.12 0.14

2 4 6 8 10

baix

bom

compr

estrel

fic

graficjog jogabil

melhor

muit

nao

otim

pen

perfeit

pra

tod

trav

val

size: support (0.04 − 0.15)color: lift (1.099 − 11.111)

size: support color: lift

{joga

bil}

− 1

rul

es

{gra

fic,

+1

item

s} −

1 r

ules

{jog,

+1

item

s} −

1 r

ules

{mui

t} −

1 r

ules

{pra

} − 1

rul

es

{pen

} − 1

rul

es

{com

pr, +

2 it

ems}

− 3

rul

es

{bom

, +1

item

s} −

1 r

ules

{bom

, +3

item

s} −

2 r

ules

{fic

} − 1

rul

es

{tra

v} −

1 r

ules

{bai

x} −

1 r

ules

{est

rel}

− 1

rul

es

{gra

fic}

− 1

rul

es

{mel

hor}

− 1

rul

es

{oti

m} −

1 r

ules

{nao

} − 1

rul

es

{per

feit

} − 1

rul

es

{jog}

{bom}

{otim}

{grafic}

LH

S

RHS

Figura 8: Visualização das regras de associação dos radicais presentes em cada resenha. Gráfico de dispersãocom escala de cores para lift (superior à esquerda), visualização baseada e grafos com radicais e regras comovértices e Visualização baseada em matriz agrupada de regras (inferior).

10

Page 11: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

PC1 (4.5%)

PC2

(3.8

%)

−0.5

0.0

0.5

1.0

1.5

2.0

−1.0 −0.5 0.0 0.5 1.0

●●

●●

●●

●●

●●●

● ●

●●

●●●

●●●

●●●

●●

●●

●●

● ●

●●

●●

●●

● ●

●●

●●

● ●

●●

●●

●●

● ●

●●● ●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●● ●

●●●●●

● ●●●

●●●

●●

●●

●●

● ●

●●●●●●●

● ●●

●●

●●

●●

●●

●●

●●●●●

●●●

●●

●●●●●

●●

●●

●●

●●

●●●●●●●●●

●●●●●●●

●●

●●

●●

● ●

●●●●

● ●●

●●●●

●●

●●●●●●●●●

●●

●●●●●

●●

●●

●●

−1.0−0.5 0.0 0.5 1.0

−0.50.0

0.51.0

1.52.0

−1

0

1

2

PC1 (4.5%)

PC2 (3.8%)

PC3

(2.8

%)

−1.0−0.5 0.0 0.5 1.0

−0.50.0

0.51.0

1.52.0

−1

0

1

2

PC1 (4.5%)

PC2 (3.8%)

PC3

(2.8

%)

Notas● ● ● ● ●1 (14.5%) 2 (4.5%) 3 (8%) 4 (12.5%) 5 (60.5%)

Figura 9: Dispersão das componentes com a indicação das notas atrucuídas a cada texto.

Tabela 8: Algumas regras de associação com melhores suporte,confiança e lift

Id DistânciaTexto

Considerando 2 componentes

183 1.63 Otimo Muito bom esse jogo so que, tudo o que vc faz gasta a energia , e se vcnaum quer comprar tem q esperar um eternidade pra encher . O que eu achomais legal eh dar festas pra conseguir novos membros kkk

59 1.57 Xoom 2 e Sansug Galaxy Tablet 2 7.0 meus dois tablets acontece de travarno inicio da parte 11 do Smligglers´ DEM justamente quanto é apresentadoo pássaro amarelo. uma pena, no iPhone funciona que é uma maravilha.///****** RESOLVIDO ****//// vá em Configurações => uso de dados (ativea função) => definir limite de dados móveis (ative esta função). Após, reiniciedica do \esdrascps\ abraços

192 1.37 Estranho Tem uns bugs estranhos, as vezes na hora de pular fica travando emorre se ñ fosse por isso daria 5 estrelas porque o jogo é otimo.... pena esperomelhorias.......

Considerando 3 componentes

58 2.27 Motorola Atrix 4G Vi muitos comentários negativos, o que me deixou commedo de atualizar. Depois dessa atualização o que era ótimo ficou excelente.Alterações nos gráficos e cenários excelente, exige mais precisão. Se pudessedava nota 6.

127 2.18 Nem abre no LG 4X HD O jogo parece ter ficado com excelentes gráficos e opreço é ótimo. Mas se ele nem ao menos abrir no seu aparelho é complicado.Espero que os donos de aparelhos com Tegra 3 não percam tempo comprandoesse jogo.

11

Page 12: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

5 1.86 Decepciona! Quando chega na fase de desmontar as bombas do lagarto ojogo simplesmente fecha! Nessa parte do jogo se eu der um tapinha em qlqrbandido dda cidade o jogo simplesmente fecha! E o engraçado é que tem variasreclamaçoes de usuarios sobre esse problema e o desenvolvedor simplesmentecaga ou nao dá nenhuma satisfação! Decepcionante

f) Implemente kernel PCA para esses dados, e trabalhe com ao menos duas variações dela. Plote novamenteo gráfico de dispersão para essas novas técnicas. Eles são muito diferentes entre si? E com relação acomponentes principais? Repita o procedimento usando os três primeiros componentes, isto é, usando umgráfico em 3d.

Para esse exercício utilizou-se os kernels Gaussiano K(xi, xk) = exp(−σ ‖xi, xk‖2), com o hiperparâmetro σfixado em 0.3 e o kernel Polinomial K(xi, xk) = (α + γ 〈xi, xk〉)δ com os hiperparâmetros alpha = 1, γ = 1 eδ = 1.2. Os resultados das componentes principais não lineares utilizando as expansões por kernels definidasacima são exibidos na ?? e ?? utilizando duas e três componentes.

KPC1 (λ = 0.035)

KPC

2 (λ

=0.

015)

−4

−2

0

2

4

−8 −6 −4 −2 0 2

●● ●

●●●

● ●

● ●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●● ●●

●●

●●

●●

●● ●●

●●

● ●

●●

● ●

●●

●●

● ●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●●●

●●

●●●

●●●●●

●●●

●●

●●●●●

●●

●●●●●●

●●

●●

●●

●●●●●●●●

●●●

● ●

●●●●●●●●●●●●●●●●

●●●●●●

●●●●●●●●●●●

●●●●●

●●●●

●●

●●

●●

●●

● ●

●●

●●●

● ●

●●

●●

●●●

●●

●●

●●

●●

−8 −6 −4 −2 0 2−4

−20

24

−2

0

2

4

KPC1 (λ = 0.035)

KPC2 (λ =0.015)

KPC

3 (λ

=0.

014)

−8 −6 −4 −2 0 2−4

−20

24

−2

0

2

4

KPC1 (λ = 0.035)

KPC2 (λ =0.015)

KPC

3 (λ

=0.

014)

Notas● ● ● ● ●1 (14.5%) 2 (4.5%) 3 (8%) 4 (12.5%) 5 (60.5%)

Figura 10: Dispersão das kernel componentes gaussianas com a indicação das notas atribuídas a cada texto.

Considerando o kernel Gaussiano, Figure 10, observa-se um comportamento bastante incomum, em formade cone. Mesmo com três componentes esse comportamento permanece. Essa abordagem se mostroubastante distinta dos componentes principais lineares, porém ainda não identifica-se claramente uma relaçãodas componentes com as notas atribuídas embora que as notas mais baixas estejam essencialmente comvalores positivos da segunda componente.

Ao considerar o kernel Polinomial, Figure 11, também temos um comportamento distinto das demaisabordagens. Ainda com essa transformação não há relação das componentes com as notas, porém com

12

Page 13: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

essa transformação pode-se identificar mais claramente um outlier, o texto 59. Assim como nas demaisabordagens a consideração da terceira componente contribuiu pouco para a discriminação visual.

KPC1 (λ = 0.49)

KPC

2 (λ

=0.

436)

−20

0

20

40

−20 −10 0 10 20

●● ●

●●

●●●

●●●●

●●

●●

●●

●●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●● ●

●●

●● ●●

●●

●●●●●●● ●

●● ●●●

●●

●●

●●●●

●●●●

●●●●●●●●●●

●●●●●● ●●

●● ●●●●●●

●● ●●●●●●●●●●

●●

●●●●●●

●●●●●● ●●

● ●● ●●●

●●●●

●●●●●●

●●●● ●●●● ●●●●●●●●● ●●●●● ●●

●● ● ●● ● ●●● ●●●●

●●●●●

●●●●●● ●

●●●●●

●● ●● ●●●● ●● ●●

●●●●

●●

●● ●●

●●●

●●●●

−20−10

0 10 20

−200

2040

0

20

40

60

80

100

KPC1 (λ = 0.49)KPC2 (λ = 0.436)

KPC

3 (λ

=0.

36)

−20−10

0 10 20

−200

2040

0

20

40

60

80

100

KPC1 (λ = 0.49)KPC2 (λ = 0.436)

KPC

3 (λ

=0.

36)

Notas● ● ● ● ●1 (14.5%) 2 (4.5%) 3 (8%) 4 (12.5%) 5 (60.5%)

Figura 11: Dispersão das kernel componentes polinomiais com a indicação das notas atribuídas a cada texto

13

Page 14: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

Exercício 2

Baixe o arquivo lista4.R. Ele mostra um código para baixar o banco de dados IncomeESL, que será utilizadoneste exercício. Este banco mede diversas covariáveis em indivíduos americanos, como salário, origeme nível de educação. O código fornecido coverte este banco para o formato transactions, que será usadopara implementar as regras de associação vistas em aula. Em particular, o código discretiza as variáveisnuméricas. Usando o algoritmo a priori:

O problema consiste em realizar uma análise relacionada a determinados atributos de indivíduos americanos,como o salário, origem, nível de educação, ocupação, idade, entre outros. O objetivo é encontrar regras deassociação que seja relevante, a fim de compreender mais a fundo o perfil dos indivíduos americanos.

As informações estão contidas no conjunto IncomeESL, disponível no pacote arules, do software R. Noconjunto, dispomos de 8993 observações e de 14 variáveis, cujo exibimos abaixo:

• income: renda

• sex: sexo

• martial status: estado civil

• age: idade

• education: nível educacional

• ocupation: ocupação

• years in bay area: anos na baía

• dual incomes: dupla renda

• number in household: qtd. de moradores

• number of children: qtd. de crianças

• householder status: status do proprietário

• type of home: tipo de casa

• ethnic classification: classificação étnica

• language in home: idioma na casa.

Vale ressaltar que todas as variáveis ou são qualitativas ou foram categorizadas.

a) Mostre as 10 regras (juntamente com suporte, confiança e lift) com maior lift entre regras com suportede ao menos 0.001, confiança ao menos 0.8, e tamanho máximo 3.

Tabela 9: Dez melhores regras de associação com relação ao lift, sujeitas a suporte >0.001, confiança > 0.08 e com no máximo três itens

Regras Suporte Confiança Lift{marital status=divorced,language in home=spanish} => {ethnic classification=hispanic} 0.00 0.97 7.61{occupation=laborer,language in home=spanish} => {ethnic classification=hispanic} 0.01 0.94 7.37{occupation=retired,language in home=spanish} => {ethnic classification=hispanic} 0.00 0.92 7.22{occupation=unemployed,language in home=spanish} => {ethnic classification=hispanic} 0.00 0.91 7.19{number of children=1+,language in home=spanish} => {ethnic classification=hispanic} 0.03 0.90 7.13{income=$0-$40,000,language in home=spanish} => {ethnic classification=hispanic} 0.04 0.90 7.08{number in household=2+,language in home=spanish} => {ethnic classification=hispanic} 0.03 0.90 7.06{type of home=house,language in home=spanish} => {ethnic classification=hispanic} 0.03 0.89 7.03{occupation=student,language in home=spanish} => {ethnic classification=hispanic} 0.01 0.89 7.01{marital status=widowed,language in home=spanish} => {ethnic classification=hispanic} 0.00 0.89 7.00

Com base em Table 9, temos que a regra com maior lift fornece a informação que se o indivíduo é divorciadoe o idioma em sua casa é o espanhol, então a probabilidade dele ser hispânico aumenta em 7.61 vezes. Nogeral, as regras com os 10 maiores lifts implicam no consequente em que a classificação étnica do indivíduo é

14

Page 15: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

hispânico. Além disso, tais regras possuem confianças altas. No mais, conclui-se que todos os antecedentescontém a informação de que o idioma falado na residência é espanhol, e isto aumenta a chance de que aetnia do indivíduo seja hispânico, o que é de se esperar.

b) Mostre as 10 regras (juntamente com suporte, confiança e lift) com maior confiança entre regras comsuporte de ao menos 0.001, confiança ao menos 0.8, e tamanho máximo 3.

Tabela 10: Dez melhores regras de associação com relação a confiança, sujeitas a suporte >0.001, confiança > 0.08 e com no máximo três itens

Regras Suporte Confiança Lift{marital status=widowed} => {dual incomes=not married} 0.03 1.00 1.67{marital status=divorced} => {dual incomes=not married} 0.10 1.00 1.67{marital status=single} => {dual incomes=not married} 0.41 1.00 1.67{age=14-34,ethnic classification=east indian} => {income=$0-$40,000} 0.00 1.00 1.61{income=$0-$40,000,ethnic classification=east indian} => {age=14-34} 0.00 1.00 1.71{marital status=cohabitation,ethnic classification=pacific islander} => {age=14-34} 0.00 1.00 1.71{marital status=cohabitation,ethnic classification=pacific islander} => {language in home=english} 0.00 1.00 1.10{occupation=laborer,ethnic classification=pacific islander} => {education=no college graduate} 0.00 1.00 1.42{occupation=clerical/service,ethnic classification=pacific islander} => {language in home=english} 0.00 1.00 1.10{householder status=live with parents/family,ethnic classification=pacific islander} => {education=no college graduate} 0.00 1.00 1.42

Sujeito as condições impostas no enunciado, têm-se as 10 regras com maiores confianças, exibidas na Table 10,com valores iguais a 1. As primeiras regras afirmam que todos os indivíduos que eram solteiros, divorciadosou viúvos, então não possuíam dupla renda. Observe ainda que o suporte de que o indivíduo seja solteiro éde 40,91%. Outras regras informam que todos os indivíduos que tinham entre 14 e 34 anos e eram indianos,então possuíam uma renda entre $ 0 e $ 40,000. Ainda todos os indivíduos que eram de etnia pacíficoislandês e com estado civil em coabitação ou cuja ocupação consistia em prestar serviços religiosos, tinham oidioma inglês falado nas respectivas residências. E aqueles cuja ocupação era operário assalariado ou seviviam com os pais/família, não possuíam nenhuma graduação no ensino superior.

c) Plote as 10 regras com maior lift entre regras com suporte de ao menos 0.001, confiança ao menos 0.8, etamanho máximo 3.

d) Mostre todas as regras (juntamente com suporte, confiança e lift) com maior confiança entre regras comsuporte de ao menos 0.001, confiança ao menos 0.7, tamanho máximo 3, tamanho mínimo 2 e que tenha

“ethnic classification=hispanic” do lado esquerdo da regra.

Tabela 11: Regras de associação com relação a confiança, sujeitas a suporte > 0.001,confiança > 0.08 e com no máximo três itens, no mínimo 2 e que tenham ethnichispanic como antecedente

Regras Suporte Confiança Lift{ethnic classification=hispanic} => {age=14-34} 0.09 0.71 1.22{ethnic classification=hispanic} => {income=$0-$40,000} 0.10 0.78 1.26{ethnic classification=hispanic} => {education=no college graduate} 0.11 0.86 1.22

15

Page 16: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

Lift = P(RHS | LHS) / P(RHS)

Support = P(RHS, LHS)

Con

fian

ça=

P(R

HS

| L

HS)

0.90

0.92

0.94

0.96

0.00 0.01 0.02 0.03 0.04

7.1 7.2 7.3 7.4 7.5 7.6

income=$0−$40,000marital status=divorced

marital status=widowed

occupation=laborer

occupation=student

occupation=retired

occupation=unemployed

number in household=2+

number of children=1+

type of home=house

ethnic classification=hispanic

language in home=spanish

size: support (0.001 − 0.04)color: lift (7.001 − 7.614)

Figura 12: Visualização das dez regras de associação com maiores lifts construídas no conjunto de dadosIncome. Gráfico de dispersão com escala de cores para lift (esquerda), visualização baseada e grafos (direita).

Diante das restrições, as três regras que relacionam etnia hispânica como antecedente, são apresentadas naTable 11. Com a informação de que o indivíduo é hispânico, as probabilidades de que ele tenha entre 14 e 34anos, com renda entre $0 e $40,000 e sem graduação em faculdade aumentam de maneira semelhante, 1.21,1.25 e 1.22, respectivamente. Em geral, as confianças não foram tão significantes, todas abaixo de 90%.

e) Explore os dados você mesmo. Mostre ao menos duas regras de associação que você achou interessantealém das já apresentadas na lista. Justifique porque as achou interessantes.

16

Page 17: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

Exercício 3

Neste exercício você irá explorar alguns sistemas de recomendação para o MovieLens Dataset.Para tanto, instale a biblioteca recommenderlab, e carregue os dados usando data(MovieLense).

a) Usando 75% dos dados para treinamento e assumindo que são dadas 12 avaliações por usuário, comparea performance dos seguintes métodos com relação a quão boas a predições das notas são:.

• Filtro colaborativo com base nos produtos com k = 2• Filtro colaborativo com base nos produtos com k = 5• Filtro colaborativo com base nos produtos com k = 8• Filtro colaborativo com base nos usu´arios com k = 2• Filtro colaborativo com base nos usu´arios com k = 5• Filtro colaborativo com base nos usu´arios com k = 8

Neste problema, o objetivo é explorar alguns sistemas de recomendação para um conjunto relacionado aavaliações de filmes. Os dados foram coletados através do site da MovieLens (https://movielens.org/),durante um período de sete meses entre 1997 e 1998. O conjunto contém 100,000 avaliações, de 1 a 5, de 943usuários a respeito de 1664 filmes.

Para este problema, 75% dos dados foram utilizados para treinamento. Assumiu-se que 12 avaliações sãofornecidas por cada usuário. Assim, a fim de obter boas predições das notas, foram empregados os filtroscolaborativos com base no produto e com base no usuário e, para cada filtro, utilizando k igual a 2, 5 e 8. Porfim, as medidas MSE (EQM), RMSE (REQM) e MAE são calculadas, tais medidas avaliam o quão boas aspredições das notas estão.

Na Table 12 são apresentados as estimativas para as medidas de risco MSE, RMSE e MAE. De modo geral,pode-se observar que as mediadas são relativamente baixas, o que fornece indícios de que as notas estãobem preditas. No mais, as medidas IB crescem de acordo com o aumento do k, enquanto as medidas doUB decrescem de acordo com o aumento do k, isso é mais visível na Figure 13, onde os mesmos valores sãoexibidos em forma de barras para comparação.

Tabela 12: Valores estimados das medidas de risco MSE, RMSE e MAE.Configuração RMSE MSE MAEIB (k=2) 1.1493 1.3208 0.8013UB (k=2) 1.1184 1.2509 0.8988IB (k=5) 1.1948 1.4276 0.8482UB (k=5) 1.1005 1.2111 0.8848IB (k=8) 1.1992 1.4382 0.8585UB (k=8) 1.0965 1.2024 0.8813

17

Page 18: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

Medida de qualidade de ajuste

Val

ores

0.8

1.0

1.2

1.4

MAE MSE RMSE

Configuração do algoritmo de recomendaçãoIB (k=2)IB (k=5)

IB (k=8)UB (k=2)

UB (k=5)UB (k=8)

Figura 13: Valores estimados das medidas de risco MSE, RMSE e MAE.

b) Compare os mesmo métodos que o descrito no item anterior, mas desta vez usando os métodos deavaliação com base nas N melhores recomendações. Você deve considerar uma avaliação como sendo boaquando sua nota é maior ou igual a 4. Você deve estimar a sensibilidade, 1-especificidade, precisão elembrança (recall) para N = 1, 5, 10, 20, 50 e 100 recomendações.

Com base nos filtros empregados anteriormente e assumindo que será recomendado N filmes para umdeterminado usuário, considerando uma avaliação quando sua nota excede ou é igual a nota 4, os filtrosforam empregados para diferentes valores para N (1, 5, 10, 20, 50 e 100), cujo resultados são exibidos naTable 13 e Figure 14.

Tabela 13: Medidas de qualidade de predição

Precisão Lembrança Sensibilidade Especificidade

IB (k=2)

0.3263 0.0156 0.0156 0.99960.2737 0.0592 0.0592 0.99780.2318 0.0829 0.0829 0.99560.2067 0.1008 0.1008 0.99320.2016 0.1052 0.1052 0.99240.2016 0.1052 0.1052 0.9924

UB (k=2)

18

Page 19: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

0.3559 0.0145 0.0145 0.99960.2669 0.0464 0.0464 0.99770.2339 0.0823 0.0823 0.99520.2059 0.1348 0.1348 0.99010.1641 0.2156 0.2156 0.97390.1238 0.2762 0.2762 0.9453

IB (k=5)

0.2839 0.0086 0.0086 0.99960.2669 0.0505 0.0505 0.99770.2511 0.0873 0.0873 0.99530.2156 0.1372 0.1372 0.99050.1774 0.1874 0.1874 0.98220.1729 0.1920 0.1920 0.9810

UB (k=5)

0.4746 0.0190 0.0190 0.99970.3212 0.0645 0.0645 0.99790.2831 0.1026 0.1026 0.99550.2407 0.1495 0.1495 0.99050.1892 0.2599 0.2599 0.97470.1486 0.3488 0.3488 0.9469

IB (k=8)

0.2754 0.0089 0.0089 0.99950.2754 0.0429 0.0429 0.99770.2513 0.0850 0.0850 0.99530.2204 0.1347 0.1347 0.99030.1759 0.2266 0.2266 0.97660.1545 0.2555 0.2555 0.9687

UB (k=8)

0.4831 0.0210 0.0210 0.99970.3814 0.0760 0.0760 0.99810.3153 0.1093 0.1093 0.99570.2587 0.1568 0.1568 0.99080.1984 0.2617 0.2617 0.97500.1552 0.3698 0.3698 0.9473

19

Page 20: Aprendizado de Máquina - GitHub Pages · 2018-02-19 · Aprendizado de Máquina UFMG EST171 - 1ª Lista de exercícios Caio Cesar De Oliveira Freitas & Eduardo Elias Ribeiro Junior

0.00 0.01 0.02 0.03 0.04 0.05

0.0

0.1

0.2

0.3

FPR

TPR

● IB (k=2)UB (k=2)IB (k=5)UB (k=5)IB (k=8)UB (k=8)

●●●

1

510

2050100

1

5

10

20

50100

0.0 0.1 0.2 0.3

0.0

0.1

0.2

0.3

0.4

0.5

recall

prec

isio

n

● IB (k=2)UB (k=2)IB (k=5)UB (k=5)IB (k=8)UB (k=8)

●●●

1

5

102050100

15

10

20

50100

Figura 14: Medidas de qualidade de precisão.

c) Algum dos métodos foi uniformemente melhor que os outros? Justifique.

Com base nos resultados apresentados principalmente pela Figure 13 e ?? nota-se que nesse conjunto dedados os filtros colaborativos baseados em usuários tiveram um melhor desempenho com relação aosbaseados em itens. Considerando o número de usuários utilizados para predição os filtro que utilizam ummaior número de usuários para predição (k = 8 e k = 5) obtiveram resultados ligeiramente superiores aosdemais.

20