Escolar Documentos
Profissional Documentos
Cultura Documentos
Trabalho de Conclusão de Curso PDF
Trabalho de Conclusão de Curso PDF
TRABALHO DE
CONCLUSÃO DE CURSO
ORIENTAÇÃO:
Profª. Msc. Janniele Aparecida Soares
Julho, 2015
João Monlevade/MG
Renata Dias Batista
João Monlevade
Julho de 2015
Resumo
Em primeiro lugar agradeço aos meus pais Inês e Geraldo pela confiança, investi-
mento e proteção durante a realização deste sonho.
Agradeço a todos os meus amigos pelo incentivo para seguir em frente mesmo nos
momentos difíceis, especialmente à Gabriela.
Agradeço ao Bruno por toda a motivação, apoio e carinho que foram capazes de
me fazer mais forte e seguir até o fim.
À Janniele e à Helen pela confiança em mim depositada, pela excelente e dedicada
orientação, pelo esforço e ajuda na realização deste trabalho.
E por fim, agradeço a todos os professores, funcionários e técnicos da Universi-
dade Federal de Ouro Preto, especialmente à Viviane Leles e a todos do Restaurante
Universitário do Campus de João Monlevade.
SUMÁRIO
1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.1.2 Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 Revisão Bibliográfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1 Mineração de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 Técnicas de Mineração de dados . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3.1 k-Vizinhos mais Próximos . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Regressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.1 Regressão Linear Múltipla . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.2 Máquinas de vetores de suporte - (Support Vector Machines - SVM) 19
2.5 Weka . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6 Métricas de Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7 Ambiente de Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . 24
3 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4 Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.1 Identificação do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2 Pré-processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Extração de Padrões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.1 Escolha da tarefa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.2 Escolha dos algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . 34
6 Experimentos e Análises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.1 Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Referências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
A Apêndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
A Apêndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
LISTA DE FIGURAS
RU - Restaurante Universitário
MD - Mineração de Dados
R - Coeficiente de Correlação
1 INTRODUÇÃO
1.1 OBJETIVOS
1.1.1 Objetivo Geral
O objetivo do presente trabalho é aplicar algoritmos de classificação e regressão
na base de dados do Restaurante Universitário que sejam capazes de analisar as variáveis
que influenciam a ausência e/ou presença de comensais durante as refeições e oferecer
uma previsão confiável de quantas refeições serão consumidas.
Ao proporcionar maior exatidão que o método utilizado atualmente, esse trabalho
oferecerá recursos que irão auxiliar na previsão de quantas refeições deverão ser prepara-
das diariamente não só no RU do Campus de João Monlevade, mas também em outros
restaurantes dentro e fora da Universidade Federal de Ouro Preto.
2 REVISÃO BIBLIOGRÁFICA
∙ Mineração dos dados (Data Mining): passo que aplica a busca de padrões interes-
santes;
2.3 CLASSIFICAÇÃO
Goebel and Gruenwald (1999) e Bradley et al (1999) explicam que a parte essencial
do processo KDD está em qual método de MD é utilizado para extrair os padrões dos
dados. Cada método possui um objetivo diferente, assim como o resultado pretendido na
utilização do KDD. O objetivo da classificação é prever o estado mais provável que uma
variável categórica pode atingir a partir das características de um conjunto de registros
históricos. Os algoritmos de classificação buscam calcular um modelo que usa os valores
mais marcantes para descrever cada classe e analisar a entrada de acordo com eles, dando
como saída a classe com que a variável mais se assemelha, ou seja, cada registro novo é
classificado em um conjunto discreto de possíveis categorias pré-definidas anteriormente.
Classificar um dado é quando “dado um conjunto de classes categóricas pré-
definidas, pode-se determinar para qual destas classes um item de dados específico per-
tence” Goebel and Gruenwald (1999) . Seguindo este e outros exemplos, os dados reco-
lhidos no RU foram discretizados em classes que variaram de 1 a 40, indo de 10 em 10.
Ou seja, a classe 1 demonstra que o número de comensais do restaurante em determinada
refeição está entre 0 e 9, a classe 2 de 10 a 19 comensais, seguindo assim até chegar na
última classe que considera entre 390 a 399 comensais em uma refeição. Sendo assim, os
novos dados serão classificados conforme uma dessas 40 classes e representa que o número
de comensais estaria entre determinado intervalo.
Por outro lado, pode-se observar que apesar de poder ser representados por clas-
ses, o problema é constituído de valores contínuos e que ao ser modulado com variáveis
discretas, poderia desperdiçar informação, além de realizar uma previsão menos exata do
número de comensais. Segundo Goebel and Gruenwald (1999), o método escolhido para
fazer a análise dos dados deve estar de acordo com seus atributos. Algumas abordagens
geralmente exigem que todos os atributos sejam do tipo numérico, outras não são capazes
de lidar com dados contínuos. Então, o tipo de atributos presentes na fonte de dados de-
vem ser considerados ao selecionar um modelo de análise. Neste caso, a tarefa de regressão
foi escolhida como a mais adequada para a resolução do presente problema.
treino mais parecidos com os dados de entrada. Cada tupla é classificada de acordo com
atributos existentes. A similaridade é calculada geralmente através da distância Euclidi-
ana, porém existem outras métricas de distância que podem ser mais apropriadas para
circunstâncias específicas permitindo a modificação do algoritmo conforme a necessidade.
Após o cálculo da similaridade, o algoritmo determina quais membros do conjunto
de treinamento são mais próximos da instância de teste, a nova instância é classificada de
acordo com a classe que a maioria das instâncias pertencem. A quantidade de vizinhos
é definida pelo k, ele é o responsável por determinar a quantidade de vizinhos que serão
selecionados dentro do grupo de maior similaridade, a quantidade de vizinhos apropriada
para cada problema é diferente e contribui significativamente para a boa performance do
algoritmo.
Algoritmo 1: KNN
Dados: 𝑘, 𝐷, 𝑇
Saída: 𝑆
𝑆 ← solução vazia
𝑊 ← ( 0, 𝑡𝑎𝑚𝐽𝑎𝑛𝑒𝑙𝑎)
para (𝑧 ∈ 𝑇 ) faça
Calcule 𝑑(𝑧, 𝑥), a distância entre 𝑧 e cada exemplo 𝑥 ∈ 𝐷.
Selecione 𝐷𝑧 ⊂ 𝐷 conjunto dos 𝑘 exemplos de treinamento de 𝑧
classe 𝑧 = classe de maior incidência dentre 𝐾 ∈ 𝐷𝑧
fim
retorna 𝑧
2.4 REGRESSÃO
Na predição de variáveis discretas, pode-se aplicar técnicas de classificação, porém
na predição de variáveis contínuas os métodos de regressão apresentam melhores resulta-
dos. Para implementar tarefas de regressão são utilizados métodos estatísticos. Segundo
Bradley et al (1999), o problema de regressão é diferente do problema de classificação, já
que neste, a 𝑓 𝑢𝑛𝑐𝑎𝑜 𝑔 que tenta estimar tem uma saída contínua, em contraste com uma
saída discreta para o problema de classificação.
De acordo com Rezende (2005), Fayyad et al (1996c) e Goebel and Gruenwald
(1999), a regressão busca aprender uma função, que pode ser linear ou não, através da
análise das dependências entre valores de atributos novos e valores de atributos conhecidos.
Esta função consegue mapear um novo item do dado à uma variável de previsão com valor
real. Dada a descoberta das relações entre as variáveis, um modelo é construído e passa
a prever quais valores de atributos serão atribuídos aos novos registros.
“Dado um conjunto de itens de dados, a regressão é a análise da dependência
de alguns valores de atributos sobre os valores de outros atributos no mesmo item e a
Capítulo 2. Revisão Bibliográfica 19
produção automática de um modelo que pode prever estes itens e atribuírem valores para
novos registros” Goebel and Gruenwald (1999). Ou seja, dado um conjunto de dados este
modelo pode prever a probabilidade de que um novo registro aconteça.
No contexto de nosso trabalho, ao utilizar a tarefa de classificação, o restaurante
deveria fazer o valor máximo de cada classe para que não faltassem refeições, supondo que
o valor contínuo representa o primeiro valor da classe, neste exemplo, 9 refeições seriam
desperdiçadas. O lado positivo de usar o método de classificação se apresenta uma vez
que o desperdício é limitado a um valor máximo de 9 refeições se ele fornecer resultados
com exatidão de 100%. Porém, supondo que o método de regressão ofereça os mesmos
100% de exatidão, basta realizar o cálculo e chegar ao resultado exato de quantas refeições
precisarão ser feitas, neste caso os responsáveis pelo restaurante acertariam a previsão sem
sobrar nem faltar refeições. Por esta razão o método de regressão foi considerado mais
apropriado para resolver este problema.
A variável dependente pode ser predita com base em valores conhecidos das va-
riáveis independentes. Por exemplo, na base de dados criada neste trabalho, as variáveis
consideradas independentes são: ano, mês, dia do mês, dia da semana, sobra do almoço,
sobra do jantar, véspera de feriado, pós-feriado, fim do período, inicio do período, exame
especial, reuniões no jantar, reuniões no almoço, cardápio do almoço e cardápio do jan-
tar. As variáveis dependentes: comensais do almoço e comensais do jantar. O valor que
desejamos estimar é calculado a partir da soma resultante da multiplicação das variáveis
pelos números gerados na equação.
valor estabelecido pelo usuário serão descartados. Os dados sofrem uma transformação
não linear para um espaço multi-dimensional permitindo a separação linear dos dados e
a criação da margem a partir da qual os dados serão ignorados.
2.5 WEKA
Goebel and Gruenwald (1999) citam que o uso das ferramentas de descobertas
automatizadas tem a capacidade de analisar dados brutos e apresentá-los em forma de
informação de alto nível para que o analista ou tomador de decisões não precise encontrá-
los por si só. Por este motivo a escolha da ferramenta depende da aplicação de requisitos
e considerações específicas, como a forma e o tamanho dos dados, objetivos do processos
de descoberta, necessidades e treinamento do usuário final, dentre outros. De acordo com
essas observações, a ferramenta escolhida foi a Weka.
Weka é uma máquina de aprendizado e Mineração de Dados de código aberto.
Foi desenvolvida em Java pela Universidade Waikato da Nova Zelândia. Seus algoritmos
de classificação permitem a construção de um modelo classificador baseado em dados
de treino e a avaliação do desempenho deste modelo. Além da tarefa de classificação,
possui algoritmos capazes de minerar regras de associação e clusters. Os resultados são
mostrados em várias medidas, algumas delas são estatística kappa, média absoluta de erro
e erro absoluto.
Para utilizá-la basta criar um arquivo no formato padrão .arff. Este documento
precisa conter inicialmente um cabeçalho, conforme mostrado no exemplo abaixo, seguido
do conjunto de dados. No cabeçalho, @relation representa a associação de um nome a um
conjunto de dados, @attribute representa a declaração dos atributos utilizados no pro-
blema. A ordem da declaração vai indicar a posição de cada atributo dentro do conjunto
de dados. Dentro da base os atributos deverão estar na ordem em que aparecem no cabe-
çalho. Por definição, a Weka considera o último atributo especificado no cabeçalho como
o atributo classe e os demais são tratados como atributos preditivos. Dados categóricos
podem ser representados por números ou pelos nomes de cada um, ambos fornecem uma
lista de valores possíveis para o atributo. Da mesma maneira, atributos numéricos po-
dem ser expressos por seus possíveis valores ou usando as palavras real ou numeric para
descrever que serão aceitos apenas números. A base de dados é representada por @data,
abaixo desta informação vem a base de dados onde todos os atributos de um dado são
colocados na mesma linha e separados por vírgula. Quando um atributo não tem valor
conhecido, ele é representado pelo caracter “?”, a Weka entende que este atributo tem um
valor nulo.
%regressao: refeicoes no RU
@RELATION ’TCC’
Capítulo 2. Revisão Bibliográfica 22
@data
2014,2,13,4,23,0,0,1,0,0,0,0,12,0,0,16
2014,2,12,3,19,0,0,1,0,0,0,0,45,1,0,29
Scheme:weka.classifiers.functions.LinearRegression -S 0 -R 1.0E-8
Relation: TCC-weka.filters.unsupervised.attribute.Remove-R5,11-12,14,16
Instances: 223
Attributes: 4
id_mes
inicio_periodo
cardapioJantar
comensais_janta
Test mode:evaluate on training data
comensais_janta =
25.0176 * id_mes=3,1,6,7,5,4,8,12,10,11,9 +
20.2969 * inicio_periodo=0 +
-36.0793 * cardapioJantar=5,14,33,88,94,41,52 +
29.4651 * cardapioJantar=14,33,88,94,41,52 +
-19.2237 * cardapioJantar=33,88,94,41,52 +
75.3904
Capítulo 2. Revisão Bibliográfica 23
sendo 𝑦𝑖 o valor real conhecido e 𝑦𝑖′ o valor predito. O resultado obtido indica o quão
longe o valor previsto está do valor real conhecido, ou seja, calcula a diferença entre o
valor atual e o valor predito.
Capítulo 2. Revisão Bibliográfica 24
O erro absoluto relativo se refere ao erro total absoluto, ele sempre existirá quando
a explicação da reta não for completa, ou seja, quando existirem outros fatores que in-
fluenciam o resultado de Y que não foram descritos nas variáveis 𝑋1 , 𝑋2 , ..., 𝑋𝑛 . Quanto
menor este valor for, significa que tem-se uma precisão maior do modelo, uma vez que ele
representa o limite para o desvio padrão da variável dependente. Sua fórmula é dada por:
∑︀𝑑
𝑖=1 |𝑦𝑖 − 𝑦𝑖′ |
∑︀𝑑 (2.4)
𝑖=1 |𝑦𝑖 − 𝑦
¯𝑖 |
e assim como no erro absoluto 𝑦𝑖 é o valor real conhecido e 𝑦𝑖′ é o valor predito. A
fórmula que representa a média do erro quadrado é:
∑︀𝑑
𝑖=1 (𝑦𝑖 − 𝑦𝑖′ )2
(2.6)
𝑑
3 TRABALHOS RELACIONADOS
selecionaram como variáveis do problema: nível de aceitação das refeições (foi feita uma
pesquisa com os comensais sobre o cardápio e normalizadas entre 0 e 1), média dos últimos
30 dias, dia da semana, número de refeições do dia anterior, mês, existência de feriado no
dia anterior ou posterior e média dos últimos 5 dias. O treinamento da base de dados foi
feita no Matlab. O percentual de erro geral da RNA foi de 9,5%, para diminuir este número
uma opção é a utilização de outras variáveis relevantes, porém algumas delas são difíceis
de se obter por serem atípicas, como “eventos”. A variação do resultado foi de 35 refeições
para mais ou para menos, apesar da variação entre os dias este método se mostrou mais
eficaz que o utilizado anteriormente de média simples. Esta pesquisa também procura
criar um modelo de previsão da quantidade de refeições, porém, foi abordado o uso da
regressão linear para atingir este objetivo. Conforme as conclusões obtidas, a utilização
da regressão linear se mostrou mais eficiente uma vez que obteve resultados melhores que
a utilização de Redes Neurais.
Vianna et al (2010) buscaram utilizar a Mineração de Dados para interpretar pa-
drões e gerar conhecimento com relação às características materno-fetais utilizadas na
predição da mortalidade infantil. Foram utilizadas as bases de 3 sistemas de informação
da saúde utilizados no Paraná, o SINASC, SIM e SIMI. Os processos feitos foram: a
integração das bases e normalização dos dados; categorização e definição dos atributos;
limpeza dos dados; durante o processo de Mineração de Dados foram extraídas regras uti-
lizando a ferramenta Weka e o algoritmo de classificação C4.5, que utiliza o conceito de
árvore de decisão, diversos especialistas integrantes dos Comitês de Prevenção da Morta-
lidade Infantil acompanharam o processo para avaliarem se regras geradas pelo algoritmo
condiziam com o conhecimento que a área já possui. Os resultados obtidos demonstraram
que há viabilidade e possibilidade do uso de técnicas de Mineração de Dados no setor da
saúde pública pois permite conhecer o cenário e a eficácia das ações de melhoria. Ao veri-
ficar quais fatores são casuais e como eles influenciam os atributos, pode-se observar novas
características relacionadas a mortalidade infantil, elas podem ser utilizadas na constru-
ção de novas estratégias de ação para a redução de óbitos por favorecer informações que
permitem direcionar a atenção aos menores de idade em situação de risco e diminuir a
porcentagem de mortalidade no Paraná e futuramente em outras localidades. Conforme
o trabalho descrito, a presente pesquisa procura utilizar a Mineração de Dados em outro
setor público, ao gerar conhecimento e encontrar formas de predição, é possível melhorar
os serviços públicos oferecidos para a população e realocar os recursos economizados em
outras áreas.
Por ser um tipo de câncer muito frequente e por ter altas chances de cura quando
diagnosticado precocemente, Holsbach et al (2014) buscaram apresentar um método para
classificar os casos de câncer como malignos ou benignos afim de ajudar os profissionais no
processamento de informações geradas nos exames dos pacientes. Os dados foram obtidos
no Wisconsin Breast Cancer Database, inicialmente os dados foram divididos em porções
Capítulo 3. Trabalhos Relacionados 28
dentro ou fora do chat. Os assuntos no módulo de text mining são identificados a partir
do método de classificação de textos baseado em técnicas probabilísticas, o algoritmo é
baseado nos algoritmos Rocchio e Bayes. Sendo assim ele avalia a similaridade entre um
texto e um conceito utilizando uma função de similaridade que calcula a distância entre os
itens relacionados às mensagens do site e aos conceitos da ontologia, estes dados possuem
um peso que são multiplicados e somados, este valor é o grau de similaridade existente
entre a mensagem e o assunto. Apenas materiais de assuntos com graus mais elevados são
recomendados aos usuários. Os documentos são agrupados de acordo com algumas carac-
terísticas, como por exemplo, itens de maior acesso durante o último mês, mais acessado
por determinados usuários ou apenas documentos que possuem o assunto discutido no
site. O método produz uma classificação graduada, onde mais de um assunto pode ser
identificado em uma mensagem, porém com graus diferentes. O sistema oferece resultados
melhores quanto à relevância de assuntos mais gerais do que para aqueles específicos. Este
trabalho apresenta outras formas de adquirir conhecimento em bases de dados através da
utilização de métodos de classificação baseadas em técnicas probabilísticas.
30
4 DESENVOLVIMENTO
∙ cancelamento de aulas;
∙ véspera de feriado, indica se o dia em que o dado foi coletado é véspera de algum
feriado;
∙ pós feriado, indica se o dia em que o dado foi coletado é depois de algum feriado;
∙ fim de período, indica se o dia em que o dado foi coletado corresponde aos 15 últimos
dias do período;
∙ inicio de período, indica se o dia em que o dado foi coletado corresponde aos 15
primeiros dias do período;
∙ dia de matricula, indica se no dia em que o dado foi coletado houve matricula de
calouros no Campus de João Monlevade;
∙ aulas extras no período da manhã, indica se existe alguma turma fazendo aula no
período da manhã;
∙ semana de exame especial, indica se o dia em que o dado foi coletado pertence a
semana do exame especial;
∙ cardápio do almoço e do jantar, indica qual é o cardápio no dia em que o dado foi
coletado.
Capítulo 4. Desenvolvimento 32
A coleta dos dados teve inicio no mês de junho de 2014. Inicialmente foram co-
letados os dados anteriores a este período, depois, no inicio de cada mês os dados do
mês anterior foram repassados pela administração do restaurante e adicionados aos ou-
tros dados coletados de diversas outras fontes, como site da UFOP e nas secretarias dos
departamentos e colegiados.
4.2 PRÉ-PROCESSAMENTO
Após a coleta, todos os dados foram armazenados em uma planilha do LibreOffice,
lá eles foram transformados em dados numéricos.
Variáveis com valores sim e não receberam 1 em caso positivo e 0 em caso negativo.
O cardápio foi descrito em um arquivo separado e depois enumerado, dessa forma foi
repassado para a planilha apenas o número referente ao cardápio descrito no arquivo de
texto. A quantidade de comensais no almoço e no jantar foi discretizada substituindo
os valores inteiros por atributos discretos, o intervalo considerado foi de 10 números, os
limites inferior e superior foram definidos de acordo com a menor e maior quantidade de
comensais em uma refeição, sendo eles 0 e 400.
Porém, após a decisão de utilizar a tarefa de regressão, os dados relativos à quan-
tidade de comensais no almoço e no jantar foi novamente inserida na tabela, desta vez
com os valores reais que possuíam. A normalização dos dados se manteve em valores
pertencentes ao grupo 0 e 1 (verdadeiro ou falso) e enumerados no caso dos cardápios.
O Campus de João Monlevade contou com um aumento considerável do número
de alunos durante o período em que os dados foram coletados, os cursos de Engenharia
Elétrica e de Engenharia de Computação foram inaugurados no segundo semestre de 2009,
com isso o Campus passou a receber 80 novos alunos a cada semestre até o primeiro período
de 2014, quando completaram os 10 períodos completos dos cursos. Com o crescimento da
comunidade acadêmica o número de comensais também foi crescendo, por este motivo, a
base de dados foi sub-dividida em anos a fim de encontrar padrões no cenário de acréscimo
de 160 alunos por ano. A base de dados poderia ser dividida também por períodos,
utilizando o cenário de acréscimo de alunos semestral. Porém a quantidade de dados seria
ainda menor e poderia comprometer os resultados.
A base de dados também foi sub-dividida de acordo com a mudança no cardápio.
Houveram diversas mudanças desde a inauguração até o fim de 2014 para se adequar as
preferências e exigências dos comensais, principalmente nos dois primeiros anos de funci-
onamento em 2010 e 2011, porém, como os dados coletados são a partir de 2011, podemos
observar que as bases do primeiro, segundo e terceiro cardápio foram criadas com da-
dos deste ano, mostrando a constante necessidade de trocas até chegar a um cardápio
satisfatório. As refeições a serem substituídas foram definidas pela queda do número de
Capítulo 4. Desenvolvimento 33
comensais no dia em que elas eram servidas e através de pesquisas de satisfação que foram
feitas a fim de melhorar a qualidade do atendimento. É preciso salientar também que hou-
veram duas empresas responsáveis pelo fornecimento da alimentação para o Restaurante,
o que contribui significativamente na aceitação da comunidade acadêmica pelas refeições
oferecidas. De acordo com estas informações, a cada mudança de cardápio uma nova base
de dados foi gerada, resultando em 4 bases diferentes.
Desta forma além da base de dados Principal, que contém todos os registros do
restaurante, foram criadas as bases 2011, 2012, 2013 e 2014, referentes aos registros sepa-
rados por ano, e as bases Um, Dois, Três e Quatro referentes às mudanças do cardápio,
totalizando 9 bases diferentes.
Durante o pré-processamento dos dados, após a base de dados ser concluída, foi
possível fazer uma análise estatística dos dados através de representações gráficas. Foi
utilizada para tais representações a Base Completa, sendo possível ver a disposição de
alguns atributos com relação à frequência com que aparecem entre os dados. A Base
Completa conta com 755 registros coletados entre os anos de 2011 a 2014.
No diagrama da Figura 2, pode-se verificar que em aproximadamente 65% dos dias
o número de refeições servidas diariamente no almoço esteve dentro do intervalo de 165 a
315. Pode-se ressaltar que as maiores ocorrências de refeições servidas encontra-se entre
215 a 240.
Figura 2 – Histórico das refeições servidas no almoço - Fonte: Desenvolvido pela autora
Figura 3 – Histórico das refeições servidas no jantar - Fonte: Desenvolvido pela autora
Figura 4 – Histórico das refeições que sobraram no almoço - Fonte: Desenvolvido pela autora
Figura 5 – Histórico das refeições que sobraram no jantar - Fonte: Desenvolvido pela autora
Ao analisar os dois diagramas, pode-se observar que na maioria das vezes o número
de refeições que sobra no jantar é o dobro do que sobra no almoço. Considerando que o
restaurante recebe no jantar menos comensais que no almoço, podemos verificar que há
uma aceitação menor das refeições servidas jantar, onde ocorre o maior desperdício de
alimentos.
No diagrama da Figura 6, pode-se verificar que em aproximadamente 55% dos dias
o número de refeições que faltam no almoço varia entre 5 a 20 refeições, não é um número
tão alto e o restaurante consegue na maioria das vezes mandar a quantidade de refeições
que faltam, o único problema é o tempo de espera e em algumas vezes a mudança do
cardápio.
Figura 6 – Histórico das refeições que faltaram no almoço - Fonte: Desenvolvido pela autora
Figura 7 – Histórico das refeições que sobraram no jantar - Fonte: Desenvolvido pela autora
40
6 EXPERIMENTOS E ANÁLISES
de erros.
6.1 EXPERIMENTOS
Inicialmente os testes foram feitos utilizando apenas os atributos descritos na Seção
4 e separados entre as 9 bases de dados descritas anteriormente. O cardápio servido pelo
restaurante se manteve estável durante o ano de 2014, por isso a Base de 2014 sofreu
menos variação em seus dados. Outro motivo para que a Base de 2014 fosse a escolhida
para a aplicação da MD, é o fato de que a quantidade de alunos que frequentam o Campus,
vinha aumentando desde 2009 e se normalizou no segundo semestre de 2014. Deste modo,
esta base é a que melhor representa o Campus no cenário atual e foi utilizada para a
realização dos testes.
Todos os testes feitos foram divididos de acordo com o horário de funcionamento
do restaurante separadamente, ou seja, almoço e jantar. A divisão da base de dados
realizada pela Weka foi a Use training set. Ela utiliza o próprio conjunto de treinamento
para realizar os testes. Os parâmetros utilizados nos testes foram os default da própria
Weka. Nesta Seção os testes são explicados em tabelas separadamente, porém, na Tabela
14 que encontra-se no Apêndice A é possível ter uma visão geral dos testes.
De todos os atributos mencionados como possíveis influências sobre a presença ou
ausência de comensais no restaurante, foi possível realizar a coleta dos seguintes: ano,
mês, dia da semana, sobra do almoço, sobra do jantar, pré feriado, pós feriado, fim de
período, inicio de período, dia de matricula, exame especial, cardápio do almoço e car-
dápio do jantar. O teste que continha essas variáveis separadas entre almoço e jantar foi
denominado Teste 1. A correlação do almoço na Tabela 2 foi classificada como forte e a
correlação do jantar é classificada como fortíssima, este resultado indica que os atributos
iniciais escolhidos para descrever o problema do RU apresentam grande relação entre si
e entre o atributo que pretende-se prever. Apesar de sozinhos não serem capazes de mo-
delar o problema como um todo, estes atributos indicam que as observações feitas pela
administração do RU estão corretas. Porém, ainda há necessidade de encontrar outros
atributos capazes de caracterizar a rotina dos comensais.
teste com o acréscimo das reuniões na Base 2014 foi denominado Teste 2 e seus resultados
podem ser vistos na Tabela 3. Podemos observar que os resultados são iguais aos do Teste
1, pois pelo fato de que cada um dos 4 departamentos do ICEA possui em média 20
funcionários entre professores e secretários presentes em cada reunião. Este número não
traz grandes alterações no número de comensais visto que nem todos fazem suas refeições
no restaurante. Outra explicação está na quantidade de reuniões, geralmente são duas por
mês e em dias diferentes para cada departamento.
Apesar da Weka apresentar uma mensagem junto aos resultados sobre a quantidade
de instâncias ignoradas devido às classes desconhecidas, foi realizada uma limpeza manual
dos dados, onde diversos dados incompletos foram retirados da base a fim de verificar se
a melhoria na qualidade dos dados acarretaria em resultados melhores, este teste foi
denominado Teste 5. Na Tabela 6 os resultados se mostraram melhores para o almoço.
Os coeficientes de correlação apresentaram queda nos valores, porém, apenas no jantar
mudou a sua classificação de correlação fortíssima para forte. A classificação do almoço se
manteve como forte. Em contra partida a constante melhoria dos resultados para o almoço,
observa-se que o teste apresentado na Tabela 3 é o que apresenta melhor resultado para
o jantar.
resultados para o almoço e jantar. Apesar do acréscimo na média de erros do almoço, ele
oferece bons resultados utilizando uma única base de dados com atributos diferentes.
∙ mês;
∙ dia do mês;
∙ dia da semana;
∙ sobra do jantar
∙ véspera de feriado;
∙ fim de período;
∙ cardápio do almoço;
∙ cardápio do jantar;
∙ reuniões do almoço;
∙ reuniões do jantar;
∙ época;
∙ comensais do almoço;
∙ mês;
∙ sobra do jantar;
∙ véspera de feriado;
∙ fim de período;
∙ cardápio do almoço;
Capítulo 6. Experimentos e Análises 46
∙ cardápio do jantar;
∙ reuniões do almoço;
∙ reuniões do jantar;
∙ época;
∙ comensais do almoço;
∙ comensais do jantar.
“máximo” de melhorias possíveis. Por isso, para a realização do Teste 12 foi utilizado o
algoritmo SMO descrito em 2.4.2, que utiliza outra abordagem para a construção de
modelos.
O algoritmo possui os seguintes parâmetros: 𝑐 que define a complexidade, debug
que mostra ou não informações adicionais na saída, filterType que determina a forma
como os dados serão transformados, kernel informa qual função kernel será utilizada e
regOptimizer que indica qual o algoritmo de aprendizado é utilizado. Para a utilização
do SMO foram utilizados os valores padrão da ferramenta, sendo eles: 𝑐 0, debug false,
filterType Normalize training data, kernel PolyKernel -C 250007 -E 1.0 e regOptimizer
RegSMOImproved -L 0.001 -W1 -P1.0E-12-T0.001-V
Os resultados apresentados na Tabela 13 indicam correlação forte no almoço e
fortíssima no jantar, a média de erro encontrada foi 11 refeições para o almoço e 7 refeições
para o jantar. O modelo gerado pelo algoritmo pode ser observado no Apêndice.
REFERÊNCIAS
Bradley PS, Fayyad UM, Mangasarian OL (1999) Mathematical programming for data
mining: formulations and challenges. INFORMS Journal on Computing 14, 15, 17, 18
Brito NM, JUNIOR OPdA, Polese L, Ribeiro ML (2003) Validação de métodos analíticos:
estratégia e discussão. Pesticidas: Revista de Ecotoxicologia e Meio Ambiente 23
Fayyad U, Piatetsky-Shapiro G, Smyth P (1996a) The kdd process for extracting useful
knowledge from volumes of data. Communications of the ACM 15
Fayyad U, Shapiro GP, Padhraic S (1996b) From data mining to knowledge discovery in
databases. AI Magazine 9, 14, 15
Fayyad U, Shapiro GP, Padhraic S (1996c) Knowledge discovery and data mining: Towards
a unifying framework. KDD 18
Garin RS, Lichtnow D, Palazzo LAM, Loh S, Kampff AJC, Primo TT, Oliveira JPMd,
Lima JVd (2006) O uso de técnicas de recomendação em um sistema de apoio à apren-
dizagem colaborativa. Revista brasileira de informática na educação 28
Goebel M, Gruenwald L (1999) A survey of data mining and knowledge discovery software
tools. SIGKDD Explorations 16, 17, 18, 19, 21
Han J, Kamber M, Pei J (2011) Data mining: concepts and techniques. Elsevier 23
Junior GMdO (2010) Máquina de vetores suporte: estudo e análise de parâmetros para
otimização de resultado. PhD thesis, Universidade Federal de Pernambuco 19
Lippi1 TAP, do Amaral TG, Tabai KC, Nascimento MRF (2004) Restaurante univer-
sitário: avaliação do serviço de alimentação da universidade federal rural do rio de
janeiro–ufrrj. Rev Univ Rural, Sér Ciências Humanas 26
Martins AIM (2008) Implementação do frex svm: Máquinas de vetor suporte para clas-
sificação de múltiplas classes. PhD thesis, Pontifícia Universidade Católica do Rio de
Janeiro 19
Ricarte MPR, Fé MABM, Santos IHVdS, Lopes AKM (2008) Avaliação do desperdício
de alimentos em uma unidade de alimentação e nutrição institucional em fortaleza-ce.
Saber Científico 26
Rocha JC, Matos FD, Frei F (2011) Utilização de redes neurais artificiais para a deter-
minação do número de refeições diárias de um restaurante universitário. Revista de
Nutrição 26, 42
Vianna RCXF, de Barra CMCM, Moysés SJ, Carvalho D, Nievola JC (2010) Mineração
de dados e características da mortalidade infantil. Cad Saúde Pública 27
51
A APÊNDICE
Relation: TCC-weka.filters.unsupervised.attribute.Remove-R15,19
Instances: 223
Attributes: 18
id_ano
id_mes
dia_mes
dia_semana
sobra_almoco
sobra_janta
vespera_feriado
pos_feriado
fim_periodo
inicio_periodo
dia_matricula
aula_extra_manha
exame_especial
cardapioAlmoco
reunioes_almoco
reunioes_jantar
epoca
comensais_almoco
Test mode:evaluate on training data
SMOreg
A APÊNDICE
Relation: TCC
Instances: 222
Attributes: 20
id_ano
id_mes
dia_mes
dia_semana
sobra_almoco
sobra_janta
vespera_feriado
pos_feriado
fim_periodo
inicio_periodo
dia_matricula
aula_extra_manha
exame_especial
cardapioAlmoco
cardapioJantar
reunioes_almoco
reunioes_jantar
epoca
comensais_almoco
comensais_janta
Test mode:evaluate on training data
SMOreg
Teste Variáveis Almoço R Alm. MEA Alm. Variáveis Jantar R Jan. MEA Jan.
1 id_ano, id_mes id_ano, id_mes
dia_mes dia_mes
dia_semana dia_semana
sobra_almoco sobra_janta
vespera_feriado vespera_feriado
pos_feriado pos_feriado
fim_periodo 0.8254 31.1194 fim_periodo 0.9095 15.3579
inicio_periodo inicio_periodo
dia_matricula exame_especial
aula_extra_manha cardapioJantar
exame_especial comensais_janta.
cardapioAlmoco
comensais_almoco.
2 id_ano, id_mes id_ano, id_mes
dia_mes dia_mes
dia_semana dia_semana
sobra_almoco sobra_janta
vespera_feriado vespera_feriado
pos_feriado 0.8254 31.1194 pos_feriado 0.9095 15.3579
fim_periodo fim_periodo
inicio_periodo inicio_periodo
continua para próxima página
58
Apêndice A. Apêndice
continuação da página anterior
dia_matricula exame_especial
aula_extra_manha cardapioJantar
exame_especial reunioes_jantar
cardapioAlmoco comensais_janta
reunioes_almoco
comensais_almoco
3 id_mes id_mes
dia_semana dia_semana
vespera_feriado vespera_feriado
pos_feriado 0.7682 25.7995 pos_feriado 0.82 31.4826
dia_anterior_almoco dia_anterior_jantar
media_mes_almoco media_mes_jantar
media_ultima_semana media_ultima_semana
comensais_almoco comensais_janta
4 dia_semana dia_semana
sobra_almoco sobra_almoco
sobra_janta sobra_janta
vespera_feriado vespera_feriado
pos_feriado pos_feriado
fim_periodo fim_periodo
inicio_periodo 0.8107 24.9581 inicio_periodo 0.9317 15.4262
dia_matricula dia_matricula
aula_extra_manha aula_extra_manha
continua para próxima página
59
Apêndice A. Apêndice
continuação da página anterior
exame_especial exame_especial
cardapioAlmoco cardapioAlmoco
reunioes_almoco cardapioJantar
reunioes_jantar reunioes_almoco
epoca reunioes_jantar
comensais_almoco epoca
comensais_almoco
comensais_janta
5 id_ano, id_mes id_ano, id_mes
dia_mes dia_mes
dia_semana dia_semana
sobra_almoco sobra_janta
vespera_feriado vespera_feriado
pos_feriado pos_feriado
fim_periodo 0.7978 24.1478 fim_periodo 0.8945 17.3161
inicio_periodo inicio_periodo
dia_matricula exame_especial
aula_extra_manha cardapioJantar
exame_especial reunioes_jantar
cardapioAlmoco epoca
reunioes_almoco comensais_janta
epoca
comensais_almoco
continua para próxima página
60
Apêndice A. Apêndice
continuação da página anterior
6 id_ano, id_mes id_ano, id_mes
dia_mes dia_mes
dia_semana dia_semana
sobra_almoco sobra_janta
vespera_feriado vespera_feriado
pos_feriado 0.8973 24.2401 pos_feriado 0.8983 16.2653
fim_periodo fim_periodo
inicio_periodo inicio_periodo
dia_matricula exame_especial
aula_extra_manha cardapioJantar
exame_especial reunioes_jantar
cardapioAlmoco epoca
reunioes_almoco comensais_janta
epoca
comensais_almoco
7 id_ano, id_mes id_ano, id_mes
dia_mes dia_mes
dia_semana dia_semana
vespera_feriado vespera_feriado
pos_feriado pos_feriado
fim_periodo fim_periodo
inicio_periodo 0.8172 23.5495 inicio_periodo 0.9277 15.5625
dia_matricula dia_matricula
continua para próxima página
61
Apêndice A. Apêndice
continuação da página anterior
aula_extra_manha aula_extra_manha
exame_especial exame_especial
cardapioAlmoco cardapioAlmoco
reunioes_almoco cardapioJantar
reunioes_jantar reunioes_almoco
epoca reunioes_jantar
comensais_almoco epoca
comensais_almoco
comensais_janta
8 id_ano, id_mes id_ano
dia_mes id_mes
dia_semana dia_mes
sobra_almoco dia_semana
vespera_feriado sobra_janta
pos_feriado vespera_feriado
fim_periodo 0.9035 23.8602 pos_feriado 0.9068 16.0528
inicio_periodo fim_periodo
dia_matricula inicio_periodo
aula_extra_manha exame_especial
exame_especial cardapioJantar
cardapioAlmoco reunioes_jantar
reunioes_almoco epoca
epoca comensais_janta
continua para próxima página
62
Apêndice A. Apêndice
continuação da página anterior
comensais_almoco
9 id_mes id_ano
dia_mes id_mes
dia_semana dia_mes
sobra_almoco 0.9179 21.1982 dia_semana 0.9068 16.0528
vespera_feriado sobra_janta
pos_feriado vespera_feriado
fim_periodo pos_feriado
inicio_periodo fim_periodo
dia_matricula inicio_periodo
aula_extra_manha exame_especial
exame_especial cardapioJantar
cardapioAlmoco reunioes_jantar
reunioes_almoco epoca
epoca festa
festa comensais_janta
comensais_almoco
10 id_mes id_mes
dia_mes sobra_janta
dia_semana vespera_feriado
sobra_janta fim_periodo
vespera_feriado 0.9232 15.2352 aula_extra_manha 0.9431 12.9997
fim_periodo cardapioAlmoco
continua para próxima página
63
Apêndice A. Apêndice
continuação da página anterior
inicio_periodo cardapioJantar
aula_extra_manha reunioes_almoco
cardapioAlmoco reunioes_jantar
cardapioJantar epoca
reunioes_almoco comensais_almoco
reunioes_jantar comensais_janta
epoca
comensais_almoco
11 id_ano, id_mes id_ano, id_mes
dia_mes dia_mes
dia_semana dia_semana
sobra_almoco sobra_almoco
sobra_janta sobra_janta
vespera_feriado vespera_feriado
pos_feriado 0.9178 15.8903 pos_feriado 0.9617 11.5681
fim_periodo fim_periodo
inicio_periodo inicio_periodo
dia_matricula dia_matricula
aula_extra_manha aula_extra_manha
exame_especial exame_especial
cardapioAlmoco cardapioAlmoco
cardapioJantar cardapioJantar
reunioes_almoco reunioes_almoco
continua para próxima página
64
Apêndice A. Apêndice
continuação da página anterior
reunioes_jantar reunioes_jantar
epoca epoca
comensais_almoco comensais_almoco
comensais_janta
12 id_ano, id_mes id_ano, id_mes
dia_mes dia_mes
dia_semana dia_semana
sobra_almoco sobra_almoco
sobra_janta sobra_janta
vespera_feriado vespera_feriado
pos_feriado 0,888 11,685 pos_feriado 0.9552 7.0406
fim_periodo fim_periodo
inicio_periodo inicio_periodo
dia_matricula dia_matricula
aula_extra_manha aula_extra_manha
exame_especial exame_especial
cardapioAlmoco cardapioAlmoco
reunioes_almoco cardapioJantar
reunioes_jantar reunioes_almoco
epoca reunioes_jantar
comensais_almoco epoca
comensais_almoco
comensais_janta
65