我正在尝试训练一个CatboostClassifier,它在csv文件中有大约22GB的数据,该文件有大约50列。我尝试在pandas数据帧中一次加载所有数据,但不能这样做。无论如何,我可以用catboost中的多个数据帧训练模型吗?
答案 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)
只要使用CPU和init_model作为适合参数,就可以逐步训练模型。这是如何执行此操作的示例:
('HP7CXNGSUFEPZCO4GS5RQPY6XY',)
('9475EFWZCNARPEJEZEMXDFHIBI',)
('6ECWZUQGEJCR5EZXDH9URCN53M',)
('XZ9P6KTDGREM5KIXUO9IHCTKAQ',)
('HP7CXNGSUFEPZCO4GS5RQPY6XY,9475EFWZCNARPEJEZEMXDFHIBI,6ECWZUQGEJCR5EZXDH9URCN53M,XZ9P6KTDGREM5KIXUO9IHCTKAQ',)
('["HP7CXNGSUFEPZCO4GS5RQPY6XY", "9475EFWZCNARPEJEZEMXDFHIBI", "6ECWZUQGEJCR5EZXDH9URCN53M", "XZ9P6KTDGREM5KIXUO9IHCTKAQ"]',)
你很好。 仅适用于CPU 。不要使用快照文件或best_model。只要您还有数据,就会在初始步骤之后加载模型文件并逐步进行训练。