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.