{"id":15501656,"url":"https://github.com/ing-bank/skorecard","last_synced_at":"2025-04-13T02:53:49.287Z","repository":{"id":38241562,"uuid":"374645786","full_name":"ing-bank/skorecard","owner":"ing-bank","description":"scikit-learn compatible tools for building credit risk acceptance models","archived":false,"fork":false,"pushed_at":"2025-02-09T07:16:34.000Z","size":8701,"stargazers_count":97,"open_issues_count":14,"forks_count":26,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-04-13T02:52:52.552Z","etag":null,"topics":["credit-risk","creditrisk","logistic-regression","machine-learning","scikit-learn","scorecard","scorecard-model","scorecards"],"latest_commit_sha":null,"homepage":"https://ing-bank.github.io/skorecard/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ing-bank.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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}},"created_at":"2021-06-07T11:45:30.000Z","updated_at":"2025-04-11T10:12:18.000Z","dependencies_parsed_at":"2023-02-12T02:17:16.563Z","dependency_job_id":"bd277ea3-bb0f-4e40-81dd-6cb63dd02b93","html_url":"https://github.com/ing-bank/skorecard","commit_stats":{"total_commits":212,"total_committers":10,"mean_commits":21.2,"dds":"0.49056603773584906","last_synced_commit":"ef5c1c773822285384e6bcb3504fc10448a03814"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ing-bank%2Fskorecard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ing-bank%2Fskorecard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ing-bank%2Fskorecard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ing-bank%2Fskorecard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ing-bank","download_url":"https://codeload.github.com/ing-bank/skorecard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248657874,"owners_count":21140844,"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":["credit-risk","creditrisk","logistic-regression","machine-learning","scikit-learn","scorecard","scorecard-model","scorecards"],"created_at":"2024-10-02T09:05:13.352Z","updated_at":"2025-04-13T02:53:49.264Z","avatar_url":"https://github.com/ing-bank.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/ing-bank/skorecard/raw/main/docs/assets/img/skorecard_logo.svg\" width=\"150\" align=\"right\"\u003e\n\n# skorecard\n\n\u003c!-- ![pytest](https://github.com/ing-bank/skorecard/workflows/Release/badge.svg) --\u003e\n![pytest](https://github.com/ing-bank/skorecard/workflows/Development/badge.svg)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/skorecard)\n![PyPI](https://img.shields.io/pypi/v/skorecard)\n![PyPI - License](https://img.shields.io/pypi/l/skorecard)\n![GitHub contributors](https://img.shields.io/github/contributors/ing-bank/skorecard)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/skorecard)](#)\n[![Downloads](https://pepy.tech/badge/skorecard)](https://pepy.tech/project/skorecard)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/pre-commit/pre-commit)\n\n`skorecard` is a scikit-learn compatible python package that helps streamline the development of credit risk acceptance models (scorecards).\n\nScorecards are ‘traditional’ models used by banks in the credit decision process. Internally, scorecards are Logistic Regression models that make use of features that are binned into different groups. The process of binning is usually done manually by experts, and `skorecard` provides tools to makes this process easier. `skorecard` is built on top of [scikit-learn](https://pypi.org/project/scikit-learn/) as well as other excellent open source projects like [optbinning](https://pypi.org/project/optbinning/), [dash](https://pypi.org/project/dash/) and [plotly](https://pypi.org/project/plotly/).\n\n:point_right: Read the [blogpost introducing skorecard](https://timvink.nl/introducing-skorecard/)\n\n## Features ⭐\n\n- Automate bucketing of features inside scikit-learn pipelines.\n- Dash webapp to help manually tweak bucketing of features with business knowledge\n- Extension to `sklearn.linear_model.LogisticRegression` that is also able to report p-values\n- Plots and reports to speed up analysis and writing technical documentation.\n\n## Quick demo\n\n`skorecard` offers a range of [bucketers](https://ing-bank.github.io/skorecard/api/bucketers/OptimalBucketer/):\n\n```python\nimport pandas as pd\nfrom skorecard.bucketers import EqualWidthBucketer\n\ndf = pd.DataFrame({'column' : range(100)})\n\newb = EqualWidthBucketer(n_bins=5)\newb.fit_transform(df)\n\newb.bucket_table('column')\n#\u003e    bucket                       label  Count  Count (%)\n#\u003e 0      -1                     Missing    0.0        0.0\n#\u003e 1       0                (-inf, 19.8]   20.0       20.0\n#\u003e 2       1                (19.8, 39.6]   20.0       20.0\n#\u003e 3       2  (39.6, 59.400000000000006]   20.0       20.0\n#\u003e 4       3  (59.400000000000006, 79.2]   20.0       20.0\n#\u003e 5       4                 (79.2, inf]   20.0       20.0\n```\n\nThat also support a dash app to explore and update bucket boundaries:\n\n```python\newb.fit_interactive(df)\n#\u003e Dash app running on http://127.0.0.1:8050/\n```\n\n![](docs/assets/img/dash_app_unsupervised_bucketer.png)\n\n## Installation\n\n```shell\npip3 install skorecard\n```\n\n## Documentation\n\nSee [ing-bank.github.io/skorecard/](https://ing-bank.github.io/skorecard/).\n\n## Presentations\n\n| Title                                              | Host                    | Date         | Speaker(s)                                   |\n|----------------------------------------------------|-------------------------|--------------|----------------------------------------------|\n| Skorecard: Making logistic regressions great again | [ING Data Science Meetup](https://www.youtube.com/watch?v=UR_1XZxEuCw) | 10 June 2021 | Daniel Timbrell, Sandro Bjelogrlic, Tim Vink |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fing-bank%2Fskorecard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fing-bank%2Fskorecard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fing-bank%2Fskorecard/lists"}