{ "info": { "author": "Shichen Xie", "author_email": "xie@shichen.name", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# scorecardpy\n\n[![PyPI version](https://img.shields.io/pypi/pyversions/scorecardpy.svg)](https://pypi.python.org/pypi/scorecardpy)\n[![PyPI release](https://img.shields.io/pypi/v/scorecardpy.svg)](https://pypi.python.org/pypi/scorecardpy)\n[![Downloads](http://pepy.tech/badge/scorecardpy)](http://pepy.tech/project/scorecardpy)\n[![Downloads](https://pepy.tech/badge/scorecardpy/month)](https://pepy.tech/project/scorecardpy/month)\n\n\nThis package is python version of R package [scorecard](https://github.com/ShichenXie/scorecard). \nIts goal is to make the development of traditional credit risk scorecard model easier and efficient by providing functions for some common tasks. \n- data partition (`split_df`)\n- variable selection (`iv`, `var_filter`)\n- weight of evidence (woe) binning (`woebin`, `woebin_plot`, `woebin_adj`, `woebin_ply`)\n- scorecard scaling (`scorecard`, `scorecard_ply`)\n- performance evaluation (`perf_eva`, `perf_psi`)\n\n## Installation\n\n- Install the release version of `scorecardpy` from [PYPI](https://pypi.org/project/scorecardpy/) with:\n```\npip install scorecardpy\n```\n\n- Install the latest version of `scorecardpy` from [github](https://github.com/shichenxie/scorecardpy) with:\n```\npip install git+git://github.com/shichenxie/scorecardpy.git\n```\n\n## Example\n\nThis is a basic example which shows you how to develop a common credit risk scorecard:\n\n``` python\n# Traditional Credit Scoring Using Logistic Regression\nimport scorecardpy as sc\n\n# data prepare ------\n# load germancredit data\ndat = sc.germancredit()\n\n# filter variable via missing rate, iv, identical value rate\ndt_s = sc.var_filter(dat, y=\"creditability\")\n\n# breaking dt into train and test\ntrain, test = sc.split_df(dt_s, 'creditability').values()\n\n# woe binning ------\nbins = sc.woebin(dt_s, y=\"creditability\")\n# sc.woebin_plot(bins)\n\n# binning adjustment\n# # adjust breaks interactively\n# breaks_adj = sc.woebin_adj(dt_s, \"creditability\", bins) \n# # or specify breaks manually\nbreaks_adj = {\n 'age.in.years': [26, 35, 40],\n 'other.debtors.or.guarantors': [\"none\", \"co-applicant%,%guarantor\"]\n}\nbins_adj = sc.woebin(dt_s, y=\"creditability\", breaks_list=breaks_adj)\n\n# converting train and test into woe values\ntrain_woe = sc.woebin_ply(train, bins_adj)\ntest_woe = sc.woebin_ply(test, bins_adj)\n\ny_train = train_woe.loc[:,'creditability']\nX_train = train_woe.loc[:,train_woe.columns != 'creditability']\ny_test = test_woe.loc[:,'creditability']\nX_test = test_woe.loc[:,train_woe.columns != 'creditability']\n\n# logistic regression ------\nfrom sklearn.linear_model import LogisticRegression\nlr = LogisticRegression(penalty='l1', C=0.9, solver='saga', n_jobs=-1)\nlr.fit(X_train, y_train)\n# lr.coef_\n# lr.intercept_\n\n# predicted proability\ntrain_pred = lr.predict_proba(X_train)[:,1]\ntest_pred = lr.predict_proba(X_test)[:,1]\n\n# performance ks & roc ------\ntrain_perf = sc.perf_eva(y_train, train_pred, title = \"train\")\ntest_perf = sc.perf_eva(y_test, test_pred, title = \"test\")\n\n# score ------\ncard = sc.scorecard(bins_adj, lr, X_train.columns)\n# credit score\ntrain_score = sc.scorecard_ply(train, card, print_step=0)\ntest_score = sc.scorecard_ply(test, card, print_step=0)\n\n# psi\nsc.perf_psi(\n score = {'train':train_score, 'test':test_score},\n label = {'train':y_train, 'test':y_test}\n)\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/shichenxie/scorecardpy", "keywords": "credit scorecard,woe binning,performace evaluation", "license": "", "maintainer": "", "maintainer_email": "", "name": "scorecardpy", "package_url": "https://pypi.org/project/scorecardpy/", "platform": "", "project_url": "https://pypi.org/project/scorecardpy/", "project_urls": { "Bug Reports": "https://github.com/shichenxie/scorecardpy/issues", "Homepage": "http://github.com/shichenxie/scorecardpy", "Source": "https://github.com/shichenxie/scorecardpy/" }, "release_url": "https://pypi.org/project/scorecardpy/0.1.9.2/", "requires_dist": null, "requires_python": "", "summary": "Credit Risk Scorecard", "version": "0.1.9.2", "yanked": false, "yanked_reason": null }, "last_serial": 7017067, "releases": { "0.1.4": [ { "comment_text": "", "digests": { "md5": "7cee6c6fdb6f146c3d04690ee11a021a", "sha256": "77d0ad18bad4bb5f56f4fadb57f8882da376031cc925dd7790ad4a9fc0b14d58" }, "downloads": -1, "filename": "scorecardpy-0.1.4.tar.gz", "has_sig": false, "md5_digest": "7cee6c6fdb6f146c3d04690ee11a021a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49668, "upload_time": "2018-05-27T16:00:09", "upload_time_iso_8601": "2018-05-27T16:00:09.724743Z", "url": "https://files.pythonhosted.org/packages/8f/f2/037e3132abacc14212130278ffc5672cfbd4f33b3e1c4aa0eae9608bdf89/scorecardpy-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "38cc0ddb2cbe74f924e78d2c0aecce9f", "sha256": "5ec055d954dcab0a9f40948f1db2a8b0ed2cb65fae525595fbb80287704d7689" }, "downloads": -1, "filename": "scorecardpy-0.1.5.tar.gz", "has_sig": false, "md5_digest": "38cc0ddb2cbe74f924e78d2c0aecce9f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50337, "upload_time": "2018-06-27T08:41:16", "upload_time_iso_8601": "2018-06-27T08:41:16.823246Z", "url": "https://files.pythonhosted.org/packages/1a/1a/d321f635b55dd172175f5cc302a51d5fdf82e90c95822405b29f14c98aec/scorecardpy-0.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "a771abf62bdb9f10f126972e38208b01", "sha256": "b82ee93dfc14bf73004e8fe078e738aeff1ee3a83c2940f3c2b2406879eeaa4c" }, "downloads": -1, "filename": "scorecardpy-0.1.6.tar.gz", "has_sig": false, "md5_digest": "a771abf62bdb9f10f126972e38208b01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50580, "upload_time": "2018-07-20T03:40:27", "upload_time_iso_8601": "2018-07-20T03:40:27.725689Z", "url": "https://files.pythonhosted.org/packages/e5/49/e0041fc788911c41f0fff0394adcab63e65851ca4d4e5443b4527255923b/scorecardpy-0.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "a21526b3c946c0b824f8347ff78337ad", "sha256": "bf83b5b2140e8c58eb0793f3f0cab304c3cefe3994b0d5ca3b3822f974168312" }, "downloads": -1, "filename": "scorecardpy-0.1.7.tar.gz", "has_sig": false, "md5_digest": "a21526b3c946c0b824f8347ff78337ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51970, "upload_time": "2018-10-18T03:07:08", "upload_time_iso_8601": "2018-10-18T03:07:08.119006Z", "url": "https://files.pythonhosted.org/packages/13/df/9a43a4ce941d081d38b2a3e3fc89625c5da511a2187dabf687f6bd73dcbb/scorecardpy-0.1.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "f4963920c5a9305c583099309bdc1e89", "sha256": "d6a80151c2e933bec10091e1149ebd724822871f4979b2c3b598d3327e3f0eee" }, "downloads": -1, "filename": "scorecardpy-0.1.8.tar.gz", "has_sig": false, "md5_digest": "f4963920c5a9305c583099309bdc1e89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54695, "upload_time": "2019-09-16T13:44:42", "upload_time_iso_8601": "2019-09-16T13:44:42.528123Z", "url": "https://files.pythonhosted.org/packages/0c/79/9ce80d5493ff82c810c45915678a3dbd5177e037698b2f7ebfbea91a25f9/scorecardpy-0.1.8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "32ccdbfc8e98dc508229d0dddd06b3c0", "sha256": "b7ec9a25cc382392ac95b964b93dbbb4cf99d54c426443cbbc55657b27768c06" }, "downloads": -1, "filename": "scorecardpy-0.1.9.tar.gz", "has_sig": false, "md5_digest": "32ccdbfc8e98dc508229d0dddd06b3c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55055, "upload_time": "2019-10-30T15:55:43", "upload_time_iso_8601": "2019-10-30T15:55:43.321775Z", "url": "https://files.pythonhosted.org/packages/c1/f8/9fbd267080d5d130b0ebcfe9120f32909228a7e12f6326a3f69c346236e2/scorecardpy-0.1.9.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.9.1.1": [ { "comment_text": "", "digests": { "md5": "3b63b98e7cda18741a1358aa1c417ff9", "sha256": "b49fc424daa267fd2ba97d6cabb2d539602144d76d3977ac9fd3dba5da18ca24" }, "downloads": -1, "filename": "scorecardpy-0.1.9.1.1.tar.gz", "has_sig": false, "md5_digest": "3b63b98e7cda18741a1358aa1c417ff9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55240, "upload_time": "2019-11-10T13:41:37", "upload_time_iso_8601": "2019-11-10T13:41:37.338183Z", "url": "https://files.pythonhosted.org/packages/b3/fd/be6c15335e537d2360f85823cbb0b1c02cdd2ed9ff52539db78545db7115/scorecardpy-0.1.9.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.9.2": [ { "comment_text": "", "digests": { "md5": "e12d38f9b6a5f4dfd9b3bcb6126ea593", "sha256": "c3b427b8bb7c16eba7ff97af7fa339130ee53c809841d54ba4ce44abc9ecddf6" }, "downloads": -1, "filename": "scorecardpy-0.1.9.2.tar.gz", "has_sig": false, "md5_digest": "e12d38f9b6a5f4dfd9b3bcb6126ea593", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55446, "upload_time": "2020-04-14T13:14:21", "upload_time_iso_8601": "2020-04-14T13:14:21.235774Z", "url": "https://files.pythonhosted.org/packages/3e/18/8e3f675b9baaf027e84cb84f9bc3bb57381ab3d0b5241e089653d5d92784/scorecardpy-0.1.9.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e12d38f9b6a5f4dfd9b3bcb6126ea593", "sha256": "c3b427b8bb7c16eba7ff97af7fa339130ee53c809841d54ba4ce44abc9ecddf6" }, "downloads": -1, "filename": "scorecardpy-0.1.9.2.tar.gz", "has_sig": false, "md5_digest": "e12d38f9b6a5f4dfd9b3bcb6126ea593", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55446, "upload_time": "2020-04-14T13:14:21", "upload_time_iso_8601": "2020-04-14T13:14:21.235774Z", "url": "https://files.pythonhosted.org/packages/3e/18/8e3f675b9baaf027e84cb84f9bc3bb57381ab3d0b5241e089653d5d92784/scorecardpy-0.1.9.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }