xgboost load model from demp text file
python package : https://github.com/mwburke/xgboost-python-deploy
import xgboost as xgb
import numpy as np
import pandas as pd
from xgb_deploy.fmap import generate_fmap_from_pandas
from xgb_deploy.model import ProdEstimator
from sklearn.model_selection import train_test_split
import json
import random
dim_float = 80
dim_int = 20
n = 50000
df_float = pd.DataFrame(np.random.rand(n,dim_float))
df_float.columns = ['float_%s'%i for i in range(dim_float)]
df_int = pd.DataFrame(np.random.randint(0,10,size=(n,dim_int)))
df_int.columns = ['int_%s'%i for i in range(dim_int)]
feature_cols = list(df_float.columns)+list(df_int.columns)
df_data = pd.concat([df_float,df_int],axis=1)
df_data['label'] = np.random.randint(0,2,n)
print(df_data['label'].value_counts())
print(df_data.shape)
print(df_data.head(5))
generate_fmap_from_pandas(df_data, 'demo_fmap.txt')
X_train, X_test, y_train, y_test = train_test_split(df_data[feature_cols], df_data['label'], test_size=0.33)
dtrain = xgb.DMatrix(data=X_train, label=y_train)
dtest = xgb.DMatrix(data=X_test, label=y_test)
classification_params = {
'base_score': 0.5, # np.mean(y_train),
'max_depth': 3,
'eta': 0.1,
'objective': 'binary:logistic',
'eval_metric': 'auc',
'silent': 1,
'n_jobs ':-1
}
clf = xgb.XGBClassifier(**classification_params)
clf.fit(X_train, y_train,eval_set=[(X_train, y_train), (X_test, y_test)],eval_metric='logloss',verbose=True)
X_test['pred1'] = clf.predict_proba(X_test)[:,1]
model = clf._Booster
model.dump_model(fout='demo_xgb.json', fmap='demo_fmap.txt', dump_format='json')
with open('demo_xgb.json', 'r') as f:
model_data = json.load(f)
estimator = ProdEstimator(model_data, pred_type='classification', base_score=classification_params['base_score'])
X_test['pred2'] = estimator.predict(X_test.to_dict(orient='records'))
X_test['diff'] = X_test['pred1'] - X_test['pred2']
print(X_test[['pred1','pred2','diff']].head(30))
print(X_test['diff'].sum())
pred1 pred2 diff
33243 0.515672 0.515672 1.635301e-08
15742 0.478694 0.478694 3.468678e-08
24815 0.596091 0.596091 -5.536898e-09
33120 0.489696 0.489696 4.128085e-08
29388 0.472804 0.472804 -6.701184e-09
33662 0.478668 0.478668 1.495377e-08
15019 0.495415 0.495415 -1.104315e-09
7787 0.555280 0.555280 -1.022957e-08
39378 0.494439 0.494439 5.891659e-08
15317 0.481563 0.481563 1.630472e-08
31946 0.533403 0.533403 -2.231835e-08
16784 0.484454 0.484454 2.196223e-08
13511 0.529494 0.529494 -2.274838e-09
11304 0.492583 0.492583 -1.724794e-09
9583 0.501279 0.501279 -1.815183e-09
31448 0.517019 0.517019 -2.593171e-08
38030 0.482880 0.482880 -1.191063e-08
49734 0.479614 0.479614 -1.770112e-08
15682 0.479675 0.479675 4.876058e-09
30756 0.539753 0.539753 9.885628e-09
4829 0.507685 0.507685 2.341456e-08
49888 0.502952 0.502952 2.951946e-08
41311 0.500395 0.500395 1.270836e-08
22434 0.486226 0.486226 1.047917e-08
45807 0.531456 0.531457 -3.217818e-08
25009 0.490071 0.490071 2.752955e-08
3419 0.516763 0.516763 -2.142890e-09
18176 0.486686 0.486686 -5.403653e-09
18296 0.490275 0.490275 -3.624349e-08
314 0.496112 0.496112 -1.507733e-08
-0.05263647978160496
xgboost load model from demp text file的更多相关文章
- unity, read text file
using System.IO; //test read txt //Resources.Load(...) loads an asset stored at path in a Res ...
- [转]Loading, Editing, and Saving a Text File in HTML5 Using Javascript
本文转自:http://thiscouldbebetter.wordpress.com/2012/12/18/loading-editing-and-saving-a-text-file-in-htm ...
- shell脚本执行时报"bad interpreter: Text file busy"的解决方法
在执行一个shell脚本时,遇到了“-bash: ./killSession.sh: /bin/bash: bad interpreter: Text file busy”错误提示,如下所示: [or ...
- eclipse的使用-------Text File Encoding没有GBK选项的设置
eclipse的使用-------Text File Encoding没有GBK选项的设置 2013-12-25 09:48:06 标签:java myeclipse使用 有一个项目是使用GBK编码的 ...
- Writing Text File From A Tabular Block In Oracle Forms
The example given below for writing text file or CSV using Text_IO package from a tabular block in O ...
- create feature from text file
'''---------------------------------------------------------------------------------- Tool Name: Cre ...
- The 12th tip of DB Query Analyzer, powerful in text file process
MA Gen feng ( Guangdong Unitoll Services incorporated, Guangzhou 510300) Abstract It's very powerf ...
- 【转】shell脚本执行时报"bad interpreter: Text file busy"的解决方法
1)问题现象: 在ubuntu下执行以下脚本( while_count),报错: -bash: ./while_count: /bin/bash: bad interpreter: Text file ...
- memtrack: Couldn't load memtrack module (No such file or directory) 的问题解决
通过了编译,可是在模拟器运行时,却出现stopping…….查看logcat,发现出现错误: E/memtrack: Couldn't load memtrack module (No such fi ...
随机推荐
- 来吧,一文彻底搞懂Java中最特殊的存在——null
没事的时候,我并不喜欢逛 P 站,而喜欢逛 programcreek 这些技术型网站,于是那天晚上,在夜深人静的时候,我就发现了一个专注基础但不容忽视的主题.比如说:Java 中的 null 到底是什 ...
- 小小TODO标识,你用对了吗?
前言 有时,您需要标记部分代码以供将来参考,比如: 优化,改进,可能的更改,要讨论的问题等. 通常我们会在代码中加入如下的标记表示待办: //TODO 我将要在这里做 xxx 你这样做,别人也会这样做 ...
- 【转】分布式服务框架 Zookeeper -- 管理分布式环境中的数据
Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理 ...
- Scala与Mongodb实践2-----图片、日期的存储读取
目的:在IDEA中实现图片.日期等相关的类型在mongodb存储读取 主要是Scala和mongodb里面的类型的转换.Scala里面的数据编码类型和mongodb里面的存储的数据类型各个不同.存在类 ...
- Java 中的四种权限修饰符
* * private: * Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”. * 被其修饰的属性以及方法只能被该类的对象 访问,其子类不能访问,更不能允许跨包访问. * * def ...
- Epplus Excel 导入 MSSQL 数据库
效果: 下载EXE 源码
- go slice与函数传值的理解
go语言中所有的传值方式都是传值操作. 今天遇到了以下代码: func main(){ slice := make([],) fmt.Println(slice) change(s) fmt.Prin ...
- 关于Matplotlib中No module named 'matplotlib.finance'的解决办法
最近在研究量化分析,需要用到matplotlib中的一个库,输入from matplotlib.finance import quotes_historical_yahoo_ohlc, candles ...
- Element中(Notification)通知组件字体修改(Vue项目中Element的Notification修改字体)
这个问题纠结很久,一样的写的为啥有的页面就可以,有的就不行: 后来才发现: 先说一下怎么设置: 先定义customClass一个属性,用来写class属性值: 之后还需要修改一下组件里style标签的 ...
- Windows Server 2016 Active Directory 图文搭建指南
1. 首先打开Manage --> Add Roles and Features 2. 点击Next 3. 不做修改,点击Next 4. 不做修改,点击Next 5. 选择Active Dire ...