小编drg*_*xfs的帖子

使用SQLAlchemy列出数据库表

我想实现一个函数,它提供有关数据库中存在的所有表(及其列名)的信息(不仅仅是使用SQLAlchemy创建的表).在阅读文档时,在我看来,这是通过反射完成的,但我没有设法使某些工作正常.有关如何执行此操作的任何建议或示例?

python database sqlalchemy

41
推荐指数
2
解决办法
2万
查看次数

使用xgboost和插入符号进行并行处理

我想在使用插入符的同时并行化xgboost的模型拟合过程.从我在xgboost的文档中看到的,该nthread参数控制在拟合模型时使用的线程数,在这种意义上,以并行方式构建树.Caret的train功能将执行并行化,例如,在k-fold CV中运行每次迭代的过程.这种理解是否正确,如果是,是否更好:

  1. 注册核心数量(例如,使用doMC包和registerDoMC函数),nthread=1通过插入符号列表函数设置,以便将该参数传递给xgboost,设置allowParallel=TRUEtrainControl,并让caret交叉验证处理并行化; 要么
  2. 禁用插入符并行化(allowParallel=FALSE并且没有并行后端注册)并设置nthread为物理核心数,因此并行化仅包含在xgboost中.

或者没有"更好"的方法来执行并行化?

编辑:我运行了@topepo建议的代码,用tuneLength = 10search="random",并nthread=1在最后一行指定(否则我明白xgboost将使用多线程).有我得到的结果:

xgb_par[3]
elapsed  
283.691 
just_seq[3]
elapsed 
276.704 
mc_par[3]
elapsed 
89.074 
just_seq[3]/mc_par[3]
elapsed 
3.106451 
just_seq[3]/xgb_par[3]
elapsed 
0.9753711 
xgb_par[3]/mc_par[3]
elapsed 
3.184891
Run Code Online (Sandbox Code Playgroud)

最后,事实证明,对于我的数据和此测试用例,让插入符号处理并行化在运行时方面是更好的选择.

r r-caret xgboost

11
推荐指数
1
解决办法
3031
查看次数

标签 统计

database ×1

python ×1

r ×1

r-caret ×1

sqlalchemy ×1

xgboost ×1