# XGBoost模型转sql语句工具包
现在是大数据量的时代,我们开发的模型要应用在特别大的待预测集上,使用单机的python,需要预测2、3天,甚至更久,中途很有可能中断。因此需要通过分布式的方式来预测。这个工具包就是实现了将训练好的python模型,转换成sql语句。将生成的sql语句可以放到大数据环境中进行分布式执行预测,能比单机的python预测快好几个量级
## 思想碰撞
| 微信 | 微信公众号 |
| :---: | :----: |
| <img src="https://github.com/ZhengRyan/autotreemodel/blob/master/images/%E5%B9%B2%E9%A5%AD%E4%BA%BA.png" alt="RyanZheng.png" width="50%" border=0/> | <img src="https://github.com/ZhengRyan/autotreemodel/blob/master/images/%E9%AD%94%E9%83%BD%E6%95%B0%E6%8D%AE%E5%B9%B2%E9%A5%AD%E4%BA%BA.png" alt="魔都数据干饭人.png" width="50%" border=0/> |
| 干饭人 | 魔都数据干饭人 |
> 仓库地址:https://github.com/ZhengRyan/xgboost2sql
>
> 微信公众号文章:https://mp.weixin.qq.com/s/z3IjzMFKP7iEoag5KP6nAA
>
> pipy包:https://pypi.org/project/xgboost2sql/
## 环境准备
可以不用单独创建虚拟环境,因为对包的依赖没有版本要求
### `xgboost2sql` 安装
pip install(pip安装)
```bash
pip install xgboost2sql # to install
pip install -U xgboost2sql # to upgrade
```
Source code install(源码安装)
```bash
python setup.py install
```
## 运行样例
###【注意:::核验对比python模型预测出来的结果和sql语句预测出来的结果是否一致请查看教程代码】"https://github.com/ZhengRyan/xgboost2sql/examples/tutorial_code.ipynb"
+ 导入相关依赖
```python
import xgboost as xgb
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from xgboost2sql import XGBoost2Sql
```
+ 训练1个xgboost二分类模型
```python
X, y = make_classification(n_samples=10000,
n_features=10,
n_informative=3,
n_redundant=2,
n_repeated=0,
n_classes=2,
weights=[0.7, 0.3],
flip_y=0.1,
random_state=1024)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1024)
###训练模型
model = xgb.XGBClassifier(n_estimators=3)
model.fit(X_train, y_train)
#xgb.to_graphviz(model)
```
+ 使用xgboost2sql工具包将模型转换成的sql语句
```python
xgb2sql = XGBoost2Sql()
sql_str = xgb2sql.transform(model)
```
+ 将sql语句保存
```python
xgb2sql.save()
```
+ 将sql语句打印出来
```python
print(sql_str)
```
```sql
select key,1 / (1 + exp(-(tree_1_score + tree_2_score + tree_3_score)+(-0.0))) as score
from (
select key,
--tree1
case when (f9<-1.64164519 or f9 is null) then
case when (f3<-4.19117069 or f3 is null) then
case when (f2<-1.31743848 or f2 is null) then
-0.150000006
else
-0.544186056
end
else
case when (f3<1.23432565 or f3 is null) then
case when (f7<-2.55682254 or f7 is null) then
-0.200000018
else
case when (f5<0.154983491 or f5 is null) then
0.544721723
else
case when (f3<0.697217584 or f3 is null) then
-0.150000006
else
0.333333373
end
end
end
else
case when (f5<-1.0218116 or f5 is null) then
case when (f0<-0.60882163 or f0 is null) then
case when (f2<0.26019755 or f2 is null) then
0.0666666701
else
-0.300000012
end
else
-0.520000041
end
else
0.333333373
end
end
end
else
case when (f9<1.60392439 or f9 is null) then
case when (f3<0.572542191 or f3 is null) then
case when (f5<0.653370142 or f5 is null) then
case when (f7<-0.765973091 or f7 is null) then
case when (f3<-0.432390809 or f3 is null) then
0.204000011
else
-0.485454559
end
else
case when (f3<-1.20459461 or f3 is null) then
-0.5104478
else
0.441509455
end
end
else
case when (f7<0.133017987 or f7 is null) then
case when (f8<0.320554674 or f8 is null) then
-0.290322572
else
0.368339777
end
else
case when (f8<-0.211985052 or f8 is null) then
0.504000008
else
-0.525648415
end
end
end
else
case when (f7<2.22314501 or f7 is null) then
case when (f8<-0.00532855326 or f8 is null) then
case when (f8<-0.204920739 or f8 is null) then
-0.533991575
else
-0.200000018
end
else
0.428571463
end
else
case when (f3<1.33772755 or f3 is null) then
case when (f0<-0.975171864 or f0 is null) then
0.163636371
else
0.51818186
end
else
-0
end
end
end
else
case when (f3<1.77943277 or f3 is null) then
case when (f7<-0.469875157 or f7 is null) then
case when (f3<-0.536645889 or f3 is null) then
case when (f9<1.89841866 or f9 is null) then
-0
else
0.333333373
end
else
case when (f4<-2.43660188 or f4 is null) then
0.150000006
else
0.551020443
end
end
else
case when (f1<-0.0788691565 or f1 is null) then
0.150000006
else
-0.375
end
end
else
case when (f4<-1.73232496 or f4 is null) then
-0.150000006
else
case when (f6<-1.6080606 or f6 is null) then
-0.150000006
else
case when (f7<-0.259483218 or f7 is null) then
-0.558620751
else
-0.300000012
end
end
end
end
end
end
as tree_1_score,
--tree2
case when (f9<-1.64164519 or f9 is null) then
case when (f3<-4.19117069 or f3 is null) then
case when (f0<0.942570388 or f0 is null) then
-0.432453066
else
-0.128291652
end
else
case when (f3<1.23432565 or f3 is null) then
case when (f7<-2.55682254 or f7 is null) then
-0.167702854
else
case when (f5<0.154983491 or f5 is null) then
case when (f1<2.19985676 or f1 is null) then
0.41752997
else
0.115944751
end
else
0.115584135
end
end
else
case when (f5<-1.0218116 or f5 is null) then
case when (f0<-0.60882163 or f0 is null) then
-0.119530827
else
-0.410788596
end
else
0.28256765
end
end
end
else
case when (f9<1.60392439 or f9 is null) then
case when (f3<0.460727394 or f3 is null) then
case when (f5<0.653370142 or f5 is null) then
case when (f7<-0.933565617 or f7 is null) then
case when (f3<-0.572475374 or f3 is null) then
0.182491601
else
-0.377898693
end
else
case when (f3<-1.20459461 or f3 is null) then
-0.392539263
else
0.352721155
end
end
else
case when (f7<0.207098693 or f7 is null) then
case when (f8<0.498489976 or f8 is null) then
-0.193351224
else
0.29298231
end
else
case when (f8<-0.117464997 or f8 is null) then
0.400667101
else
-0.402199954
end
end
end
else
case when (f7<1.98268723 or f7 is null) then
case when (f8<-0.00532855326 or f8 is null) then
case when (f7<1.36281848 or f7 is null) then
-0.408002198
else
-0.236123681
end
else
case when (f5<1.14038813 or f5 is null) then
0.404326111
else
-0.110877581
end
end
else
case when (f3<1.56952488 or f3 is null) then
case when (f5<2.14646816 or f5 is null) then
0.409404457
else
0.0696995854
end
else
-0.32059738
end
end
end
else
case when (f3<1.77943277 or f3 is null) then
case when (f7<-0.469875157 or f7 is null) then
case when (f3<-0.536645889 or f3 is null) then
case when (f9<1.89841866 or f9 is null) then
-0
else
0.28256765
end
else
0.419863999
end
else
case when (f3<0.444227457 or f3 is null) then
-0.34664312
else
0.0693304539
end
end
else
case when (f4<-1.10089087 or f4 is null) then
case when (f3<2.3550868 or f3 is null) then
0.0147894565
else
-0.331404865
end
else
-0.421277165
end
end
end
end
as tree_2_score,
--tree3
case when (f9<-1.64164519 or f9 is null) then
case when (f3<-4.19117069 or f3 is null) then
case when (f4<-1.30126143 or f4 is null) then
-0.0772174299
else
-0.374165356
end
else
case when (f3<1.23432565 or f3 is null) then
case when (f7<-2.55682254 or f7 is null) then
-0.142005175
else
case when (f5<0.154983491 or f5 is null) then
case when (f7<3.59379435 or f7 is null) then
0.352122813
else
0.132789165
end
else
0.0924336985
end
end
else
case when (f5<-1.0218116 or f5 is null) then
case when (f0<-0.60882163 or f0 is null) then
-0.0954768136
else
-0.351594836
end
else
0.245992288
end
end
end
else
case when (f9<1.60392439 or f9 is null) then
case when (f3<0.347133756 or f3 is null) then
case when (f5<0.661561131 or f5 is null) then
case when (f7<-0.933565617 or f7 is null) then
case when (f3<-0.472413659 or f3 is null) then
0.116336405
else
-0.313245147
end
else
case when (f3<-1.5402329 or f3 is null) then
-0.352897167
else
0.311400592
end
end
else
case when (f7<0.275665522 or f7 is null) then
case when (f8<0.403402805 or f8 is null) then
-0.292606086
else
0.220064178
end
else
case when (f8<-0.0442957953 or f8 is null) then
0.350784421
else
-0.336107522
end
end
end
else
case when (f7<1.77503061 or f7 is null) then
case when (f8<0.196157426 or f8 is null) then
case when (f7<1.36281848 or f7 is null) then
-0.3376683
else
-0.0711223111
end
else
case when (f7<-0.661211252 or f7 is null) then
0.434363276
else
-0.219307661
end
end
else
case when (f3<1.37940335 or f3 is null) then
case when (f6<1.34894884 or f6 is null) then
0.367155522
else
0.124757253
end
else
-0.293739736
end
end
end
else
case when (f3<1.77943277 or f3 is null) then
case when (f7<-0.469875157 or f7 is null) then
case when (f3<-0.536645889 or f3 is null) then
case when (f9<1.89841866 or f9 is null) then
-0
else
0.245992288
end
else
case when (f0<1.60565615 or f0 is null) then
0.357973605
else
0.193993196
end
end
else
case when (f9<1.89456153 or f9 is null) then
-0.276471078
else
0.111896731
end
end
else
case when (f1<1.35706067 or f1 is null) then
case when (f4<-1.10089087 or f4 is null) then
case when (f3<2.3550868 or f3 is null) then
0.0119848112
else
-0.284813672
end
else
-0.376859784
end
else
case when (f2<-0.25748384 or f2 is null) then
0.0723158419
else
-0.253415495
end
end
end
end
end
as tree_3_score
from data_table)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/ZhengRyan/xgboost2sql",
"name": "xgboost2sql",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "xgboost2sql",
"author": "RyanZheng",
"author_email": "zhengruiping000@163.com",
"download_url": "https://files.pythonhosted.org/packages/f8/90/ba7a311ad6419754f64d89aad332f2155db42d77ae6191caccadcc84a67e/xgboost2sql-0.1.1.tar.gz",
"platform": null,
"description": "# XGBoost\u6a21\u578b\u8f6csql\u8bed\u53e5\u5de5\u5177\u5305\n\u73b0\u5728\u662f\u5927\u6570\u636e\u91cf\u7684\u65f6\u4ee3\uff0c\u6211\u4eec\u5f00\u53d1\u7684\u6a21\u578b\u8981\u5e94\u7528\u5728\u7279\u522b\u5927\u7684\u5f85\u9884\u6d4b\u96c6\u4e0a\uff0c\u4f7f\u7528\u5355\u673a\u7684python\uff0c\u9700\u8981\u9884\u6d4b2\u30013\u5929\uff0c\u751a\u81f3\u66f4\u4e45\uff0c\u4e2d\u9014\u5f88\u6709\u53ef\u80fd\u4e2d\u65ad\u3002\u56e0\u6b64\u9700\u8981\u901a\u8fc7\u5206\u5e03\u5f0f\u7684\u65b9\u5f0f\u6765\u9884\u6d4b\u3002\u8fd9\u4e2a\u5de5\u5177\u5305\u5c31\u662f\u5b9e\u73b0\u4e86\u5c06\u8bad\u7ec3\u597d\u7684python\u6a21\u578b\uff0c\u8f6c\u6362\u6210sql\u8bed\u53e5\u3002\u5c06\u751f\u6210\u7684sql\u8bed\u53e5\u53ef\u4ee5\u653e\u5230\u5927\u6570\u636e\u73af\u5883\u4e2d\u8fdb\u884c\u5206\u5e03\u5f0f\u6267\u884c\u9884\u6d4b\uff0c\u80fd\u6bd4\u5355\u673a\u7684python\u9884\u6d4b\u5feb\u597d\u51e0\u4e2a\u91cf\u7ea7\n\n\n## \u601d\u60f3\u78b0\u649e\n\n| \u5fae\u4fe1 | \u5fae\u4fe1\u516c\u4f17\u53f7 |\n| :---: | :----: |\n| <img src=\"https://github.com/ZhengRyan/autotreemodel/blob/master/images/%E5%B9%B2%E9%A5%AD%E4%BA%BA.png\" alt=\"RyanZheng.png\" width=\"50%\" border=0/> | <img src=\"https://github.com/ZhengRyan/autotreemodel/blob/master/images/%E9%AD%94%E9%83%BD%E6%95%B0%E6%8D%AE%E5%B9%B2%E9%A5%AD%E4%BA%BA.png\" alt=\"\u9b54\u90fd\u6570\u636e\u5e72\u996d\u4eba.png\" width=\"50%\" border=0/> |\n| \u5e72\u996d\u4eba | \u9b54\u90fd\u6570\u636e\u5e72\u996d\u4eba |\n\n\n> \u4ed3\u5e93\u5730\u5740\uff1ahttps://github.com/ZhengRyan/xgboost2sql\n> \n> \u5fae\u4fe1\u516c\u4f17\u53f7\u6587\u7ae0\uff1ahttps://mp.weixin.qq.com/s/z3IjzMFKP7iEoag5KP6nAA\n> \n> pipy\u5305\uff1ahttps://pypi.org/project/xgboost2sql/\n\n\n\n## \u73af\u5883\u51c6\u5907\n\u53ef\u4ee5\u4e0d\u7528\u5355\u72ec\u521b\u5efa\u865a\u62df\u73af\u5883\uff0c\u56e0\u4e3a\u5bf9\u5305\u7684\u4f9d\u8d56\u6ca1\u6709\u7248\u672c\u8981\u6c42\n\n### `xgboost2sql` \u5b89\u88c5\npip install\uff08pip\u5b89\u88c5\uff09\n\n```bash\npip install xgboost2sql # to install\npip install -U xgboost2sql # to upgrade\n```\n\nSource code install\uff08\u6e90\u7801\u5b89\u88c5\uff09\n\n```bash\npython setup.py install\n```\n\n## \u8fd0\u884c\u6837\u4f8b\n###\u3010\u6ce8\u610f\uff1a\uff1a\uff1a\u6838\u9a8c\u5bf9\u6bd4python\u6a21\u578b\u9884\u6d4b\u51fa\u6765\u7684\u7ed3\u679c\u548csql\u8bed\u53e5\u9884\u6d4b\u51fa\u6765\u7684\u7ed3\u679c\u662f\u5426\u4e00\u81f4\u8bf7\u67e5\u770b\u6559\u7a0b\u4ee3\u7801\u3011\"https://github.com/ZhengRyan/xgboost2sql/examples/tutorial_code.ipynb\"\n\n+ \u5bfc\u5165\u76f8\u5173\u4f9d\u8d56\n```python\nimport xgboost as xgb \nfrom sklearn.datasets import make_classification\nfrom sklearn.model_selection import train_test_split\nfrom xgboost2sql import XGBoost2Sql\n```\n\n+ \u8bad\u7ec31\u4e2axgboost\u4e8c\u5206\u7c7b\u6a21\u578b\n```python\nX, y = make_classification(n_samples=10000,\n n_features=10,\n n_informative=3,\n n_redundant=2,\n n_repeated=0,\n n_classes=2,\n weights=[0.7, 0.3],\n flip_y=0.1,\n random_state=1024)\n\nX_train, X_test, y_train, y_test = train_test_split(X, y, random_state=1024)\n\n###\u8bad\u7ec3\u6a21\u578b\nmodel = xgb.XGBClassifier(n_estimators=3)\nmodel.fit(X_train, y_train)\n#xgb.to_graphviz(model)\n```\n+ \u4f7f\u7528xgboost2sql\u5de5\u5177\u5305\u5c06\u6a21\u578b\u8f6c\u6362\u6210\u7684sql\u8bed\u53e5\n```python\nxgb2sql = XGBoost2Sql()\nsql_str = xgb2sql.transform(model)\n```\n\n+ \u5c06sql\u8bed\u53e5\u4fdd\u5b58\n```python\nxgb2sql.save()\n```\n\n+ \u5c06sql\u8bed\u53e5\u6253\u5370\u51fa\u6765\n```python\nprint(sql_str)\n```\n\n```sql\nselect key,1 / (1 + exp(-(tree_1_score + tree_2_score + tree_3_score)+(-0.0))) as score\n from (\n select key,\n --tree1\n\t\tcase when (f9<-1.64164519 or f9 is null) then\n\t\t\tcase when (f3<-4.19117069 or f3 is null) then\n\t\t\t\tcase when (f2<-1.31743848 or f2 is null) then\n\t\t\t\t\t-0.150000006\n\t\t\t\telse\n\t\t\t\t\t-0.544186056\n\t\t\t\tend\n\t\t\telse\n\t\t\t\tcase when (f3<1.23432565 or f3 is null) then\n\t\t\t\t\tcase when (f7<-2.55682254 or f7 is null) then\n\t\t\t\t\t\t-0.200000018\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f5<0.154983491 or f5 is null) then\n\t\t\t\t\t\t\t0.544721723\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tcase when (f3<0.697217584 or f3 is null) then\n\t\t\t\t\t\t\t\t-0.150000006\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.333333373\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\telse\n\t\t\t\t\tcase when (f5<-1.0218116 or f5 is null) then\n\t\t\t\t\t\tcase when (f0<-0.60882163 or f0 is null) then\n\t\t\t\t\t\t\tcase when (f2<0.26019755 or f2 is null) then\n\t\t\t\t\t\t\t\t0.0666666701\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.300000012\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t-0.520000041\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\t0.333333373\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\tend\n\t\telse\n\t\t\tcase when (f9<1.60392439 or f9 is null) then\n\t\t\t\tcase when (f3<0.572542191 or f3 is null) then\n\t\t\t\t\tcase when (f5<0.653370142 or f5 is null) then\n\t\t\t\t\t\tcase when (f7<-0.765973091 or f7 is null) then\n\t\t\t\t\t\t\tcase when (f3<-0.432390809 or f3 is null) then\n\t\t\t\t\t\t\t\t0.204000011\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.485454559\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tcase when (f3<-1.20459461 or f3 is null) then\n\t\t\t\t\t\t\t\t-0.5104478\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.441509455\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f7<0.133017987 or f7 is null) then\n\t\t\t\t\t\t\tcase when (f8<0.320554674 or f8 is null) then\n\t\t\t\t\t\t\t\t-0.290322572\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.368339777\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tcase when (f8<-0.211985052 or f8 is null) then\n\t\t\t\t\t\t\t\t0.504000008\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.525648415\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\telse\n\t\t\t\t\tcase when (f7<2.22314501 or f7 is null) then\n\t\t\t\t\t\tcase when (f8<-0.00532855326 or f8 is null) then\n\t\t\t\t\t\t\tcase when (f8<-0.204920739 or f8 is null) then\n\t\t\t\t\t\t\t\t-0.533991575\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.200000018\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t0.428571463\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f3<1.33772755 or f3 is null) then\n\t\t\t\t\t\t\tcase when (f0<-0.975171864 or f0 is null) then\n\t\t\t\t\t\t\t\t0.163636371\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.51818186\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t-0\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\telse\n\t\t\t\tcase when (f3<1.77943277 or f3 is null) then\n\t\t\t\t\tcase when (f7<-0.469875157 or f7 is null) then\n\t\t\t\t\t\tcase when (f3<-0.536645889 or f3 is null) then\n\t\t\t\t\t\t\tcase when (f9<1.89841866 or f9 is null) then\n\t\t\t\t\t\t\t\t-0\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.333333373\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tcase when (f4<-2.43660188 or f4 is null) then\n\t\t\t\t\t\t\t\t0.150000006\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.551020443\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f1<-0.0788691565 or f1 is null) then\n\t\t\t\t\t\t\t0.150000006\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t-0.375\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\telse\n\t\t\t\t\tcase when (f4<-1.73232496 or f4 is null) then\n\t\t\t\t\t\t-0.150000006\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f6<-1.6080606 or f6 is null) then\n\t\t\t\t\t\t\t-0.150000006\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tcase when (f7<-0.259483218 or f7 is null) then\n\t\t\t\t\t\t\t\t-0.558620751\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.300000012\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\tend\n\t\tend\n\t\tas tree_1_score,\n--tree2\n\t\tcase when (f9<-1.64164519 or f9 is null) then\n\t\t\tcase when (f3<-4.19117069 or f3 is null) then\n\t\t\t\tcase when (f0<0.942570388 or f0 is null) then\n\t\t\t\t\t-0.432453066\n\t\t\t\telse\n\t\t\t\t\t-0.128291652\n\t\t\t\tend\n\t\t\telse\n\t\t\t\tcase when (f3<1.23432565 or f3 is null) then\n\t\t\t\t\tcase when (f7<-2.55682254 or f7 is null) then\n\t\t\t\t\t\t-0.167702854\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f5<0.154983491 or f5 is null) then\n\t\t\t\t\t\t\tcase when (f1<2.19985676 or f1 is null) then\n\t\t\t\t\t\t\t\t0.41752997\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.115944751\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t0.115584135\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\telse\n\t\t\t\t\tcase when (f5<-1.0218116 or f5 is null) then\n\t\t\t\t\t\tcase when (f0<-0.60882163 or f0 is null) then\n\t\t\t\t\t\t\t-0.119530827\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t-0.410788596\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\t0.28256765\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\tend\n\t\telse\n\t\t\tcase when (f9<1.60392439 or f9 is null) then\n\t\t\t\tcase when (f3<0.460727394 or f3 is null) then\n\t\t\t\t\tcase when (f5<0.653370142 or f5 is null) then\n\t\t\t\t\t\tcase when (f7<-0.933565617 or f7 is null) then\n\t\t\t\t\t\t\tcase when (f3<-0.572475374 or f3 is null) then\n\t\t\t\t\t\t\t\t0.182491601\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.377898693\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tcase when (f3<-1.20459461 or f3 is null) then\n\t\t\t\t\t\t\t\t-0.392539263\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.352721155\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f7<0.207098693 or f7 is null) then\n\t\t\t\t\t\t\tcase when (f8<0.498489976 or f8 is null) then\n\t\t\t\t\t\t\t\t-0.193351224\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.29298231\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tcase when (f8<-0.117464997 or f8 is null) then\n\t\t\t\t\t\t\t\t0.400667101\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.402199954\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\telse\n\t\t\t\t\tcase when (f7<1.98268723 or f7 is null) then\n\t\t\t\t\t\tcase when (f8<-0.00532855326 or f8 is null) then\n\t\t\t\t\t\t\tcase when (f7<1.36281848 or f7 is null) then\n\t\t\t\t\t\t\t\t-0.408002198\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.236123681\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tcase when (f5<1.14038813 or f5 is null) then\n\t\t\t\t\t\t\t\t0.404326111\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.110877581\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f3<1.56952488 or f3 is null) then\n\t\t\t\t\t\t\tcase when (f5<2.14646816 or f5 is null) then\n\t\t\t\t\t\t\t\t0.409404457\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.0696995854\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t-0.32059738\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\telse\n\t\t\t\tcase when (f3<1.77943277 or f3 is null) then\n\t\t\t\t\tcase when (f7<-0.469875157 or f7 is null) then\n\t\t\t\t\t\tcase when (f3<-0.536645889 or f3 is null) then\n\t\t\t\t\t\t\tcase when (f9<1.89841866 or f9 is null) then\n\t\t\t\t\t\t\t\t-0\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.28256765\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t0.419863999\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f3<0.444227457 or f3 is null) then\n\t\t\t\t\t\t\t-0.34664312\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t0.0693304539\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\telse\n\t\t\t\t\tcase when (f4<-1.10089087 or f4 is null) then\n\t\t\t\t\t\tcase when (f3<2.3550868 or f3 is null) then\n\t\t\t\t\t\t\t0.0147894565\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t-0.331404865\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\t-0.421277165\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\tend\n\t\tend\n\t\tas tree_2_score,\n--tree3\n\t\tcase when (f9<-1.64164519 or f9 is null) then\n\t\t\tcase when (f3<-4.19117069 or f3 is null) then\n\t\t\t\tcase when (f4<-1.30126143 or f4 is null) then\n\t\t\t\t\t-0.0772174299\n\t\t\t\telse\n\t\t\t\t\t-0.374165356\n\t\t\t\tend\n\t\t\telse\n\t\t\t\tcase when (f3<1.23432565 or f3 is null) then\n\t\t\t\t\tcase when (f7<-2.55682254 or f7 is null) then\n\t\t\t\t\t\t-0.142005175\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f5<0.154983491 or f5 is null) then\n\t\t\t\t\t\t\tcase when (f7<3.59379435 or f7 is null) then\n\t\t\t\t\t\t\t\t0.352122813\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.132789165\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t0.0924336985\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\telse\n\t\t\t\t\tcase when (f5<-1.0218116 or f5 is null) then\n\t\t\t\t\t\tcase when (f0<-0.60882163 or f0 is null) then\n\t\t\t\t\t\t\t-0.0954768136\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t-0.351594836\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\t0.245992288\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\tend\n\t\telse\n\t\t\tcase when (f9<1.60392439 or f9 is null) then\n\t\t\t\tcase when (f3<0.347133756 or f3 is null) then\n\t\t\t\t\tcase when (f5<0.661561131 or f5 is null) then\n\t\t\t\t\t\tcase when (f7<-0.933565617 or f7 is null) then\n\t\t\t\t\t\t\tcase when (f3<-0.472413659 or f3 is null) then\n\t\t\t\t\t\t\t\t0.116336405\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.313245147\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tcase when (f3<-1.5402329 or f3 is null) then\n\t\t\t\t\t\t\t\t-0.352897167\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.311400592\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f7<0.275665522 or f7 is null) then\n\t\t\t\t\t\t\tcase when (f8<0.403402805 or f8 is null) then\n\t\t\t\t\t\t\t\t-0.292606086\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.220064178\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tcase when (f8<-0.0442957953 or f8 is null) then\n\t\t\t\t\t\t\t\t0.350784421\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.336107522\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\telse\n\t\t\t\t\tcase when (f7<1.77503061 or f7 is null) then\n\t\t\t\t\t\tcase when (f8<0.196157426 or f8 is null) then\n\t\t\t\t\t\t\tcase when (f7<1.36281848 or f7 is null) then\n\t\t\t\t\t\t\t\t-0.3376683\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.0711223111\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tcase when (f7<-0.661211252 or f7 is null) then\n\t\t\t\t\t\t\t\t0.434363276\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.219307661\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f3<1.37940335 or f3 is null) then\n\t\t\t\t\t\t\tcase when (f6<1.34894884 or f6 is null) then\n\t\t\t\t\t\t\t\t0.367155522\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.124757253\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t-0.293739736\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\telse\n\t\t\t\tcase when (f3<1.77943277 or f3 is null) then\n\t\t\t\t\tcase when (f7<-0.469875157 or f7 is null) then\n\t\t\t\t\t\tcase when (f3<-0.536645889 or f3 is null) then\n\t\t\t\t\t\t\tcase when (f9<1.89841866 or f9 is null) then\n\t\t\t\t\t\t\t\t-0\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.245992288\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tcase when (f0<1.60565615 or f0 is null) then\n\t\t\t\t\t\t\t\t0.357973605\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t0.193993196\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f9<1.89456153 or f9 is null) then\n\t\t\t\t\t\t\t-0.276471078\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t0.111896731\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\telse\n\t\t\t\t\tcase when (f1<1.35706067 or f1 is null) then\n\t\t\t\t\t\tcase when (f4<-1.10089087 or f4 is null) then\n\t\t\t\t\t\t\tcase when (f3<2.3550868 or f3 is null) then\n\t\t\t\t\t\t\t\t0.0119848112\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\t-0.284813672\n\t\t\t\t\t\t\tend\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t-0.376859784\n\t\t\t\t\t\tend\n\t\t\t\t\telse\n\t\t\t\t\t\tcase when (f2<-0.25748384 or f2 is null) then\n\t\t\t\t\t\t\t0.0723158419\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\t-0.253415495\n\t\t\t\t\t\tend\n\t\t\t\t\tend\n\t\t\t\tend\n\t\t\tend\n\t\tend\n\t\tas tree_3_score\n from data_table)\n```\n\n\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "Convert the trained xgboost model to sql",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/ZhengRyan/xgboost2sql"
},
"split_keywords": [
"xgboost2sql"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1a30c7b959b83476e1af013c94de5f6a78d2320c2d9ed3a8b7622e2bb3aadb4f",
"md5": "c0833e44f26f38e7b5dfd29c38b51f50",
"sha256": "1d4c02ef126782c6c157997e2ce32a3fab9ac912c7488530d9c3e3ca75a57be8"
},
"downloads": -1,
"filename": "xgboost2sql-0.1.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "c0833e44f26f38e7b5dfd29c38b51f50",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.6",
"size": 8955,
"upload_time": "2023-06-11T08:05:10",
"upload_time_iso_8601": "2023-06-11T08:05:10.109011Z",
"url": "https://files.pythonhosted.org/packages/1a/30/c7b959b83476e1af013c94de5f6a78d2320c2d9ed3a8b7622e2bb3aadb4f/xgboost2sql-0.1.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f890ba7a311ad6419754f64d89aad332f2155db42d77ae6191caccadcc84a67e",
"md5": "745ccc2f4c830b5e9188362921e0c11b",
"sha256": "c2618581607e36eff5429971538abd171507280c03e1bca025c70a5db06088db"
},
"downloads": -1,
"filename": "xgboost2sql-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "745ccc2f4c830b5e9188362921e0c11b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 17175,
"upload_time": "2023-06-11T08:05:12",
"upload_time_iso_8601": "2023-06-11T08:05:12.757265Z",
"url": "https://files.pythonhosted.org/packages/f8/90/ba7a311ad6419754f64d89aad332f2155db42d77ae6191caccadcc84a67e/xgboost2sql-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-11 08:05:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ZhengRyan",
"github_project": "xgboost2sql",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "xgboost",
"specs": []
},
{
"name": "pyspark",
"specs": []
}
],
"lcname": "xgboost2sql"
}