根据保存的 LGBMClassifier 模型进行概率预测

Sac*_*dav -1 python machine-learning lightgbm

我训练了一个LGBMClassifier模型并将其保存到文件中:

clf = lgb.LGBMClassifier( ... )
clf.fit(X_train, y_train, **fit_params)
clf.booster_.save_model("model1.txt")
Run Code Online (Sandbox Code Playgroud)

现在我想要的是重新使用保存的模型进行概率预测。但如果我尝试:

## new predictions:

    clf_fs = lgb.Booster(model_file='model1.txt')
    y_pred2 = clf_fs.predict_proba(X_data2, num_iteration=clf_fs.best_iteration_)[:, 1]
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

AttributeError: 'Booster' object has no attribute 'predict_proba'
Run Code Online (Sandbox Code Playgroud)

我知道这cls_fs是类的对象Booster而不是类的对象LGBMClassifier,我可以使用它clf_fs.predict(),但不能predict_probaLGBMClassifier那么我如何从保存的模型文件中获取对象并生成概率预测呢?

des*_*aut 5

LightGBM 核心开发者之一柯郭林在Github 的 #1217 问题中表示

booster.predict()实际上会返回概率

所以你不应该需要predict_proba.