具有多个块的巨大数据(~22GB)的Catboost训练模型

时间:2017-10-30 15:44:06

标签: python pandas catboost

我正在尝试训练一个CatboostClassifier,它在csv文件中有大约22GB的数据,该文件有大约50列。我尝试在pandas数据帧中一次加载所有数据,但不能这样做。无论如何,我可以用catboost中的多个数据帧训练模型吗?

2 个答案:

答案 0 :(得分:0)

我不确定但您可以在模型中尝试save_snapshot和snapshot_file选项。目的是能够在中断的情况下继续学习。

model = CatBoostClassifier(iterations=50, 
save_snapshot = True,
snapshot_file = 'model_binary_snapshot.model' 
random_seed=42)

它会将模型保存在' model_binary_snapshot.model'你可以重新加载并继续学习。

model2 = CatBoostClassifier( )
model2.load_model('model_binary_snapshot.model')

答案 1 :(得分:0)

Catboost增量文件适合大型数据文件。

只要使用CPU和init_model作为适合参数,就可以逐步训练模型。这是如何执行此操作的示例:

('HP7CXNGSUFEPZCO4GS5RQPY6XY',)
('9475EFWZCNARPEJEZEMXDFHIBI',)
('6ECWZUQGEJCR5EZXDH9URCN53M',)
('XZ9P6KTDGREM5KIXUO9IHCTKAQ',)
('HP7CXNGSUFEPZCO4GS5RQPY6XY,9475EFWZCNARPEJEZEMXDFHIBI,6ECWZUQGEJCR5EZXDH9URCN53M,XZ9P6KTDGREM5KIXUO9IHCTKAQ',)
('["HP7CXNGSUFEPZCO4GS5RQPY6XY", "9475EFWZCNARPEJEZEMXDFHIBI", "6ECWZUQGEJCR5EZXDH9URCN53M", "XZ9P6KTDGREM5KIXUO9IHCTKAQ"]',)

你很好。 仅适用于CPU 。不要使用快照文件或best_model。只要您还有数据,就会在初始步骤之后加载模型文件并逐步进行训练。