【发布时间】:2018-03-23 15:44:38
【问题描述】:
我有两个数据集,每个数据集都由相同的两个参数定义。如果将它们绘制在散点图上,则会有一些重叠。我想对它们进行分类,但也得到一个给定点在一个或另一个数据集中的概率。所以在重叠区域,我永远不会期望概率是 100%。
我已经使用 python 的 scikit-learn 包和 kNN 算法 KNeighborsClassifier 实现了这一点。看起来还不错!当我使用predict_proba 来返回概率时,它看起来就像我所期望的那样!
然后我尝试用 TensorFlow 和 DNNClassifier 分类器做同样的事情,主要是作为我自己的学习练习。当我评估测试样本时,我使用predict_proba 返回概率,但概率分布看起来与 kNN 方法大不相同。看起来 DNNClassifier 确实试图将概率驱动到 1 或 0,而不是重叠区域之间的某个位置。
我没有在这里发布代码,因为我的问题更基本:我可以以相同的方式解释这两种方法返回的概率吗?还是它们之间有根本的区别?
谢谢!
【问题讨论】:
-
我不明白你的目标是什么。如果您的两个分类器都在猜测相同的事物(类/标签)并且返回的概率以相同的方式定义(每个类的概率,或一对一;阅读文档)它们是可比较的。 “将概率驱动到 0 或 1”...您是说 DNN 在分类方面做得更好,在较低的 logloss 中可以看到?
标签: python tensorflow machine-learning scikit-learn knn