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实现的,因此这些转换也将脱离核心