由于scikit库及其管道,BaseEstimators,TransformerMixin和其他基类,我正在实现自定义估算器。 (you can check the API here)
给出管道,您可以先调用pipeline.fit(X)
然后再调用pipeline.predict(X)
,也可以使用pipeline.fit_predict(X)
,这会更快一些,因为它将必要的转换应用一次,而不是两次(一次拟合和一次转换)。一个用于预测)。因此,当您要对过去拟合的同一数据集进行预测时,可以使用它进行优化。
但是某些模型(例如分类器或聚类器)具有称为predict_proba
的方法,该方法返回分类或标记的可能性。
从scikit词汇表(link):
fit_predict
特别适用于无监督的推导式估计器,非常适合 该模型并返回有关的预测(类似于预测) 训练数据。在聚类器中,这些预测也存储在 labels_属性,通常
.fit_predict(X)
的输出为 等效于.fit(X).predict(X)
。fit_predict
的参数 与fit
相同。predict_proba
分类器和聚类器中能够返回的方法 每个类/集群的概率估计。它的输入通常是 X。
如果估计量尚未拟合,则应调用此方法 提出一个
exceptions.NotFittedError
。输出约定类似于Decision_function的约定,但 二进制分类情况,每个类输出一列 (而decision_function输出一维数组)。对于二进制和 多类预测,每行应加1。
与其他方法一样,
predict_proba
仅应在 估计器可以进行概率预测(请参阅鸭子的类型)。这个 表示该方法的存在可能取决于估计量 参数(例如linear_model.SGDClassifier
中)或训练数据 (例如,在model_selection.GridSearchCV
中),并且只能出现在 合适。
我正在寻找一种获取fit_predict_proba
方法的方法,该方法具有与fit_predict相同的优点,但返回概率为