在将数据加载到 LightGBM 的 Dataset
中时,减少内存占用,提升效率的优化建议:
1. 分块处理数据
import lightgbm as lgb
# 假设你已经有一部分数据处理完毕并存放在内存或 memmap 中
train_data = lgb.Dataset(data=None, label=None, free_raw_data=False)
batch_size = 100000 # 根据系统内存大小调整
for start_idx in range(0, total_samples, batch_size):
end_idx = min(start_idx + batch_size, total_samples)
data_block = load_data_block(start_idx, end_idx) # 自定义函数来加载数据块
label_block = load_label_block(start_idx, end_idx) # 自定义函数来加载标签块
# 将每个数据块添加到