%global _empty_manifest_terminate_build 0 Name: python-scorecardpy Version: 0.1.9.2 Release: 1 Summary: Credit Risk Scorecard License: MIT License URL: http://github.com/shichenxie/scorecardpy Source0: https://mirrors.nju.edu.cn/pypi/web/packages/3e/18/8e3f675b9baaf027e84cb84f9bc3bb57381ab3d0b5241e089653d5d92784/scorecardpy-0.1.9.2.tar.gz BuildArch: noarch %description # scorecardpy [![PyPI version](https://img.shields.io/pypi/pyversions/scorecardpy.svg)](https://pypi.python.org/pypi/scorecardpy) [![PyPI release](https://img.shields.io/pypi/v/scorecardpy.svg)](https://pypi.python.org/pypi/scorecardpy) [![Downloads](http://pepy.tech/badge/scorecardpy)](http://pepy.tech/project/scorecardpy) [![Downloads](https://pepy.tech/badge/scorecardpy/month)](https://pepy.tech/project/scorecardpy/month) This package is python version of R package [scorecard](https://github.com/ShichenXie/scorecard). Its goal is to make the development of traditional credit risk scorecard model easier and efficient by providing functions for some common tasks. - data partition (`split_df`) - variable selection (`iv`, `var_filter`) - weight of evidence (woe) binning (`woebin`, `woebin_plot`, `woebin_adj`, `woebin_ply`) - scorecard scaling (`scorecard`, `scorecard_ply`) - performance evaluation (`perf_eva`, `perf_psi`) ## Installation - Install the release version of `scorecardpy` from [PYPI](https://pypi.org/project/scorecardpy/) with: ``` pip install scorecardpy ``` - Install the latest version of `scorecardpy` from [github](https://github.com/shichenxie/scorecardpy) with: ``` pip install git+git://github.com/shichenxie/scorecardpy.git ``` ## Example This is a basic example which shows you how to develop a common credit risk scorecard: ``` python # Traditional Credit Scoring Using Logistic Regression import scorecardpy as sc # data prepare ------ # load germancredit data dat = sc.germancredit() # filter variable via missing rate, iv, identical value rate dt_s = sc.var_filter(dat, y="creditability") # breaking dt into train and test train, test = sc.split_df(dt_s, 'creditability').values() # woe binning ------ bins = sc.woebin(dt_s, y="creditability") # sc.woebin_plot(bins) # binning adjustment # # adjust breaks interactively # breaks_adj = sc.woebin_adj(dt_s, "creditability", bins) # # or specify breaks manually breaks_adj = { 'age.in.years': [26, 35, 40], 'other.debtors.or.guarantors': ["none", "co-applicant%,%guarantor"] } bins_adj = sc.woebin(dt_s, y="creditability", breaks_list=breaks_adj) # converting train and test into woe values train_woe = sc.woebin_ply(train, bins_adj) test_woe = sc.woebin_ply(test, bins_adj) y_train = train_woe.loc[:,'creditability'] X_train = train_woe.loc[:,train_woe.columns != 'creditability'] y_test = test_woe.loc[:,'creditability'] X_test = test_woe.loc[:,train_woe.columns != 'creditability'] # logistic regression ------ from sklearn.linear_model import LogisticRegression lr = LogisticRegression(penalty='l1', C=0.9, solver='saga', n_jobs=-1) lr.fit(X_train, y_train) # lr.coef_ # lr.intercept_ # predicted proability train_pred = lr.predict_proba(X_train)[:,1] test_pred = lr.predict_proba(X_test)[:,1] # performance ks & roc ------ train_perf = sc.perf_eva(y_train, train_pred, title = "train") test_perf = sc.perf_eva(y_test, test_pred, title = "test") # score ------ card = sc.scorecard(bins_adj, lr, X_train.columns) # credit score train_score = sc.scorecard_ply(train, card, print_step=0) test_score = sc.scorecard_ply(test, card, print_step=0) # psi sc.perf_psi( score = {'train':train_score, 'test':test_score}, label = {'train':y_train, 'test':y_test} ) ``` %package -n python3-scorecardpy Summary: Credit Risk Scorecard Provides: python-scorecardpy BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-scorecardpy # scorecardpy [![PyPI version](https://img.shields.io/pypi/pyversions/scorecardpy.svg)](https://pypi.python.org/pypi/scorecardpy) [![PyPI release](https://img.shields.io/pypi/v/scorecardpy.svg)](https://pypi.python.org/pypi/scorecardpy) [![Downloads](http://pepy.tech/badge/scorecardpy)](http://pepy.tech/project/scorecardpy) [![Downloads](https://pepy.tech/badge/scorecardpy/month)](https://pepy.tech/project/scorecardpy/month) This package is python version of R package [scorecard](https://github.com/ShichenXie/scorecard). Its goal is to make the development of traditional credit risk scorecard model easier and efficient by providing functions for some common tasks. - data partition (`split_df`) - variable selection (`iv`, `var_filter`) - weight of evidence (woe) binning (`woebin`, `woebin_plot`, `woebin_adj`, `woebin_ply`) - scorecard scaling (`scorecard`, `scorecard_ply`) - performance evaluation (`perf_eva`, `perf_psi`) ## Installation - Install the release version of `scorecardpy` from [PYPI](https://pypi.org/project/scorecardpy/) with: ``` pip install scorecardpy ``` - Install the latest version of `scorecardpy` from [github](https://github.com/shichenxie/scorecardpy) with: ``` pip install git+git://github.com/shichenxie/scorecardpy.git ``` ## Example This is a basic example which shows you how to develop a common credit risk scorecard: ``` python # Traditional Credit Scoring Using Logistic Regression import scorecardpy as sc # data prepare ------ # load germancredit data dat = sc.germancredit() # filter variable via missing rate, iv, identical value rate dt_s = sc.var_filter(dat, y="creditability") # breaking dt into train and test train, test = sc.split_df(dt_s, 'creditability').values() # woe binning ------ bins = sc.woebin(dt_s, y="creditability") # sc.woebin_plot(bins) # binning adjustment # # adjust breaks interactively # breaks_adj = sc.woebin_adj(dt_s, "creditability", bins) # # or specify breaks manually breaks_adj = { 'age.in.years': [26, 35, 40], 'other.debtors.or.guarantors': ["none", "co-applicant%,%guarantor"] } bins_adj = sc.woebin(dt_s, y="creditability", breaks_list=breaks_adj) # converting train and test into woe values train_woe = sc.woebin_ply(train, bins_adj) test_woe = sc.woebin_ply(test, bins_adj) y_train = train_woe.loc[:,'creditability'] X_train = train_woe.loc[:,train_woe.columns != 'creditability'] y_test = test_woe.loc[:,'creditability'] X_test = test_woe.loc[:,train_woe.columns != 'creditability'] # logistic regression ------ from sklearn.linear_model import LogisticRegression lr = LogisticRegression(penalty='l1', C=0.9, solver='saga', n_jobs=-1) lr.fit(X_train, y_train) # lr.coef_ # lr.intercept_ # predicted proability train_pred = lr.predict_proba(X_train)[:,1] test_pred = lr.predict_proba(X_test)[:,1] # performance ks & roc ------ train_perf = sc.perf_eva(y_train, train_pred, title = "train") test_perf = sc.perf_eva(y_test, test_pred, title = "test") # score ------ card = sc.scorecard(bins_adj, lr, X_train.columns) # credit score train_score = sc.scorecard_ply(train, card, print_step=0) test_score = sc.scorecard_ply(test, card, print_step=0) # psi sc.perf_psi( score = {'train':train_score, 'test':test_score}, label = {'train':y_train, 'test':y_test} ) ``` %package help Summary: Development documents and examples for scorecardpy Provides: python3-scorecardpy-doc %description help # scorecardpy [![PyPI version](https://img.shields.io/pypi/pyversions/scorecardpy.svg)](https://pypi.python.org/pypi/scorecardpy) [![PyPI release](https://img.shields.io/pypi/v/scorecardpy.svg)](https://pypi.python.org/pypi/scorecardpy) [![Downloads](http://pepy.tech/badge/scorecardpy)](http://pepy.tech/project/scorecardpy) [![Downloads](https://pepy.tech/badge/scorecardpy/month)](https://pepy.tech/project/scorecardpy/month) This package is python version of R package [scorecard](https://github.com/ShichenXie/scorecard). Its goal is to make the development of traditional credit risk scorecard model easier and efficient by providing functions for some common tasks. - data partition (`split_df`) - variable selection (`iv`, `var_filter`) - weight of evidence (woe) binning (`woebin`, `woebin_plot`, `woebin_adj`, `woebin_ply`) - scorecard scaling (`scorecard`, `scorecard_ply`) - performance evaluation (`perf_eva`, `perf_psi`) ## Installation - Install the release version of `scorecardpy` from [PYPI](https://pypi.org/project/scorecardpy/) with: ``` pip install scorecardpy ``` - Install the latest version of `scorecardpy` from [github](https://github.com/shichenxie/scorecardpy) with: ``` pip install git+git://github.com/shichenxie/scorecardpy.git ``` ## Example This is a basic example which shows you how to develop a common credit risk scorecard: ``` python # Traditional Credit Scoring Using Logistic Regression import scorecardpy as sc # data prepare ------ # load germancredit data dat = sc.germancredit() # filter variable via missing rate, iv, identical value rate dt_s = sc.var_filter(dat, y="creditability") # breaking dt into train and test train, test = sc.split_df(dt_s, 'creditability').values() # woe binning ------ bins = sc.woebin(dt_s, y="creditability") # sc.woebin_plot(bins) # binning adjustment # # adjust breaks interactively # breaks_adj = sc.woebin_adj(dt_s, "creditability", bins) # # or specify breaks manually breaks_adj = { 'age.in.years': [26, 35, 40], 'other.debtors.or.guarantors': ["none", "co-applicant%,%guarantor"] } bins_adj = sc.woebin(dt_s, y="creditability", breaks_list=breaks_adj) # converting train and test into woe values train_woe = sc.woebin_ply(train, bins_adj) test_woe = sc.woebin_ply(test, bins_adj) y_train = train_woe.loc[:,'creditability'] X_train = train_woe.loc[:,train_woe.columns != 'creditability'] y_test = test_woe.loc[:,'creditability'] X_test = test_woe.loc[:,train_woe.columns != 'creditability'] # logistic regression ------ from sklearn.linear_model import LogisticRegression lr = LogisticRegression(penalty='l1', C=0.9, solver='saga', n_jobs=-1) lr.fit(X_train, y_train) # lr.coef_ # lr.intercept_ # predicted proability train_pred = lr.predict_proba(X_train)[:,1] test_pred = lr.predict_proba(X_test)[:,1] # performance ks & roc ------ train_perf = sc.perf_eva(y_train, train_pred, title = "train") test_perf = sc.perf_eva(y_test, test_pred, title = "test") # score ------ card = sc.scorecard(bins_adj, lr, X_train.columns) # credit score train_score = sc.scorecard_ply(train, card, print_step=0) test_score = sc.scorecard_ply(test, card, print_step=0) # psi sc.perf_psi( score = {'train':train_score, 'test':test_score}, label = {'train':y_train, 'test':y_test} ) ``` %prep %autosetup -n scorecardpy-0.1.9.2 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-scorecardpy -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Apr 25 2023 Python_Bot - 0.1.9.2-1 - Package Spec generated