首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带vaex的Xgboost

带vaex的Xgboost
EN

Stack Overflow用户
提问于 2020-12-23 16:17:03
回答 1查看 206关注 0票数 0

我想澄清一下:vaex.ml.sklearn允许执行核心外的ML吗?我试着使用文档中的示例,并看到如果我在xg升压过程中使用hdf5文件中的dataset (评估数据集消耗3GB内存),那么RAM的使用率大约是7-8GB。天真地,我认为内核外不会消耗那么多内存。我做错什么了?

我的代码是

代码语言:javascript
复制
import vaex.ml.sklearn
xgb_model = xgboost.sklearn.XGBRegressor(max_depth=4,
                                          learning_rate=0.1,
                                          n_estimators=100,
                                          subsample=0.75,
                                          random_state=42,
                                         )
vaex_xgb_model = vaex.ml.sklearn.Predictor(features=features,
                                           target='target',
                                           model=xgb_model,
                                           prediction_name='prediction_xgb')
vaex_xgb_model.fit(df_train)
df_train = vaex_xgb_model.transform(df_train)

其中features是~40项的列表。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-15 10:25:27

你所使用的外部模型不是由金库(或vaex-ml)提供的,而是“按原样”来的。当在vaex-ml中使用它们时,您只需使用一种方便的方法将它们添加到vaex计算图、序列化、惰性评估等中。模型本身是未修改的(我相信这是在docstring中描述的)。所以他们并不是没有核心。

例如,我认为vaex-ml有一个在vaex中实现的K-均值模型,这样一个模型就没有核心(即不会占用太多内存)。

StandardScaler、FrequencyEncoder等可在vaex-ml中使用的预处理转换是使用vaex实现的,因此这些转换也将是核外的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65427463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档