{"id":15195340,"url":"https://github.com/datalopes1/pet_adoption","last_synced_at":"2026-02-12T02:35:53.242Z","repository":{"id":252669990,"uuid":"823318857","full_name":"datalopes1/pet_adoption","owner":"datalopes1","description":"Projeto de Classificação com foco em Predição utilizando o Scikit-learn, com base no dataset 🐾 Predict Pet Adoption Status Dataset 🐾 de Rabie El Kharoua, disponibilizado no Kaggle","archived":false,"fork":false,"pushed_at":"2024-08-11T16:24:51.000Z","size":5230,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-12T06:07:36.465Z","etag":null,"topics":["data-science","jupyter","machine-learning","predictive-modeling","python"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datalopes1.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-02T20:06:45.000Z","updated_at":"2024-08-11T16:24:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"86af3605-47f3-458d-a350-414ec180980c","html_url":"https://github.com/datalopes1/pet_adoption","commit_stats":null,"previous_names":["datalopes1/pet_adoption"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalopes1%2Fpet_adoption","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalopes1%2Fpet_adoption/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalopes1%2Fpet_adoption/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalopes1%2Fpet_adoption/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datalopes1","download_url":"https://codeload.github.com/datalopes1/pet_adoption/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241381522,"owners_count":19953749,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-science","jupyter","machine-learning","predictive-modeling","python"],"created_at":"2024-09-27T23:21:39.082Z","updated_at":"2026-02-12T02:35:48.184Z","avatar_url":"https://github.com/datalopes1.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Predição da Probabilidade de Adoção de Pets - Pet Adoption Dataset🐶\nO Pet Adoption Dataset fornece uma visão compreensiva sobre vários fatores que influenciam a probabilidade de um pet ser adotado de um abrigo. O dataset inclui informações detalhadas sobre animais disponíveis para adoção, cobrindo várias caraterísticas e atributos. Os dados podem ser encontrados no [Kaggle](https://www.kaggle.com/datasets/rabieelkharoua/predict-pet-adoption-status-dataset) e foram disponibilizados por Rabie El Kharoua.\n\n![cachorrotisti](https://github.com/datalopes1/pet_adoption/blob/main/doc/img/jana-shnipelson-j_Z5N9p_XOc-unsplash.jpg?raw=true)\n\n### Features\n|Coluna|Descrição|\n|-------|--------|\n|`PetID`|Identificador único de cada pet|\n|`PetType`|Tipo do pet (cachorro, gato, etc.)|\n|`Breed`|Raça especifica de cada pet|\n|`AgeMonths`|Idade do pet em meses|\n|`Color`|Cor do pet|\n|`Size`|Tamanho do animal (pequeno, médio, grande)|\n|`WeightKg`|Peso em kg|\n|`Vaccinated`|Status de vacinação|\n|`HealthCondition`|Se o pet é saudável|\n|`TimeInShelterDays`|Quanto tempo em dias que o pet está no abrigo|\n|`AdoptionFee`|Taxa de adoção|\n|`PreviousOwner`|Se o pet teve um dono antes ou não|\n|`AdoptionLikelihood`|Probabilidade do pet ser adotado|\n\n## Metas e objetivos\nO objetivo deste projeto é (1) fazer uma breve análise exploratória para entender os fatores que levam ao aumento da probabilidade de adoção dos pets, e (2) criar um modelo com foco de prever a probabilidade de adoção dos pets. \n\n### Resultados\n#### Conclusões pós-análise\n- Os fatores que maior influência na adoção de pets são aqueles ligados a saúde como vacinação, condições anteriores de saúde, entre outras questões; \n- Animais de médio porte, em especial cães são aqueles com maior probabilidade de adoção, surpreendentemente para mim passáros são bastante buscados em um empate quase técnico com gatos;\n- Animais de cor branca tem menor tendência de adoção, provavelmente pela dificuldade manter-los higienizados. Não existe uma grande diferença entre o pet ser recém chegado ou estar a muito tempo no abrigo para a adoção.\n\n#### Modelo de classificação\nO modelo escolhido foi o LGBMClassifier da biblioteca LightGBM. Com ele tive os seguintes resultados em métricas:\n\n|Métrica|Resultado|\n|---|---|\n|**F1 Score**|0.8774|\n|**ROC AUC**|0.9019|\n|**Accuracy**|0.9228|\n\n## 🛠️ Ferramentas utilizadas\n![Python](https://img.shields.io/badge/python-3670A0?style=for-the-badge\u0026logo=python\u0026logoColor=ffdd54)![Visual Studio Code](https://img.shields.io/badge/Visual%20Studio%20Code-0078d7.svg?style=for-the-badge\u0026logo=visual-studio-code\u0026logoColor=white)![Jupyter Notebook](https://img.shields.io/badge/jupyter-%23FA0F00.svg?style=for-the-badge\u0026logo=jupyter\u0026logoColor=white)\n\n### Bibliotecas Python utilizadas\n#### Manipulação de dados\n- Pandas, Numpy.\n#### EDA\n- Seaborn, Matplotlib.\n#### Machine Learning\n- Scitkit-learn, LightGBM, Category Encoders.\n\n# Análise Exploratória de Dados \n![](doc/img/eda_plot/plot1.png)\n\nCerca de 32% dos animais são adotados.\n\n![](doc/img/eda_plot/plot2.png)\n\n- Cães são o tipo de animal mais frequente dentro do conjunto de dados, coelhos e gatos estão praticamente empatados; \n- Com maior volume de animais em abrigos, cachorros também são os pets mais adotados. Seguidos por passáros e gatos. \n\n![](doc/img/eda_plot/plot3.png)\n\n- Não existe distinção entre as raças de coelhos, entre os passáros somente periquitos estão disponíveis; \n- Entre os tipos de animais de estimação que tem raças definidas, os cães da raça Labrador são os mais adotados. Eles são populares por serem amigáveis, inteligentes e sua natureza treinável. \n\n![](doc/img/eda_plot/plot4.png)\n\nPets mais velhos tem menor probabilidade de adoção, o fator saúde é o mais importante critério na adoção de animais.\n\n![](doc/img/eda_plot/plot5.png)\n\nApesar de estarem em maior quantidade nos abrigos animais de cor branca são os menos adotados, possivelmente por conta da dificuldade manter eles higienizados.\n\n![](doc/img/eda_plot/plot6.png)\n\nAnimais de tamanho médio são a maioria tanto em quantidade nos abrigos, quanto em adoções. Animais de porte maior são os menos adotados. \n\n- A popularidade de adoção de animais de médio porte tem ligação com sua maior adaptabilidade a diversos ambientes e estilos de vida.\n- Animais de grande porte precisam de mais espaço, exercício e treinamento, o que pode levar a menor interesse de adoção.\n\nVamos olhar de forma mais detalhada por tipo de animal.\n\n![](doc/img/eda_plot/plot7.png)\n\n![](doc/img/eda_plot/plot8.png)\n\nNão é possível somente com a visualização determinar uma forte correlação do peso com a probabilidade de adoção, é uma variável bem dispersa. Vale ressaltar que é importante antes da adoção realizar consultas com um médico veterinário pois a saúde de cada pet depende de vários fatores como raça, idade e sexo. \n\n![](doc/img/eda_plot/plot9.png)\n\nSaúde tem sido o fator mais importante observado durante este estudo, vacinação é um dos aspectos mais definidores da saúde de um animal, vacinação é essencial para previnir diversas doenças infecciosas que podem aflingir os bichinhos e serem fatais. \n\n![](doc/img/eda_plot/plot10.png)\n\nPessoas que adotam animais com más condições de saúde, tem uma grande paixão pelos bichinhos e estão dispostas a investir tempo, dinheiro e conhecimento para cuidar deles. A baixa taxa de adoção de animais doentes tem ligação com os gastos médicos, problemas comportamentais em potencial e o dano emocional de cuidar de um animal doente. \n\n![](doc/img/eda_plot/plot14.png)\n\n![](doc/img/eda_plot/plot11.png)\n\nEstar muito tempo no abrigo não faz uma grande diferença na probabilidade de adoção.\n\n![](doc/img/eda_plot/plot12.png)\n\nOs pets que já tiveram donos anteriormente tendem a ser menos adotados. \n\n![](doc/img/eda_plot/plot13.png)\n\n![gato](https://github.com/datalopes1/pet_adoption/blob/main/doc/img/alisa-matthews-ZtHbp39rjIM-unsplash.jpg?raw=true)\n\n# Modelo de Classificação\n\nUtilizando o LGBMClassifier atingi as seguintes métricas no modelo com threshold padrão de 0.50\n\n|Métrica|Resultado|\n|---|---|\n|Recall|0.8409090909090909|\n|Precision|0.888|\n|F1 Score|0.8638132295719845|\n|ROC AUC|0.9111111111111112|\n|Accuracy|0.9129353233830846|\n\n![](doc/img/model_plot/plot1.png)\n\nO modelo tem bons resultados de acurácia e ROC AUC, além de boa sensibilidade e precisão que podem ser otimizados através de ajustes no limiar. Vamos explorar opções para ter o melhor F1 Score, que a métrica de equilibrio entre precisão e sensibilidade.\n\n![](doc/img/model_plot/plot2.png)\n\n![](doc/img/model_plot/plot3.png)\n\n|Métrica|Resultado|\n|---|---|\n|Recall|0.8409090909090909|\n|Precision|0.9173553719008265|\n|F1 Score|0.8774703557312253|\n|ROC AUC|0.9019360269360269|\n|Accuracy|0.9228855721393034|\n\nCom o limiar ajustado para 0.65 temos uma melhora na precisão para as duas classes e apenas uma perca pequena na sensibilidade da classe 0. E assim temos o modelo com o limiar ideal. \n\n![periquito](https://github.com/datalopes1/pet_adoption/blob/main/doc/img/dim-hou-ZAtcN0f9HJc-unsplash.jpg?raw=true)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatalopes1%2Fpet_adoption","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatalopes1%2Fpet_adoption","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatalopes1%2Fpet_adoption/lists"}