Aplicação das técnicas de mineração de dados sobre as - Fatec-ID

Propaganda
Aplicação das técnicas de mineração de dados sobre as
características reprodutivas de suínos: estudo de caso de uma
granja do estado de São Paulo.
Luiz Fernando C. Felix1, Ms. Maria das Graças J. M. Tomazela1, Dr. Aldo
Nascimento Pontes1
1
Faculdade de Tecnologia de Indaiatuba (FATEC-ID) – Indaiatuba, SP – Brasil
[email protected], [email protected],
[email protected]
Abstract. This article presented the use of data mining technics applied to a
database of a swine productor from Sao Paulo state, where the objective was to
discover useful new information from that data. To build this study it was
realized a bibliographic research to concepts acquisition of KDD- Knowledge
Discovery in Databases process. After that it was utilized the algoritm K-means
to the efectivation of clustarization task. Base on that results it were created
Histograms to analyze the created clusters. The research was concluded using
the classification algorithms to check the predictive capacity of that model. It was
possible check that data mining technics had enough capability to support
managers to optimize the process of swine creation.
Resumo. Este artigo apresenta o uso de técnicas de mineração de dados em uma
base de dados de uma granja produtora de suínos no interior do estado de São
Paulo, para se descobrir informações novas e úteis, a partir desses dados. Para
a realização deste estudo foi realizada pesquisa bibliográfica para aquisição de
conceitos do Processo de Descoberta de Conhecimento (KDD- Knowledge
Discovery in Databases). Em seguida foi utilizado o algoritmo K-means para
efetivação da tarefa de Clusterização. Com os resultados gerados pela
clusterização foram elaborados histogramas, para que fosse possível analisar os
clusters criados. O trabalho se encerrou com a utilização de algoritmos de
classificação para verificação da capacidade preditiva do modelo de clusters
gerado. Foi possível verificar que técnicas de mineração de dados são capazes
de auxiliar os gestores na otimização do processo de criação de suínos.
1. Introdução
O aumento significativo da produção de suínos torna cada vez mais importante o controle
das informações sobre o sistema reprodutivo das matrizes.
Pensando na enorme quantidade de dados capturada no setor suinícolo, torna-se cada
vez mais inviável a análise humana desses dados, dessa forma é necessária a utilização de
técnicas e ferramentas computacionais capazes de analisar e descobrir algo novo a partir
dos dados armazenados, proporcionando conhecimento novo e útil.
O processo de Descoberta de Conhecimento em Base de Dados (Knowledge
Discovery in Databases- KDD) realiza análise inteligente dos dados por meio das técnicas
de mineração de dados, sendo dirigido pelo analista de dados que é o elemento principal de
todo o processo.
Uma das definições de KDD mais utilizadas é a de Fayyad et al. (1996, p.30) que
diz: “KDD é um processo, de várias etapas, não trivial, interativo e iterativo, para a
identificação de padrões compreensíveis, válidos, novos e potencialmente úteis a partir de
grandes conjuntos de dados”.
O processo de KDD é dividido em três partes: pré-processamento, mineração de
dados e, pós-processamento.
A etapa de pré-processamento consiste em funções relacionadas à captação,
organização, tratamento e a preparação dos dados a serem utilizados na próxima etapa que
é a mineração de dados. Pode-se afirmar que esta etapa possui uma enorme relevância para
o processo de KDD por garantir que dados faltosos e redundantes não interfiram nos
resultados da próxima etapa que é a mineração de dados (GOLDSCHMIDT; PASSOS,
2005).
Mineração de dados é um processo que necessita arduamente da interação entre
homens e máquinas, sendo esta etapa capaz de extrair conhecimento em enormes bases de
dados por meio da descoberta de padrões e de relacionamento entre variáveis. Os
conhecimentos são considerados válidos e confiáveis por se originarem de técnicas que
possuem uma grande expressividade estatística (CORTÊS et al., 2002).
A etapa de pós-processamento pode ser considerada como a união entre o usuário e o
resultado da etapa de mineração de dados, utilizando-se ferramentas computacionais
capazes de exibir de forma compreensível para o homem o resultado do processo de KDD.
As técnicas de mineração de dados estão inseridas em um contexto maior
denominado Tarefas de Mineração. As tarefas de mineração de dados possuem capacidade
de predizer ou descrever algo no conjunto de dados (NONATO, 2010). Neste trabalho
foram utilizadas as tarefas de Classificação que é um tipo de tarefa preditiva e a
Clusterização, que é uma tarefa descritiva.
A tarefa de Classificação segundo Goldschmidt e Passos (2005) tem a funcionalidade
de classificar cada registro de um banco de dados a um rótulo denominado classe. Após a
identificação desses rótulos, torna-se possível a classificação de novos registros de forma a
prever em quais classes esses registros se enquadram.
Agrupamento ou clusterização tem a capacidade de particionar os objetos em classes
de objetos por meio da relação ou similaridade entre esses objetos (AMO, s.d.). O
particionamento é feito visando diminuir a similaridade intercluster e aumentar a
similaridade intracluster, de forma que elementos de um mesmo cluster compartilhem
propriedades comuns entre si.
As pesquisas na área suinícola buscam cada vez mais aumentar a eficiência
reprodutiva dos animais por meio de novas técnicas, métodos e ferramentas. Segundo
Lopes (2005) já existem técnicas moleculares capazes de predizer ou de descrever um
animal antes mesmo desse obter sua idade adulta. Mais conhecidos como marcadores
moleculares, essas técnicas conseguem obter informações sobre características, tais como,
tamanho da leitegada1, produção de leite, taxa de ovulação, qualidade da carne, dentre
outras.
Segundo Brasil (2011), “A qualidade genética dos reprodutores de um sistema de
produção é considerada a base tecnológica de sustentação de sua produção”.
1
Número de leitões de uma parição.
Para a escolha da linhagem de fêmeas, geralmente a principal característica avaliada
é o número de leitões nascidos, entretanto outras características maternas também são
levadas em consideração como a produção de leite, facilidade de parto, espaçamento
uteriano e outras (LOPES, 2005).
Na seção a seguir serão descritos os procedimentos metodológicos necessários para a
aplicação das técnicas de mineração de dados em uma base de dados suinícola.
2. Materiais e métodos
Os dados obtidos para a realização deste trabalho pertencem a uma granja do interior do
estado de São Paulo, extraídos do programa PigChamp que é capaz de controlar
informações referentes à vida toda dos indivíduos. O sistema PigChamp possui uma alta
expressividade nas informações, e com isso foi possível obter os dados referentes à
reprodução das matrizes por meio de relatórios em formato de arquivo texto (.txt),
referentes aos anos de 2010, 2011 e 2012.
Para a obtenção de conhecimento na etapa de mineração de dados, foi utilizada a
ferramenta Weka2 (Waikato Environment for Knowledge Analysis) por implementar os
algoritmos necessários para a realização deste trabalho. A ferramenta foi desenvolvida em
linguagem Java pelo curso de Ciência da Computação da Universidade de Waikato na
Nova Zelândia, capaz de exibir os resultados da etapa de mineração por meio de
histogramas, gráficos, árvores de decisão e outros.
Na base de dados obtida existem três linhagens que atualmente são as linhagens
ativas no plantel: C40, C20 e S10. As três linhagens são fêmeas F1, sendo a linhagem C40
um cruzamento da raça Large White da linha 20 (paterna) com a raça Pietrain da linha 30,
a linhagem C20 um cruzamento da raça Landrace TNNNN (paterna) com a raça Large
White TZZZZ (materna), e a linhagem S10, um experimento da granja que não será descrito
aqui por restrições impostas pela empresa que cedeu os dados para elaboração deste
estudo.
A escolha dos atributos que foram utilizados no processo de KDD baseou-se
principalmente na orientação da especialista do domínio de aplicação, que no caso foi a
veterinária responsável pela avaliação da reprodução e do desempenho das linhagens da
granja. Os atributos escolhidos foram:
 ID: número de identificação único de cada fêmea na base de dados.
 Parição: número de partos que cada fêmea possui. O número de partos varia
