Algoritmos genéticos para seleção de atributos em problemas de classificação de processos de negócio - PDF
Download "Algoritmos genéticos para seleção de atributos em problemas de classificação de processos de negócio"
Ângelo Vasques Eger
1 Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação Algoritmos genéticos para seleção de atributos em problemas de classificação de processos de negócio Márcio Porto Basgalupp Porto Alegre Janeiro de 2007
3 Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação Algoritmos genéticos para seleção de atributos em problemas de classificação de processos de negócio Márcio Porto Basgalupp Dissertação apresentada como requisito parcial à obtenção do grau de mestre em Ciência da Computação Orientadora: Prof a. Dr a. Vera Lúcia Strube de Lima Porto Alegre Janeiro de 2007
5 Pontifícia Universidade Católica do Rio Grande do Sul Dados Internacionais de Catalogação na Publicação (CIP) B299a Basgalupp, Márcio Porto Algoritmos genéticos para seleção de atributos em problemas de classificação de processos de negócio / Márcio Porto Basgalupp. Porto Alegre, f. Diss. (Mestrado) Fac. de Informática, PUCRS. Orientador: Prof ª. Dr ª. Vera Lúcia Strube de Lima. 1. Informática. 2. Algoritmos Genéticos. 3. Processos de negócio. 4. Seleção de Atributos. I. Título. CDD Ficha Catalográfica elaborada pelo Setor de Processamento Técnico da BC-PUCRS Campus Central Av. Ipiranga, 6681 prédio 16 CEP Porto Alegre RS Brasil Fone: +55 (51) Fax: +55 (51)
9 Para minha mãe, avó e minhas irmãs.
11 Agradecimentos Aos professores e amigos Dr. João Baptista da Silva, Dr. João Artur de Souza e Dr a. Gertrudes Aparecida Dandolini, os quais contribuíram muito para o meu crescimento profissional e pessoal. À minha querida orientadora Prof a. Dr a. Karin Becker, a quem devo tudo o que aprendi durante o mestrado. Ao Prof. Dr. Duncan Dubugras Ruiz pelo apoio em todos os momentos em que precisei. À minha também orientadora Prof a. Dr a. Vera Lúcia Strube de Lima pela dedicação, atenção e disponibilidade na reta final do meu trabalho. À empresa Hewlett-Packard pelo apoio financeiro durante todo o tempo do mestrado. Aos colegas de mestrado, com os quais compartilhei bons momentos e que, diretamente ou indiretamente, influenciaram neste trabalho. À minha mãe Neida Mariza Veiga Porto e ao meu pai Jorge Luiz Basgalupp (in memoriam), responsáveis diretos por cada uma de minhas realizações. Aos meus demais familiares e amigos, simplesmente por existirem e fazerem parte da minha vida.
13 Resumo Um processo de negócio define um conjunto de atividades junto com os seus possíveis fluxos de execução e recursos necessários. Trabalhos da área de Business Intelligence (BI) têm destacado o papel da mineração de dados como instrumento facilitador da análise, previsão e otimização de processos de negócio. Uma das tarefas mais utilizadas da mineração de dados é a classificação, cujo objetivo é, dado um conjunto de dados ou instâncias de treino, induzir um modelo preditivo capaz de associar a cada instância sua classe ou categoria. Espera-se que este modelo seja bem sucedido na classificação de novas instâncias. No contexto de processos de negócio, o uso da classificação tem como objetivo entender as causas de determinados comportamentos e gerar modelos de predição do comportamento e do desempenho dos processos. Problemas práticos de classificação de padrões e descoberta de conhecimento requerem a seleção de subconjuntos de atributos preditivos para representar os padrões a serem classificados, pois a presença de atributos preditivos irrelevantes, redundantes ou em grande quantidade pode prejudicar a qualidade do modelo de classificação. Em classificação de processos de negócio, é bastante interessante a utilização de seleção de atributos, visto que a quantidade de atributos que caracterizam um processo pode ser enorme. Além dos atributos diretamente relacionados a uma instância de processo, também devem ser considerados os atributos pertencentes às atividades contidas neste processo. Assim, este trabalho propõe a utilização de algoritmos genéticos multiobjetivos para seleção de atributos em problemas de classificação de processos de negócio. Os resultados obtidos foram considerados satisfatórios, visto que os critérios utilizados na função de fitness, ou seja, os critérios a serem otimizados, foram melhorados. Problemas específicos do domínio de processos de negócio foram detectados. Esses problemas surgem em virtude da presença de caminhos alternativos e ordem de execução das atividades nos fluxos de processos. Embora tais problemas não sejam tratados no presente trabalho, são apresentadas possíveis soluções a serem abordadas em trabalhos futuros. Palavras-chave: processos de negócio, seleção de atributos, classificação e algoritmos genéticos.
15 Abstract A business process defines a set of activities along with their possible execution flows and their necessary resources. Business Intelligence (BI) projects have been show the importance of the data mining techniques to analysis, prediction and optimization of business processes. One of the most important data mining s tasks is classification, which aims, by a training dataset or a set of training instances, the induction of a predictive model capable to associate each instance to its respective class or category. In the business process context, the aim of classification task is to understand the causes of certain behaviors and to generate models to predict the behavior and performance of these processes. Practical problem in pattern classification and knowledge discovery tasks require the selection of predictive attribute sets in order to represent the patterns which will be classified. This is because the presence of irrelevant and redundant attributes may damage the quality of classification models. When leading with business processes classification, it is recommended the use of feature selection, due to the large possible amount of attributes may be necessary to characterize a process. In addition to the attributes that are directly related to the process, it must also considered other attributes related to each process activity. Thus, this work aims the use of multiobjective genetic algorithms for feature selection upon business processes classification problems. The obtained results were satisfactory, considering that the criteria aimed to be optimized were improved. Specific business process domain problems were detected. These problems appears due to the presence of alternative paths and execution order of the processes flow tasks. Although those problems are not considered in the present work, we presented possible solutions to be adopted in future studies. Keywords: business processes, feature selection, pattern classification and genetic algorithm.
17 Lista de Figuras Figura 1 Diagrama de atividades que representa o exemplo de um modelo de processo de negócio Figura 2 Relacionamentos entre os ítens da terminologia básica Figura 3 Abordagem geral para construir um modelo de classificação Figura 4 Uma árvore de decisão para o problema de classificação de clientes devedores Figura 5 Processo de seleção de atributos com validação. Fonte: [1] Figura 6 Diagrama de atividades utilizado para representar um algoritmo genético básico Figura 7 Algoritmo genético como método de seleção de atributos Figura 8 Cromossomo visto como um string binário Figura 9 Roleta representando a proporção do intervalo de números reservado para cada um dos 10 (dez) indivíduos da população Figura 10 Cromossomos reproduzidos, filhos, após cruzamento dos pais através Figura 11 de 1 ponto Cromossomos reproduzidos, filhos, após cruzamento dos pais através de 2 pontos Figura 12 Fluxo do Sistema de Solicitações Figura 13 Dimensões definidas pelo Modelo Analítico. Fonte: [2] Figura 14 Fatos definidos pelo modelo analítico e seus relacionamentos. Fonte: [2]. 62 Figura 15 Regras que representam a árvore de decisão produzida após uma das execuções de MGFAS Figura 16 Regras que representam a árvore de decisão produzida após uma das execuções de MGFAS Figura 17 Exemplo de um processo de negócio simples Figura 18 Árvore de decisão que gerada pelo algoritmo J48 para os dados da Tabela Figura 19 Suposta árvore de decisão para representar os dados da Tabela Figura 20 Árvore de decisão considerada ideal para representar os dados da Tabela 8. 69
19 Lista de Tabelas Tabela 1 Representação dos valores de fitness para cada indivíduo de uma população Tabela 2 Sumário dos conjuntos de dados utilizados Tabela 3 Resultados obtidos com a execução de MGAFS Tabela 4 Comparação dos resultados obtidos em [3] com os obtidos por MGAFS 56 Tabela 5 Comparação entre os resultados obtidos pelo método FilterGA em [4] e os obtidos por MGAFS Tabela 6 Comparação entre os resultados obtidos pelo método sga em [4] e os obtidos por MGAFS Tabela 7 Execução de MGFAS para o conjunto de dados de execução de processos de negócio Tabela 8 Base de dados que representa possíveis execuções do processo representado na Figura
21 Lista de Abreviaturas CRM Customer Relationship Management 25 SCM Supply Chain Management 25 ERP Enterprise Resource Planning 25 BPM Business Process Management 25 WfMS Workflow Management System 25 BI Business Intelligence 25 MGAFS Multiobjective Genetic Algorithm for Feature 27 Selection WfMC Workflow Management Coalition 29 MDL Minimum Description Langth 34 AG Algoritmos Genéticos 36 SVM Support Vector Machine 41 LDA Linear Discriminant Analysis 41 SFS Sequential Forward Selection 42 SBE Sequential Backward Elimination 42 BPI Business Process Intelligence 44 PME Process Mining Engine 44 ibom Intelligence Business Operation Management 44 APM Abstract Process Monitor 45 FAPE Factor Analysis and Prediction Engine 45 CFS Correlation-Based Feature Selection 45
23 Sumário 1 Introdução Fundamentação Teórica Processos de Negócio Classificação Árvores de Decisão Overfitting e Underfitting Seleção de Atributos Geração Avaliação e Validação Algoritmos Genéticos Funcionamento básico Algoritmos Genéticos Multiobjetivos Trabalhos Relacionados Seleção de atributos com algoritmos genéticos Yang & Honavar Sun et al Cantú-Paz Cherkauer & Shavlik Classificação de processos de negócio Business Process Intelligence (BPI) Intelligence Business Operation Management (ibom) Ferramenta MGAFS Descrição de MGAFS Introdução Parâmetros de configuração Métodos implementados em MGAFS Validação de MGAFS Introdução Conjuntos de dados públicos Execução de MGAFS Comparação com trabalhos relacionados Conclusões Mineração de processos de negócio Fonte de dados Modelo de processo
24 5.1.2 Modelo de dados Pré-processamento dos dados Experimentos Problemas detectados Considerações Finais Contextualização Resultados obtidos Projeto XEN Trabalhos futuros Referências
25 25 1 Introdução Um processo de negócio define um conjunto de atividades com os seus possíveis fluxos de execução e recursos necessários. Como o mercado está cada vez mais competitivo, as organizações buscam proporcionar serviços ou produtos de forma rápida, com custos baixos e com maior qualidade e segurança. Nesse cenário, os primeiros esforços se focaram na automatização dos processos de negócio, viabilizando um melhor controle e gestão dos mesmos. Para suprir essas necessidades, muitas soluções foram desenvolvidas, tais como Customer Relationship Management (CRM), Supply Chain Management (SCM), Enterprise Resource Planning (ERP), Business Process Management (BPM) e Workflow Management System (WfMS). Em especial, o WfMS vai ao encontro das estratégias de redesenho e otimização dos processos de negócio através da automação dos seus fluxos de trabalho, tornando-os mais ágeis, seguros, confiáveis e proporcionando um diferencial para a organização. Além disso, possibilita realizar um registro das execuções dos processos de negócio, também denominado log de execução. A análise desse registro de execução através de recursos analíticos apropriados pode permitir que as organizações aprimorem seus processos de negócio e aumentem a qualidade dos serviços prestados a seus parceiros. Entretanto, as empresas não estão mais interessadas em apenas acompanhar e controlar o andamento de seus processos, mas sim em medi-los, associar valores à execução de cada instância de processo, atividade e recurso (tanto humano quanto computacional) e analisar seu desempenho. Além disso, elas buscam soluções mais pró-ativas, que sejam capazes de prever eventuais anomalias de execução, que monitorem e disparem avisos de alerta ou notificações para as pessoas responsáveis e identifiquem eventuais áreas de melhoria no processo. De modo geral, o interesse das organizações passou a ser a análise, monitoração e previsão de seus processos de negócio [5 7]. Neste contexto, surgiu a idéia de utilizar técnicas de descoberta de conhecimento para realizar tal análise, permitindo o controle e acompanhamento dos processos bem como a otimização e predição dos mesmos [6]. A Figura 1 ilustra um exemplo de um modelo de processo de negócio. Podem ser observadas características como ciclo, paralelismo e caminhos alternativos para execução das atividades. As empresas possuem processos normalmente muito mais complexos, gerando um número muito grande de caminhos possíveis de serem percorridos. Trabalhos da área de Inteligência de Negócio (Business Intelligence ou BI) têm enfatizado a necessidade dos gestores de ter um melhor controle de suas operações e de como as mesmas estão relacionadas aos objetivos do negócio [5, 6]. Trabalhos como [6, 7] destacam o papel das técnicas de mineração de dados para a análise, previsão e otimização de processos de negócio.
26 26 Figura 1: Diagrama de atividades que representa o exemplo de um modelo de processo de negócio. Uma das técnicas de mineração de dados mais usadas é a classificação [8], cujo objetivo geral é construir um modelo conciso de distribuição de um atributo denominado classe em função dos demais atributos, designados preditivos. Este modelo é construído a partir de um conjunto de dados de treinamento (conjunto de treino) e o resultado é utilizado para atribuir valores ao atributo classe de dados onde somente os atributos preditivos são conhecidos. No contexto de processos de negócio, o objetivo da classificação é entender as causas de determinados comportamentos e gerar modelos para análises descritivas e preditivas do comportamento e do desempenho destes processos. Para isso, é feito um mapeamento dos comportamentos em um problema de classificação, onde instâncias de processos são os objetos a serem classificados e a classe é o comportamento da instância [6]. Existem várias maneiras de representar um modelo de classificação: regras de classificação, árvores de decisão, fórmulas matemáticas, redes neurais artificiais, redes bayesianas e algoritmos genéticos, dentre outras. O modelo a ser usado é escolhido de acordo com o interesse da área de aplicação. A utilização das árvores de decisão como modelo de classificação de processos de negócio é bastante intuitiva, visto que as mesmas representam regras, facilitando a interpretação dos resultados. Cabe reafirmar que, se o objetivo é entender as causas de certos comportamentos dos processos, é essencial que o modelo de classificação tenha uma boa interpretabilidade. De acordo com [3], problemas práticos de classificação de padrões e de descoberta de conhecimento requerem a seleção de subconjuntos de atributos preditivos para representar os padrões a serem classificados, pois a presença de atributos preditivos irrelevantes, redundantes ou em grande quantidade, além de não contribuir, pode prejudicar a qualidade do modelo de classificação. Em classificação de processos de negócio, é bastante interessante a utilização de seleção de atributos, visto que a quantidade de atributos que caracterizam um processo pode ser enorme.
27 27 Além dos atributos diretamente relacionados a um instância de processo, também deve-se considerar os atributos pertencentes às atividades contidas neste processo. Dependendo da disposição das atividades no fluxo do processo, algumas delas podem ser executadas inúmeras vezes (ciclos), aumentando ainda mais o número de atributos, e outras podem nem mesmo ser executadas (caminhos alternativos), gerando uma grande quantidade de dados faltantes. Esses fatores implicam baixa qualidade dos modelos resultantes, alto custo computacional e, principalmente, dificuldade de interpretação dos modelos. Dependendo do tipo de aplicação, a seleção de atributos pode envolver diferentes critérios a ser otimizados. A facilidade de combinar vários critérios como objetivo de otimização, dentre outras vantagens, torna a utilização da técnica de algoritmos genéticos bastante atrativa na construção de métodos de seleção de atributos em problemas de classificação [3, 4, 9, 10]. Isto permite que, para um determinado problema, um conjunto de soluções ótimas seja apresentado sem privilegiar um ou outro objetivo, mas sim deixando a cargo do usuário escolher a solução que mais se adapte às suas necessidades. Neste contexto, formula-se a seguinte questão de pesquisa: A utilização de um método de seleção de atributos baseado em algoritmos genéticos multiobjetivos pode melhorar a qualidade do classificador, otimizando critérios importantes, e ajudar na descoberta de problemas específicos do domínio de classificação de processos de negócio? Para responder à questão supracitada, o objetivo deste trabalho é propor a utilização de algoritmos genéticos multiobjetivos para seleção de atributos em problemas de classificação de processos de negócio. No intuito de qualificar o modelo de classificação obtido, espera-se encontrar problemas específicos à classificação de processos e, se possível no método de seleção de atributos, propor formas para solucioná-los. O restante desta dissertação é organizado como segue: o Capítulo 2 apresenta a base teórica que sustenta esta pesquisa, descrevendo os principais conceitos envolvidos em processos de negócio (workflow), algoritmos genéticos, seleção de atributos e classificação. No Capítulo 3 são apresentados trabalhos relacionados tanto à utilização de algoritmos genéticos para seleção de atributos quanto à importância de um modelo de classificação qualificado para descoberta de conhecimento em processos de negócio. O Capítulo 4 apresenta a descrição e validação do protótipo MGAFS (Multiobjective Genetic Algorithm for Feature Selection). No Capítulo 5 são apresentados os experimentos realizados para mineração de processos de negócio. Por fim, no Capítulo 6, encontra-se as considerações finais.
29 29 2 Fundamentação Teórica Neste capítulo são apresentados os principais conceitos necessários para o entendimento do trabalho. Primeiro, o leitor tem um contato com o embasamento teórico sobre automação de processos de negócio (workflow). Após, é apresentada a técnica de classificação. Em seguida, encontram-se os principais conceitos sobre seleção de atributos. Por fim, é trazido o embasamento sobre algoritmos genéticos. 2.1 Processos de Negócio A WfMC, Workflow Management Coalition [11], é uma organização sem fins lucrativos, composta por empresas e pesquisadores, que tem por objetivo oportunizar a exploração de tecnologia de workflow através do desenvolvimento de padrões e terminologia comuns nesta área. De acordo com [11], workflow é definido como a automação de processos de negócios onde documentos, informações ou tarefas são passadas de um participante para outro de acordo com um conjunto de regras para atingir ou contribuir para um objetivo de negócio. Para gerenciar computacionalmente esses processos, é definido um Sistema de Gestão de Workflow (WfMS). O WfMS é um sistema que define, cria e gerencia a execução de workflows através do uso de software, executando um ou mais workflow engines, os quais são capazes de interpretar a definição do processo, interagir com os participantes do workflow e, quando requisitado, invocar o uso de recursos e aplicações [11]. Esses sistemas visam atender às necessidades de organizações no que diz respeito, principalmente, à automação de seus processos de negócios. Nesse contexto, um processo de negócio é composto por um conjunto de atividades relacionadas entre si que, coletivamente, atendem a um objetivo da empresa. A Figura 2 ilustra os principais conceitos envolvidos na representação de processos de negócio por workflows. Um processo, nesse contexto, é a representação de um processo de negócio em um formato que aceite suporte automatizado. A definição de um processo consiste em uma rede de atividades e seus relacionamentos, critérios para indicar o início e o término do processo e informações sobre cada atividade, tais como participantes, dados e aplicativos associados. Os processos também podem ser decompostos em subprocessos. Atividade é a descrição de uma unidade de trabalho que representa uma etapa dentro de um processo. Uma atividade requer recursos humanos (atividades manuais) ou automatizados (atividades automáticas) para sua realização. Sempre que um recurso humano é necessário, uma
30 30 Figura 2: Relacionamentos entre os ítens da terminologia básica. atividade é alocada a um participante do workflow, denominado ator do sistema. Uma instância é uma ocorrência de um processo, ou de uma atividade em um processo, incluindo seus dados associados. Cada instância pode representar uma linha diferente de execução (por exemplo, em um processo que inclui atividades em paralelo), pode ser controlada independentemente pelo WfMS, possui estados internos próprios e tem sua identidade externamente visível. Participante do workflow ou ator é quem executa o trabalho representado por uma instância de atividade. Atores podem ser pessoas ou processos automatizados. Ambos os tipos de atores são tratados em um mesmo nível de abstração com o objetivo de modelar a interação propriamente dita. Essa natureza híbrida, ou seja, aspectos humanos e computacionais tratados de forma homogênea, é característica de sistemas de workflow. De acordo com a análise dos conceitos envolvidos em automação de workflow, é possível selecionar os principais dados que devem ser armazenados nos registros de execução dos processos, com vista à utilização desses registros para a descoberta de conhecimento. Informações mais detalhadas sobre quais dados podem ser armazenados são encontradas em [12], onde é apresentado o modelo dos dados registrados pelo Oracle Workflow.
31 Classificação O objetivo geral da classificação é construir um modelo conciso de distribuição de um atributo denominado classe em função dos demais atributos, designados preditivos. Este modelo é construído a partir de um conjunto de dados de registros de treino (conjunto de treino) e o resultado é utilizado para designar valores ao atributo classe de registros onde somente os atributos preditivos são conhecidos. O modelo de classificação também é conhecido como classificador. Um classificador é útil para os seguintes propósitos: análise descritiva: o classificador pode servir para explicar as características dos objetos de diferentes classes. Por exemplo, pode ser usado para informar as características dos clientes que são bons pagadores. Essas informações são obtidas apenas com a interpretação do modelo de classificação gerado através de exemplos conhecidos. análise preditiva: o classificador é utilizado para classificar objetos que não foram utilizados na construção do modelo. Por exemplo, pode ser usado para predizer se um novo cliente vai ser um bom ou mau pagador. Figura 3: Abordagem geral para construir um modelo de classificação. A técnica de classificação é uma abordagem sistemática para construir classificadores a partir de um conjunto de treino. Existem diversas técnicas de representar um classificador, tais como árvores de decisão, redes neurais artificiais, algoritmos genéticos, redes bayesianas, fórmulas matemáticas, dentre outras. Cada técnica emprega um algoritmo de aprendizagem para gerar o modelo que melhor se ajuste aos dados que compõem o conjunto de treino. Entretanto,
32 32 o objetivo principal de um algoritmo de aprendizagem é construir um modelo que seja capaz de generalizar, ou seja, predizer, com um alta taxa de acerto, as classes dos objetos que não foram utilizados na construção do modelo. A Figura 3 ilustra a abordagem geral do processo de classificação. Primeiro, um conjunto de treino, o qual é composto de registros onde o atributo classe é conhecido, deve ser fornecido. Após, o modelo construído a partir do conjunto de treino é aplicado ao conjunto de teste, onde os valores para o atributo classe não são conhecidos. A seguir, é feita uma sumarização sobre a técnica de árvores de decisão, a qual é utilizada na presente pesquisa em virtude da sua facilidade de interpretação. Após, são destacados os problemas de overfitting e underfitting, os quais estão relacionados à complexidade dessa técnica Árvores de Decisão Uma árvore de decisão é uma estrutura que pode ser utilizada para, através de simples regras de decisão, dividir sucessivamente uma grande coleção de registros em conjuntos menores. A cada divisão realizada, os dados são separados de acordo com características em comum até chegar a pontos indivisíveis, que representam as classes. Cada nodo da árvore representa um teste a ser realizado e as arestas definem um caminho para cada resposta desses testes. O nodo raiz é aquele que não possui nenhuma aresta de entrada, havendo zero ou mais arestas na saída. Os nodos internos possuem exatamente uma aresta de entrada e duas ou mais arestas de saída. Os nodos folhas da árvore são os pontos indivisíveis, os quais representam as classes. A Figura 4 ilustra um exemplo de árvore de decisão para classificar clientes como devedores ou não. Para classificar um registro utilizando uma árvore de decisão, basta começar pelo nodo raiz da árvore, onde é aplicado o primeiro teste com o atributo referente a este nodo. O processo se repete até ser encontrado um nodo folha, o qual representa o valor associado pela árvore ao atributo classe do registro em questão. Conforme [8], as principais características dos algoritmos de aprendizagem para construção das árvores de decisão são: Computacionalmente econômicos, tanto para a construção como para a utilização do modelo. Árvores de decisão, especialmente árvores pequenas, são relativamente fáceis de interpretar. A acurácia das árvores também é comparável à de outras técnicas de classificação. A presença de atributos redundantes não é prejudicial à acurácia das árvores de decisão. Quando um atributo é escolhido para dividir os dados, os redundantes a ele não serão usados posteriormente. Entretanto, atributos irrelevantes podem ser usados acidentalmente durante a construção da árvore, resultando em árvores mais complexas e menos precisas.
33 33 Uma sub-árvore pode ser replicada múltiplas vezes na árvore de decisão, tornando-a mais complexa que o necessário e talvez mais difícil de interpretar. As árvores de decisão possuem representação limitada para modelar relacionamentos complexos entre atributos contínuos. Isto porque os nodos teste apresentam apenas um atributo como condição de teste, ou seja, é testado apenas um atributo por vez. Estudos têm mostrado que a escolha da medida de impureza tem pouco efeito no desempenho dos algoritmos de indução de árvores de decisão. Isto porque muitas dessas medidas são muito consistentes umas com as outras. De fato, a estratégia usada para podar as árvores tem um maior impacto na árvore final do que a escolha da medida de impureza. Figura 4: Uma árvore de decisão para o problema de classificação de clientes devedores Overfitting e Underfitting Um modelo que representa muito bem os dados de treino pode apresentar um erro de generalização maior que um modelo que tenha um maior erro para o conjunto de treino. Quando isso ocorre, tem-se o problema conhecido como overfitting, ou seja, aprende demasiadamente o conjunto de treino mas não é capaz de generalizar. Quando um modelo apresenta valores altos para ambos os erros (treino e generalização), tem-se o problema de underfitting. Overfitting e underfitting são dois problemas que estão relacionados à complexidade do modelo de classificação. Geralmente, o problema de underfitting surge na tentativa de resolução