Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Customer Churn End2End Machine learning project
| Date | Stars |
|---|---|
| 2026-08-05 | 352 |
| 2026-08-06 | 353 |
| 2026-08-08 | 355 |
| 2026-08-09 | 356 |
| 2026-08-10 | 356 |
| 2026-08-11 | 357 |
| 2026-08-12 | 358 |
| 2026-08-13 | 359 |
| 2026-08-14 | 361 |
| 2026-08-15 | 364 |
| 2026-08-17 | 368 |
| 2026-08-18 | 371 |
| 2026-08-20 | 372 |
| 2026-08-21 | 374 |
| 2026-08-22 | 376 |
| 2026-08-23 | 377 |
| 2026-08-24 | 378 |
| 2026-08-25 | 379 |
| 2026-08-26 | 380 |
| 2026-08-27 | 382 |
| 2026-08-29 | 385 |
| 2026-08-30 | 386 |
| 2026-08-31 | 388 |
| 2026-09-01 | 389 |
| 2026-09-02 | 392 |
| 2026-09-04 | 394 |
| 2026-09-08 | 395 |
| 2026-09-09 | 395 |
| 2026-09-10 | 396 |
| 2026-09-11 | 397 |
| 2026-09-12 | 399 |
| 2026-09-14 | 400 |
| 2026-09-15 | 402 |
| 2026-09-16 | 404 |
| 2026-09-17 | 405 |
| 2026-09-21 | 406 |
| 2026-09-22 | 407 |
| 2026-09-23 | 408 |
| 2026-09-24 | 410 |
| 2026-09-25 | 414 |
| 2026-09-27 | 416 |
| 2026-09-30 | 417 |
| 2026-10-02 | 417 |
| 2026-10-03 | 418 |
| 2026-10-04 | 419 |
| 2026-10-07 | 420 |
| 2026-10-10 | 421 |
| 2026-10-11 | 423 |
| 2026-10-12 | 425 |
| 2026-10-14 | 429 |
| 2026-10-15 | 430 |
| 2026-10-17 | 430 |
| 2026-10-19 | 431 |
| 2026-10-20 | 433 |
| 2026-10-22 | 435 |
| 2026-10-23 | 436 |
| 2026-10-25 | 437 |
| 2026-10-26 | 438 |
| 2026-10-27 | 440 |
| 2026-10-29 | 442 |
| 2026-10-31 | 443 |
| 2026-11-01 | 444 |
| 2026-11-02 | 445 |
| 2026-11-04 | 447 |
Today
+2 stars today
This week
+7 stars this week
This month
+28 stars this month
Momentum
0.0
growth rate 1.59%/day
## Telco Churn – End-to-End ML Project ### Purpose Build and ship a full machine-learning solution for predicting customer churn in a telecom setting—from data prep and modeling to an API + web UI deployed on AWS. ### Problem solved & benefits - Faster decisions: Predicts which customers are likely to churn so teams can act before they leave. - Operationalized ML: Model is accessible via a REST API and a simple UI; anyone can test it without notebooks. - Repeatable delivery: CI/CD + containers mean every change can be rebuilt, tested, and redeployed in a consistent way. - Traceable experiments: MLflow tracks runs, metrics, and artifacts for reproducibility and auditing. ### What I built - Data & Modeling: Feature engineering + XGBoost classifier; experiments logged to MLflow. - Model tracking: Runs, metrics, and the serialized model logged under a named MLflow experiment. - Inference service: FastAPI app exposing /predict (POST) and a root health check /. - Web UI: Gradio interface mounted at /ui for quick, shareable manual testing. - Containerization: Docker image with uvicorn entrypoint (src.app.main:app) listening on port 8000. - CI/CD: GitHub Actions builds the image and pushes to Docker Hub; optionally triggers an ECS service update. - Orchestration: AWS ECS Fargate runs the container (serverless). - Networking: Application Load Balancer (ALB) on HTTP:80 forwarding to a Target Group (IP targets on HTTP:8000). - Security: Security groups scoped to allow ALB inbound 80 from the internet, and task inbound 8000 from the ALB SG. - Observability: CloudWatch Logs for container stdout/stderr and ECS service events. ### Deployment flow (high-level) - Push to main → GitHub Actions builds the Docker image and pushes it to Docker Hub. - ECS service is updated (manually or via the workflow) to force a new deployment. - ALB health checks hit / on port 8000; once healthy, traffic is routed to the new task. - Users call POST /predict or open the Gradio UI at /ui via the ALB DNS. ### Roadblocks & how we solved them Unhealthy targets behind ALB - Cause: App didn’t respond at the health-check path; listener/target port mismatches. - Fixes: Added GET / health endpoint; confirmed ALB listener on 80 forwards to TG on 8000; TG health check path set to /. Module import error in container (ModuleNotFoundError: serving) - Cause: Python path in the image didn’t include src/. - Fixes: Set PYTHONPATH=/app/src in the Dockerfile; corrected uvicorn app path to src.app.main:app. ALB DNS timing out - Cause: Security group rules not aligned with traffic flow. - Fixes: ALB SG allows inbound 80 from 0.0.0.0/0; task SG allows inbound 8000 from the ALB SG; outbound open. ECS redeploy not picking up the new image - Cause: Service still running previous task definition. - Fixes: Force new deployment (CLI or console) after pushing the new image; optional step added to CI. Gradio UI error (“No runs found in experiment”) - Cause: Inference/UI expected an MLflow-logged model but couldn’t resolve a run. - Fixes: Standardized MLflow experiment name and model logging in training; inference loads the logged model consistently (and a local path for dev). Local testing vs. prod paths - Cause: MLflow artifact URIs differ locally vs. in container. - Fixes: For local dev, load via direct ./mlruns/.../artifacts/model; in prod, container loads the packaged model path used at build time.
Excerpt of 3,418 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:f65f9e29de4bc4e8, llm:Repository description: 'Customer Churn End2End Machine learning project' (Jupyter Notebook). No topics provided.
matched fp:f65f9e29de4bc4e8, llm:Repository description: 'Customer Churn End2End Machine learning project' (Jupyter Notebook). No topics provided.
matched fp:f65f9e29de4bc4e8, llm:Repository description: 'Customer Churn End2End Machine learning project' (Jupyter Notebook). No topics provided.