python - 用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
仅当估计器可以进行概率预测时才应存在(请参阅鸭子类型)。这意味着该方法的存在可能取决于估计器参数(例如 inlinear_model.SGDClassifier
)或训练数据(例如 inmodel_selection.GridSearchCV
),并且可能仅在拟合后出现。
我正在寻找一种方法来获得fit_predict_proba
具有与 fit_predict 相同的优点但返回概率的方法
解决方案
推荐阅读
- java - maven-assembly-plugin:在开发过程中使用 config.properties,但在 jar-with-dependencies 上将 config.default.properties 打包为 config.properties
- c# - 如何避免循环内的数据丢失
- sql - 如何选择和统计不到 1 年的记录?
- google-chrome - 为什么提交 Chrome 扩展程序时我的图片没有上传?
- linux - 无法将 Linux 机器作为 Slave 添加到在 Windows 机器上运行的 Jenkins 主机
- angular - 未找到 Entity#Entities 的实体元数据。在离子下的多种类型中
- php - MongoDB 更新数组中的数组
- arrays - JQ 命令从字符串中提取名称到数组中
- c++ - printf() 函数在 time() 函数之后执行?C/C++
- cefsharp - CEFsharp 鼠标点击在浏览器中不起作用