{"id":28225842,"url":"https://github.com/krishnaura45/insurelead","last_synced_at":"2026-01-25T16:31:24.695Z","repository":{"id":288879423,"uuid":"969435963","full_name":"krishnaura45/InsureLead","owner":"krishnaura45","description":"🧪Predictive Modeling for Insurance Cross-Selling Response 🔥 Deep-ensemble approach","archived":false,"fork":false,"pushed_at":"2025-04-24T22:14:05.000Z","size":275,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-13T00:40:45.635Z","etag":null,"topics":["ann","binary-classification","blending","boosting","ensemble-learning","insurance","kaggle-competition","ml","stacking"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krishnaura45.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2025-04-20T06:18:09.000Z","updated_at":"2025-04-24T22:14:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce92a60b-5b80-42f6-a4df-f3b7fd9a6491","html_url":"https://github.com/krishnaura45/InsureLead","commit_stats":null,"previous_names":["krishnaura45/insurelead"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/krishnaura45/InsureLead","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krishnaura45%2FInsureLead","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krishnaura45%2FInsureLead/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krishnaura45%2FInsureLead/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krishnaura45%2FInsureLead/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krishnaura45","download_url":"https://codeload.github.com/krishnaura45/InsureLead/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krishnaura45%2FInsureLead/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28755523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T13:59:49.818Z","status":"ssl_error","status_checked_at":"2026-01-25T13:59:33.728Z","response_time":113,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ann","binary-classification","blending","boosting","ensemble-learning","insurance","kaggle-competition","ml","stacking"],"created_at":"2025-05-18T11:09:42.888Z","updated_at":"2026-01-25T16:31:24.689Z","avatar_url":"https://github.com/krishnaura45.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# InsureLead\nPredicting Customer Responses to Insurance Offers Using ML\n\n![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge\u0026logo=python\u0026logoColor=white)\n![Scikit-Learn](https://img.shields.io/badge/Scikit--Learn-F7931E?style=for-the-badge\u0026logo=scikit-learn\u0026logoColor=white)\n![Kaggle](https://img.shields.io/badge/Kaggle-20BEFF?style=for-the-badge\u0026logo=kaggle\u0026logoColor=white)\n![ROC AUC Optimized](https://img.shields.io/badge/Optimized--for-ROC%20AUC-yellowgreen?style=for-the-badge)\n![Optuna](https://img.shields.io/badge/Optuna-Tuning-blueviolet?style=for-the-badge)\n![AUC Score](https://img.shields.io/badge/Best%20AUC-0.89690-2ECC71?style=for-the-badge)\n![Rank](https://img.shields.io/badge/Rank-70%20of%202425-brightgreen?style=for-the-badge)\n![Solo](https://img.shields.io/badge/Submission-Type%3A%20Solo-orange?style=for-the-badge)\n\n### Project Duration: Jul 15, 2024 - Aug 1, 2024\n---\n\n## 🌟 Introduction\n\nThe objective is to predict which customers will respond positively to a vehicle insurance offer. This project is part of a binary classification challenge which was hosted on Kaggle. Submissions were evaluated using **Area Under the ROC Curve (AUC)**.\n\n---\n\n## 🥉 Top Approach\n\nExplore full implementation here: 🔗 [PS4E7 - Stacking Boosters with ANN](https://github.com/krishnaura45/InsureLead/blob/main/ps4e7-stacking-boosters-and-ann.ipynb)\n\n- 📊 **Data Integration \u0026 Inspection**\n  - Combined official training dataset with original insurance dataset for feature enrichment.\n    \n- 🛠️ **Preprocessing Pipelines**\n  - Utilized Scikit-learn pipelines and transformers with encoders: `StandardScaler`, `PowerTransformer`, `OneHotEncoder`, `OrdinalEncoder`.\n    \n- 🔍 **Feature Engineering \u0026 Selection**\n  - Applied mutual information filtering to retain informative features.\n    \n- 🧰 **Modeling with Ensembles**\n  - Trained and validated XGBoost, CatBoost, LightGBM classifiers using Stratified K-Fold CV.\n  - Hyperparameter tuning with Optuna and visual exploration tools.\n    \n- 🏋️ **Submission Strategy**\n  - Ensemble predictions via model averaging on test data.\n\n---\n\n## 📊 Results / Outcomes\n\n- ✅ Public Leaderboard Scores: ranging from *0.50060* to *0.89727*\n\n- 🏁 Best Private Score: ***0.89690**\n\n- 🥇 Rank Achieved: Ranked 70 / 2425 participants and 2234 teams as a solo participant\n\n![Score Progression Plot](https://github.com/user-attachments/assets/989ab79b-db3e-40ae-a7fb-ed3a040bba09)\n\n---\n\n## 🔗 References\n\n- 📁 Kaggle Competition: \u003ca href=\"https://www.kaggle.com/competitions/playground-series-s4e7\" target=\"_blank\"\u003eBinary Classification of Insurance Cross Selling\u003c/a\u003e\u003cbr\u003e\n\n- 📂 Original Dataset: \u003ca href=\"https://www.kaggle.com/datasets/annantkumarsingh/health-insurance-cross-sell-prediction-data\" target=\"_blank\"\u003eHealth Insurance Cross Sell Prediction Data\u003c/a\u003e\n\n---\n\n## 🛠️ Tech Stack\n\n- Language: Python 🐍\n\n- Libraries:\n\n  - `pandas`, `polars`, `numpy` for data handling\n\n  - `matplotlib`, `seaborn` for EDA and plotting\n\n  - `scikit-learn`, `xgboost`, `catboost`, `lightgbm` for modeling\n\n  - `optuna` for hyperparameter tuning\n\n- Tools:\n\n  - Jupyter Notebook / Kaggle Notebooks for experimentation\n\n  - Custom pipelines and scoring functions for AUC optimization\n\n ---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrishnaura45%2Finsurelead","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrishnaura45%2Finsurelead","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrishnaura45%2Finsurelead/lists"}