de fêmea para fêmea, sendo impossível determinar um limite de partos.
 Total de Nascidos: número de leitões nascidos, independente dos mesmos
nascerem vivos ou mortos.
 Número de Nascidos Vivos: número de leitões nascidos com vida.
 Peso Leitegada Nascida: peso dos leitões que nasceram com vida.
 Total de Desmamados: número de leitões desmamados de uma matriz com
aproximadamente 21 dias de idade.
 Peso dos Desmamados: peso dos leitões desmamados sem o cálculo para
ajuste de idade aos 21 dias.
2
Ferramenta Weka disponível em: < http://dl.cdn.baixaki.com.br/programas/46312/weka-378-baixaki-32bits-b9c74f28b5e8960360a736bcb0b275c5.exe>

Linhagem: tipo genético de uma fêmea.
Inicialmente foi realizada a conversão dos dados, extraídos do sistema PigChamp, do
formato texto para o formato CSV, por ser esse um dos formatos com o qual a ferramenta
Weka trabalha. A conversão foi feita por meio do programa Microsoft Excel e, após a
conversão, os dados foram ordenados pelo atributo linhagem, facilitando a visualização das
instâncias que não apresentavam essa informação, considerada a mais importante no
contexto deste trabalho. Essas instâncias foram excluídas para que não houvesse perda na
qualidade da etapa da mineração de dados. Ressalta-se que essa exclusão foi possível
porque o número de instâncias que não possuíam valor no atributo linhagem não era
considerado representativo. Foram eliminadas 136 instâncias, num total de 17.404 linhas.
Em seguida, foi aplicado o método Standardize, disponibilizado pela ferramenta
Weka, que normaliza os dados utilizando média e desvio padrão, por meio do modelo
matemático denominado Z-score. Esse processo é necessário na realização da tarefa de
clusterização, para garantir que determinados atributos não dominem a formação dos
clusters, uma vez que o algoritmo k-means utiliza cálculo de distância no agrupamento das
instâncias.
3. Mineração de dados e Análise dos resultados
Na etapa de mineração foram utilizadas as tarefas de clusterização e classificação.
Primeiramente foram aplicados os algoritmos de clusterização para se encontrar as
características escondidas no conjunto de dados, impossíveis de se perceber analisando a
base de dados inteira. Depois de formados os clusters e elaborados os histogramas para
identificação das características presentes nesses clusters, foram aplicadas as técnicas de
classificação para a verificação da capacidade preditiva do algoritmo de clusterização.
A etapa de clusterização foi considerada a mais árdua para a realização deste
trabalho, pois a maior parte do tempo, esta tarefa exigiu um alto empenho em análise para
que se encontrasse alguma característica em comum entre os dados de um mesmo cluster.
Foi necessário encontrar primeiramente o número de clusters ideal para que fosse
possível verificar alguma característica nova, útil, e válida para o contexto da aplicação.
Dessa forma foi realizada a clusterização dos dados com o algoritmo EM (Expectation
Maximization), por esse algoritmo ser capaz de definir o número de clusters que devem ser
formados. O algoritmo retornou 5 clusters, porém ao analisar esses clusters, foi possível
perceber que os três primeiros possuíam uma grande concentração de dados da linhagem
C40. Sendo assim definiu-se que seria mais apropriado a criação de três clusters e por essa
razão o algoritmo de clusterização escolhido para dar sequência ao processo de mineração
de dados foi o k-means (no Weka denominado Simple Kmeans), que possibilita a
especificação do número de clusters.
Na criação dos três clusters percebeu-se que os dois primeiros clusters possuíam
também uma maior concentração de dados da linhagem C40. Devido a esses resultados,
optou-se por realizar o processo de clusterização para cada uma das três linhagens
existentes.
Para a clusterização por linhagem também foi estabelecido inicialmente a divisão em
3 clusters. Ao se analisar os três clusters formados de cada linhagem, notou-se que a
linhagem C40 apresentou novamente uma clusterização mais adequada do que as demais,
pois era possível identificar características distintas entre os clusters. Na clusterização das
linhagens C20 e S10, os três clusters formados apresentaram uma uniformidade nas
características avaliadas, não apresentando similaridades intraclusters e diferenças
interclusters. O motivo para essa clusterização ser considerada ruim pode ser o baixo
número de instâncias pertencentes a cada linhagem, sendo 940 instâncias da linhagem C20
e 4.761 instâncias da linhagem S10, números consideravelmente baixos com relação ao
número de instâncias da linhagem C40 que foi de 11.567.
Após esses resultados iniciais, definiu-se que seria melhor investigar as
características presentes na clusterização da linhagem C40, por esta linhagem estar em
maior proporção, e consequentemente por apresentar mais informações sobre toda a vida
reprodutiva das matrizes, considerando-se que foi mantida a divisão em 3 clusters.
Para a análise dos clusters gerados, foram criados histogramas para cada variável de
cada cluster.
No início da análise, percebeu-se que os três clusters formados estavam com as
parições bem distribuídas entre si.
No cluster 1 foi possível visualizar que havia uma quantidade maior de registros de
porcas e de parições, e que as matrizes eram mais novas do que as matrizes dos demais
clusters, sendo a taxa de parição desse cluster entre 1 e 2. A Figura 1 mostra o histograma
da variável Parição do cluster 1.
Figura 1: Parição Cluster 1.
No cluster 2 conforme Figura 2, observou-se que o número de registros diminuiu, e
que a taxa de parição das matrizes ficou entre 3 e 4.
Figura 2: Parição Cluster 2.
No cluster 3 conforme apresentado na Figura 3, percebe-se um número menor de
registros, e que as matrizes são mais velhas do que as dos demais clusters, coma taxa de
parição entre 5 e 6.
Figura 3: Parição Cluster 3.
Uma característica notória é que o cluster 1 agrupou as matrizes com 1 e 2 parições,
o cluster 2 agrupou as matrizes com 3 e 4 parições e finalmente no cluster 3 ficaram as
matrizes com 5 e 6 parições. Pode-se perceber também que o número de matrizes se reduz
do cluster 1 para o cluster 3. Não se pode afirmar o motivo pelo qual se tem essa diferença
no número de registros, mas pode-se observar que existe uma perda de matrizes no
decorrer das parições.
Na variável Total Nascidos do cluster 1, percebeu-se que a maioria das parições
apresentavam 13 leitões, com média de 11.79. A Figura 4 exibe o histograma da variável.
Figura 4: Total Nascidos Cluster 1.
Os clusters 2 e 3 apresentam uma distribuição parecida no Total Nascidos, com
médias de 12.94 e 13.19 respectivamente. A Figura 5 e a Figura 6 exibem os histogramas
da variável dos clusters.
Figura 5: Total Nascidos Cluster 2.
Figura 6: Total Nascidos Cluster 3.
Ao se analisar a média do cluster 1 e a média do cluster 3, respectivamente 11.79 e
13.19, pode-se perceber a perda de mais de 1 leitão por leitegada nascida, o que faz muita
diferença quando se fala em produtividade.
O número de leitões nascidos vivos apresentou características similares com o Total
de Nascidos e por isso as figuras dos histogramas não serão apresentadas. A variável
Nascidos Vivos teve média de 10.99 no cluster 1, 12.07 no cluster 2 e 11.96 no cluster 3.
A diferença significativa nesta variável pôde ser percebida novamente entre o cluster 1 e o
cluster 3.
A variável Peso Leitegada Nascida também não apresentou muita discrepância nos
seus valores. As médias da variável nos clusters 1, 2 e 3 foram 15.13, 16.66, 16,48
respectivamente.
Observa-se também a partir das médias apresentadas, que os clusters 2 e 3
apresentam maiores vantagens sobre o cluster 1 no número de leitões nascidos, nos
nascidos vivos e no peso da leitegada nascida. Ou seja, pode-se dizer que porcas mais
velhas da linhagem C40 possuem eficácia maior para a produção de leitões do que as
porcas mais novas.
Até o momento foram descritas as principais características presentes nos atributos
que definem o desempenho das matrizes no período pré-natal, a partir de agora serão
descritas as características de pós-natal (considerando-se até a data do desmame). Essas
características mostram o desempenho que as fêmeas possuem para criar suas proles. Para
a avaliação dessas características, utilizaram-se os histogramas das variáveis Número de
Desmamados e Peso dos Desmamados.
Na análise realizada na variável Número de Desmamados não foi possível notar
qualquer diferença significativa. Nos três clusters o número de leitões desmamados por
leitegada ficou na faixa dos 13. Porém ao se observar as médias, notou-se que o cluster 1
obteve vantagem sobre os clusters 2 e 3, sendo médias de 11.01, 10.80 e 10.70
respectivamente. Ao contrário das características de pré-natal, as fêmeas do cluster 1
apresentaram um desempenho pós-natal maior do que as fêmeas dos clusters 2 e 3. Os
gráficos não serão exibidos por não apresentarem muita diferença na visualização.
Semelhantemente, a variável Peso dos Desmamados teve um melhor desempenho no
cluster 1 do que nos demais clusters. As médias dos clusters 1, 2 e 3 foram de 61.97, 60.84
e 58.46 respectivamente. Com isso pode-se afirmar que fêmeas mais novas da linhagem
C40 apresentam maior desempenho para desmamar leitões do que as fêmeas mais velhas,
sendo possível perceber uma diferença de ganho de peso de 3 quilos ou mais do cluster 1
para o cluster 3.
A Figura 7 e a Figura 8 ilustram melhor a diferença entre a faixa dos pesos do cluster
1 e do cluster 3.
Figura 7: Peso dos Desmamados Cluster 1.
Figura 8: Peso dos Desmamados Cluster 3.
A tabela 1 apresenta as médias dos atributos com seus respectivos desvios padrões
que foram utilizados no processo de clusterização, ressaltando novamente que as porcas
mais novas possuem maior capacidade para desmamar leitões do que as porcas mais
velhas, e que as porcas mais velhas de 3, 4, 5 e 6 parto possuem capacidade maior para
produzir leitões.
Tabela 1 - Descrição dos valores obtidos.
σ
N° de
Tot.
Tot.
Instân Parição Nasc.
Nasc.
cias
(Und.)
Nasc.
Vivos
(Und.)
σ
σ
σ
σ
Peso
Tot.
Peso
Nasc.
Peso.
Tot.
Peso.
Nasc.
Desm.
Desm.
Vivos
Nasc.
Desm.
Desm.
(KG)
(Und.)
(KG)
Cluster
5.905
1
Cluster
3.640
2
1 e 2 11.79 2.44
10.99
2.50 15.13 3.67 11.01 1.79 61.97 11.88
3 e 4 12.94 2.65
12.07
2.41 16.66 3.35 10.80 1.81 60.84 11.66
Cluster
2.022
3
5 e 6 13.19
11.96
2.75 16.48 3.97 10.70 1.83 58.46 10.81
3
Com isso finaliza-se a parte da análise dos clusters, considerada uma parte
importante do processo de KDD, pois os resultados apresentados aqui permitem comprovar
a potencialidade da aplicação das técnicas de mineração de dados, principalmente em uma
base de dados de produção de suínos.
O próximo passo foi utilizar técnicas e algoritmos capazes de verificar a capacidade
preditiva do modelo de clusters obtidos. Neste trabalho, foram utilizados os algoritmos de
classificação: J48 e NaiveBayes.
Os algoritmos de classificação utilizam uma parte do conjunto de dados para
treinamento e uma parte para validar o modelo. Neste trabalho foram utilizadas duas
abordagens: k-fold cross-validation (validação cruzada) e Percentage Split. O modo CrossValidation divide o conjunto de dados em k partes, separa uma parte para teste e realiza o
treinamento com as demais partes; este procedimento é repetido para todas as partes. A
acurácia final do modelo é a média das acurácias parciais calculadas para cada parte. A
validação cruzada apresenta bons resultados quando o conjunto de dados é pequeno. O
modo Percentage Split divide a base de dados em duas partes: uma parte para treinamento
e a outra para teste. Geralmente esta abordagem utiliza dois terços para o conjunto de
treinamento e um terço para o conjunto de teste.
A Tabela 2 apresenta a acurácia da classificação obtida com essas abordagens.
Tabela 2 - Resultados das abordagens.
Algoritmo
J48
NaiveBayes
K=10 Cross Validation
98.87%
98.65 %
Percentage Split
99.13%
98.21%
É possível perceber pelos resultados obtidos que o algoritmo J48 apresentou melhor
acurácia em relação ao algoritmo NaiveBayes nas duas abordagens, apesar de acurácia
apresentada pelo algoritmo NaiveBayes ser considerada alta.
Pode-se afirmar, a partir das acurácias obtidas, que é possível utilizar o modelo de
classificação gerado para a predição da classe de um novo registro.
Encerra-se com esses resultados a parte principal deste trabalho que foi a aplicação
das técnicas de mineração de dados e, a etapa de pós-processamento realizada na análise
dos clusters. Na próxima seção serão feitas as considerações finais deste trabalho,
ressaltando-se possíveis sugestões para os produtores de suínos.
4. Considerações finais
Com a grande capacidade de armazenamento dos dados, as empresas estão optando por
contratar especialistas que consigam realizar a análise desses dados de uma forma precisa e
confiável. Diante deste cenário o processo de KDD está sendo utilizado para se descobrir
algo novo e útil em um conjunto de dados.
Antes da aplicação das técnicas de clusterização os dados foram normalizados pelo
método Standardize, e em seguida foi realizada a clusterização dos dados. Após o modelo
de clusters serem gerados, esses foram avaliados pelas técnicas de classificação.
A análise dos clusters realizada neste trabalho tornou possível visualizar claramente
as características reprodutivas pertencentes à linhagem C40, auxiliando os produtores de
suínos a avaliarem as características reprodutivas das matrizes.
As características presentes no cluster 1 evidenciam que a grande maioria das fêmeas
do plantel eram de primeiro e segundo parto, e que essas fêmeas possuem uma capacidade
maior para desmamar leitões mais pesados do que as fêmeas das próximas parições.
Sugere-se então que leitões magros e com baixo índice de ganho de peso sejam colocados
em fêmeas mais novas.
As características presentes nos clusters 2 e 3 evidenciam que, fêmeas mais velhas
possuem capacidade maior para produzir leitões. Sugere-se aos produtores que aproveitem
a capacidade reprodutiva dessas matrizes, investindo principalmente em manejos e técnicas
de inseminação artificial, para se obter uma potencialização no número de leitões
produzidos.
As características descritas dos clusters gerados neste trabalho podem servir de
auxílio para os produtores de suínos que queiram avaliar ou potencializar o rendimento de
um plantel reprodutivo, que seja preferencialmente da linhagem C40.
5. Referências
AMO, Sandra de. Técnicas de Mineração de Dados.Disponível em
<http://www.lsi.ufu.br/documentos/publicacoes/ano/2004/JAI-cap5.pdf> Acesso em: 11
nov. 2012.
BRASIL: Manual brasileiro de boas práticas agropecuárias na produção de suínos.
Brasília: ABCS; MAPA; Concórdia, v.1, n.1. 2011. 140p.
CÔRTES, Sérgio da Costa; PORCARO, Rosa Maria; LIFSCHITZ, Sérgio. Mineração de
Dados – Funcionalidades, Técnicas e Abordagens. PUC-Rio, 2002. Disponível em:
<ftp://ftp.inf.puc-rio.br/pub/docs/techreports/02_10_cortes.pdf>Acesso em: 15 set. 2012.
FAYYAD, Usama; PIATETSKI-SHAPIRO, Gregory; SMYTH, Padhraic. The KDD
Process for Extracting Useful Knowledge from Volumes of Data. In: Communications of
the ACM, p.27-34, Nov.1996 Disponívelem: <http://citeseerx.ist.psu.edu/ viewdoc/
summary?doi=10.1.1.27.2315>Acessoem: 19 set. 2012.
GOLDSCHMIDT, Ronaldo; PASSOS, Emmanuel. Data Mining: Um guia Prático. Rio de
Janeiro: Elsevier, 2005.
LOPES, Paulo Sávio. Melhoramento Genético de Suínos. Material Didático da Disciplina
ZOO
461,
(2005).
Disponível
em:
<http://www2.ufersa.edu.br/
portal/view/uploads/setores/ 183/arquivos/MELHORAMENTO%20DE%20SUINOS.pdf>
Acessado em: 15 out. 2012.
NONATO, Robson Tavares. Aplicação de mineração de dados na identificação de áreas
cultivadas com cana-de-açúcar em imagens de sensoriamento remoto no estado de São
Paulo. Campinas, 2010. Dissertação (Mestrado em Engenharia Agrícola) - Universidade
Estadual de Campinas. Disponível em: <http://www.bibliotecadigital.unicamp.br
/document/ ?code =0 007 76407 &fd=y >. Acesso em: 17 set. 2012.
Download