当我有预测和地面实况文件(原始图表)时,如何使用 spark 和 scala 计算 TP、TN、FP 和 FN?
How to calculate TP, TN, FP and FN with spark and scala when I have predictions and ground truth file ( original graph )?
我有一个代表图表的数据框。它具有以下结构:
a,b
b,c
b,d
此图表示合着网络。我有 运行 蛮力检查每个节点到每个其他节点,如果广告(例如 a,b => 节点是论文)具有 jaccard 相似性 > 从给定的阈值,我将保持这个边缘到我的结果.我的结果是与第一个相同的结构数据框。
我现在想获得预测的 TP、TN、FP 和 FN 的数量,以便计算精度、召回率、准确性和 F1 分数。我怎样才能得到这些值?
有没有办法只用这两个数据帧(originalDF 和 predictionsDF)用 scala 计算 F1 分数?
谢谢你!
假设您有一个包含 "label" 和 "prediction" 列的 DataFrame,那么您可以使用如下过滤方法计算 TP、TN、FP、FN:
val TP = predictions.filter($"prediction"===1 && $"label"===$"prediction").count()
val FP = predictions.filter($"prediction"===1 && $"label"=!=$"prediction").count()
val TN = predictions.filter($"prediction"===0 && $"label"===$"prediction").count()
val FN = predictions.filter($"prediction"===0 && $"label"=!=$"prediction").count()
我有一个代表图表的数据框。它具有以下结构:
a,b
b,c
b,d
此图表示合着网络。我有 运行 蛮力检查每个节点到每个其他节点,如果广告(例如 a,b => 节点是论文)具有 jaccard 相似性 > 从给定的阈值,我将保持这个边缘到我的结果.我的结果是与第一个相同的结构数据框。
我现在想获得预测的 TP、TN、FP 和 FN 的数量,以便计算精度、召回率、准确性和 F1 分数。我怎样才能得到这些值?
有没有办法只用这两个数据帧(originalDF 和 predictionsDF)用 scala 计算 F1 分数?
谢谢你!
假设您有一个包含 "label" 和 "prediction" 列的 DataFrame,那么您可以使用如下过滤方法计算 TP、TN、FP、FN:
val TP = predictions.filter($"prediction"===1 && $"label"===$"prediction").count()
val FP = predictions.filter($"prediction"===1 && $"label"=!=$"prediction").count()
val TN = predictions.filter($"prediction"===0 && $"label"===$"prediction").count()
val FN = predictions.filter($"prediction"===0 && $"label"=!=$"prediction").count()