Apache spark 仅当阈值大于该值时,Spark MLlib预测
我有一个多类分类(38类)问题,为了解决这个问题,我在Spark ML中实现了一个管道。这就是我生成模型的方式Apache spark 仅当阈值大于该值时,Spark MLlib预测,apache-spark,machine-learning,apache-spark-mllib,Apache Spark,Machine Learning,Apache Spark Mllib,我有一个多类分类(38类)问题,为了解决这个问题,我在Spark ML中实现了一个管道。这就是我生成模型的方式 val nb = new NaiveBayes() .setLabelCol("id") .setFeaturesCol("features") .setThresholds(Seq(1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1
val nb = new NaiveBayes()
.setLabelCol("id")
.setFeaturesCol("features")
.setThresholds(Seq(1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25,1.25).toArray)
val pipeline = new Pipeline()
.setStages(Array(stages, assembler, nb))
val model = pipeline.fit(trainingSet)
我希望我的模型能够预测一个类,前提是它的置信度(概率)大于0.8%
为了更好地理解阈值参数的含义,我在Spark文档中搜索了很多,但我找到的唯一相关信息是:
多类分类中阈值的调整
预测每个类。数组的长度必须等于
类,值>0,但最多一个值可以为0。
预测p/t值最大的类别,其中p为原始值
该类的概率,t是该类的阈值
这就是我的阈值为1.25的原因
问题是,无论我为阈值插入的值是多少,它都不会影响我的预测
您知道是否有可能只预测置信度(概率)大于特定阈值的类
另一种方法是只选择概率大于该阈值的预测,但我希望可以使用该框架实现这一点
谢谢。如果为每个类设置相同的值,为什么您会期望任何更改?好吧,鉴于文档没有深入解释阈值的概念,我希望每个类只预测概率大于0.8%的值,如果概率较低,我不想预测该值