Python Xgboost带vaex

Python Xgboost带vaex,python,xgboost,vaex,Python,Xgboost,Vaex,我想澄清一下:vaex.ml.sklearn是否允许执行核心外ml? 我尝试使用文档中的示例,发现如果在xgboosting过程中使用hdf5文件中的数据集(评估的数据集消耗约3 Gb的RAM),RAM使用量约为7-8 Gb。天真地说,我假设out-core不会消耗这么多RAM。我错了什么 我的代码是 import vaex.ml.sklearn xgb_model = xgboost.sklearn.XGBRegressor(max_depth=4,

我想澄清一下:
vaex.ml.sklearn
是否允许执行核心外ml? 我尝试使用文档中的示例,发现如果在xgboosting过程中使用hdf5文件中的数据集(评估的数据集消耗约3 Gb的RAM),RAM使用量约为7-8 Gb。天真地说,我假设out-core不会消耗这么多RAM。我错了什么

我的代码是

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)

其中,
功能
是约40项的列表。

您使用的外部型号不是vaex(或vaex ml)提供的,而是“按原样”提供的。在vaex ml中使用它们时,您只需获得一种方便的方法,即可将它们添加到vaex计算图、序列化、延迟计算等中。模型本身未经修改(我相信这在docstring中有说明)。所以它们并没有脱离核心

例如,我认为vaex ml有一个在vaex中实现的K-means模型,因此一个模型将超出核心(即不会使用太多内存)

vaex ml中可用的预处理转换(如StandardScaler、FrequencyEncoder等)是使用vaex实现的,因此这些转换也将脱离核心