当前位置: 首页 > 知识库问答 >
问题:

朴素贝叶斯模型的二元分类度量评估中如何给出预测列和标签列

澹台新知
2023-03-14

我对< code > binary classification metrics (ml lib)输入感到困惑。根据Apache Spark 1.6.0,我们需要从已预测概率(向量)的转换数据帧中传递< code>(RDD[(Double,Double)])类型的predicted和label

我已经从预测列和标签列创建了RDD[(Double,Double)]。在NavieBayesModel上执行< code > binaryclicationmetrics 评估后,我能够检索ROC、PR等。但是值是有限的,我不能用这个产生的值画出曲线。Roc包含4个值,PR包含3个值。

这是准备预测和标签的正确方法,还是我需要使用原始预测列或概率列而不是预测列?

共有1个答案

辛盛
2023-03-14

像这样准备:

import org.apache.spark.mllib.linalg.Vector
import org.apache.spark.mllib.classification.{NaiveBayes, NaiveBayesModel}

val df = sqlContext.read.format("libsvm").load("data/mllib/sample_libsvm_data.txt")
val predictions = new NaiveBayes().fit(df).transform(df)

val preds = predictions.select("probability", "label").rdd.map(row => 
  (row.getAs[Vector](0)(0), row.getAs[Double](1)))

并评估:

import org.apache.spark.mllib.evaluation.BinaryClassificationMetrics

new BinaryClassificationMetrics(preds, 10).roc

如果预测只有0或1,桶的数量可以更低,就像你的情况一样。尝试更复杂的数据,如下所示:

val anotherPreds = df1.select(rand(), $"label").rdd.map(row => (row.getDouble(0), row.getDouble(1)))
new BinaryClassificationMetrics(anotherPreds, 10).roc
 类似资料:
  • 还是让我们回到运动员的例子。如果我问你Brittney Griner的运动项目是什么,她有6尺8寸高,207磅重,你会说“篮球”;我再问你对此分类的准确度有多少信心,你会回答“非常有信心”。 我再问你Heather Zurich,6尺1寸高,重176磅,你可能就不能确定地说她是打篮球的了,至少不会像之前判定Brittney那样肯定。因为从Heather的身高体重来看她也有可能是跑马拉松的。 最后,

  • 1 介绍   朴素贝叶斯是一种构建分类器的简单方法。该分类器模型会给问题实例分配用特征值表示的类标签,类标签取自有限集合。它不是训练这种分类器的单一算法,而是一系列基于相同原理的算法:所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关。 举个例子,如果一种水果其具有红,圆,直径大概3英寸等特征,该水果可以被判定为是苹果。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为

  • 上例的数据格式如下: both sedentary moderate yes i100 both sedentary moderate no i100 health sedentary moderate yes i500 appearance active moderate yes i500 appearance moderate aggressive yes i500

  • 我们会在这章探索朴素贝叶斯分类算法,使用概率密度函数来处理数值型数据。 内容: 朴素贝叶斯 微软购物车 贝叶斯法则 为什么我们需要贝叶斯法则? i100、i500健康手环 使用Python编写朴素贝叶斯分类器 共和党还是民主党 数值型数据 使用Python实现

  • 在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同。对于大多数的分类算法,比如决策树,KNN,逻辑回归,支持向量机等,他们都是判别方法,也就是直接学习出特征输出Y和特征X之间的关系,要么是决策函数Y=f(X),要么是条件分布P(Y|X)。但是朴素贝叶斯却是生成方法,也就是直接找出特征输出Y和特征X的联合分布P(X,Y),然后用P(Y|X)=P(X,Y)/P(X)得出。 朴素贝叶斯

  • 朴素贝叶斯 概述 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。本章首先介绍贝叶斯分类算法的基础——贝叶斯定理。最后,我们通过实例来讨论贝叶斯分类的中最简单的一种: 朴素贝叶斯分类。 贝叶斯理论 & 条件概率 贝叶斯理论 我们现在有一个数据集,它由两类数据组成,数据分布如下图所示: 我们现在用 p1(x,y) 表示数据点 (x,y) 属于类别 1(图中用圆点表示