首页 > 解决方案 > 用scikit learn,如何在fit_predict中使用predict_proba?

问题描述

由于 scikit 库及其 Pipeline、BaseEstimators、TransformerMixin 和其他基类,我正在实现自定义估算器。(您可以在此处查看 API

给定一个管道,您可以调用pipeline.fit(X)thenpipeline.predict(X)或使用pipeline.fit_predict(X)更快的方法,因为它应用必要的转换一次而不是两次(一次用于拟合,一次用于预测)。因此,当您想要在您曾经拟合的同一数据集上进行预测时,它用于获得优化。

但是一些模型,如分类器或聚类器,有一种称为predict_proba返回分类或标记概率的方法。

来自 scikit 词汇表(链接):

fit_predict

特别用于无监督的、转导的估计器,这适合模型并返回对训练数据的预测(类似于预测)。在聚类器中,这些预测也存储在 labels_ 属性中,输出.fit_predict(X)通常等价于.fit(X).predict(X). to 的参数与 to 的参数fit_predict 相同fit

predict_proba

分类器和聚类器中的一种方法,能够返回每个类/聚类的概率估计。它的输入通常只是一些观察到的数据,X。

如果尚未安装估算器,则调用此方法应引发exceptions.NotFittedError.

输出约定与 decision_function 的输出约定类似,但在二进制分类情况下,每个类输出一列(而 decision_function 输出一维数组)。对于二元和多类预测,每行应加 1。

与其他方法一样,predict_proba仅当估计器可以进行概率预测时才应存在(请参阅鸭子类型)。这意味着该方法的存在可能取决于估计器参数(例如 in linear_model.SGDClassifier)或训练数据(例如 in model_selection.GridSearchCV),并且可能仅在拟合后出现。

我正在寻找一种方法来获得fit_predict_proba具有与 fit_predict 相同的优点但返回概率的方法

标签: pythonmachine-learningscikit-learn

解决方案


推荐阅读