version: 1.1.3
status: dev
author: hsz
email: hsz1273327@gmail.com
Desc
a simple tool for score card model
keywords:math,finance
Feature
Serializable
mutil classifier model support
ks-curve support
Change
scorecard now can set a threshold value to return a bool result
Example
>>> from sklearn import datasets
>>> import pandas as pd
>>> from ScoreCardModel.binning.discretization import Discretization
>>> from ScoreCardModel.weight_of_evidence import WeightOfEvidence
>>> from ScoreCardModel.models.logistic_regression_model import LogisticRegressionModel
>>> from ScoreCardModel.score_card import ScoreCardModel
>>>
>>> class MyLR(LogisticRegressionModel):
>>> def predict(self, x):
>>> x = self.pre_trade(x)
>>> return self._predict_proba(x)
>>>
>>> def pre_trade(self, x):
>>> import numpy as np
>>> result = []
>>> for i,v in x.items():
>>> t = self.ds[i].transform([v])[0]
>>> r = self.woes[i].transform([t])[0]
>>> result.append(r)
>>> return np.array(result)
>>>
>>> def _pre_trade_batch_row(self,row,Y,bins):
>>> d = Discretization(bins)
>>> d_row = d.transform(row)
>>> woe = WeightOfEvidence()
>>> woe.fit(d_row,Y)
>>> return d,woe,woe.transform(d_row)
>>>
>>> def pre_trade_batch(self, X,Y):
>>> self.ds = {}
>>> self.woes = {}
>>> self.table = {}
>>> self.ds["sepal length (cm)"],self.woes["sepal length (cm)"],self.table["sepal length (cm)"]= self._pre_trade_batch_row(
>>> X["sepal length (cm)"],Y,[0,2,5,8])
>>> self.ds['sepal width (cm)'],self.woes['sepal width (cm)'],self.table['sepal width (cm)'] = self._pre_trade_batch_row(
>>> X['sepal width (cm)'],Y,[0,2,2.5,3,3.5,5])
>>> self.ds['petal length (cm)'],self.woes['petal length (cm)'],self.table['petal length (cm)'] = self._pre_trade_batch_row(
>>> X['petal length (cm)'],Y,[0,1,2,3,4,5,7])
>>> self.ds['petal width (cm)'],self.woes['petal width (cm)'],self.table['petal width (cm)'] = self._pre_trade_batch_row(
>>> X['petal width (cm)'],Y,[0,1,2,3])
>>> return pd.DataFrame(self.table)
>>>
>>> iris = datasets.load_iris()
>>> y = iris.target
>>> z = (y==0)
>>> l = pd.DataFrame(iris.data,columns=iris.feature_names)
>>> lr = MyLR()
>>> lr.train(l,z)
>>> lr.predict(l.loc[0].to_dict())
array([[ 0.46315882, 0.53684118]])
>>> sc = ScoreCardModel(lr)
>>> sc.predict(sc.pre_trade(l.loc[0].to_dict()))
104.3
>>> scs = []
>>> for i in range(len(l)):
>>> score = sc.predict(sc.pre_trade(l.loc[i].to_dict()))
>>> scs.append(score)
>>> print(ScoreCardWithKSModel.Threshold_to_score(scs, 0.5))
1.0
>>> print(ScoreCardWithKSModel.Score_to_threshold(scs, score=70))
1.0
.
.
.
>>> print(ScoreCardWithKSModel.Score_to_threshold(scs, y=z, score=100))
0.3467
>>> print(ScoreCardWithKSModel.Get_ks(scs, y=z, threshold=0.4).ks)
0.9
>>> # ScoreCardWithKSModel.Drawks(scs, y=z)
>>> scsc = [l.loc[i].to_dict() for i in range(len(l))]
>>> scks = ScoreCardWithKSModel.From_scorecard(sc)
>>> print(scks.threshold_to_score(scsc, 0.5))
1.0
>>> print(scks.score_to_threshold(scsc, score=70))
1.0
.
.
.
>>> print(scks.score_to_threshold(scsc, y=z, score=100))
0.3467
>>> print(scks.get_ks(scsc, y=z, threshold=0.4).ks)
0.9
>>> scks.drawks(scsc, y=z)
Install
python -m pip install ScoreCardModel
Documentation
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ScoreCardModel-1.1.3.tar.gz
(15.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ScoreCardModel-1.1.3.tar.gz.
File metadata
- Download URL: ScoreCardModel-1.1.3.tar.gz
- Upload date:
- Size: 15.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a1247b272db1caa344b7e245a266f31282fc3d2aa4958f4121770c599f18421
|
|
| MD5 |
e4558a9ac6275b3f1c897246945a16a8
|
|
| BLAKE2b-256 |
3e4eb7d0f4a8849b5d6641dcb7cf29a7b2b81455d6837586d4dfdc9a06147b33
|
File details
Details for the file ScoreCardModel-1.1.3-py3-none-any.whl.
File metadata
- Download URL: ScoreCardModel-1.1.3-py3-none-any.whl
- Upload date:
- Size: 25.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f254b50b399a29d61a9fbd4dff84e8862b0252a8aa3063b250ffeca23b4363d
|
|
| MD5 |
fbc663678095018225ce1e2ce8005336
|
|
| BLAKE2b-256 |
611ca97828daa41692f22135448ae5633346c3cde178d100bc1424465034f44e
|