如何在余弦相似性中设置更好的阈值?

ny6fqffe  于 2021-07-12  发布在  Spark
关注(0)|答案(0)|浏览(334)

我试着用dimsum计算余弦相似度,我的数据是电影的类型,我选择喜剧作为例子来获得类型中的相关词。
输出像

funny      0.654
classic    0.321
 humor     0.432
 fantastic 0.345

我想测量不同值的阈值

val exact = mat.columnSimilarities()
val filename=args(0)
val threshold=args(1).toDouble
// Compute similar columns with estimation using DIMSUM
val approx = mat.columnSimilarities(threshold)
val exactEntries = exact.entries.map { case MatrixEntry(i, j, u) => ((i, j), u) }
val approxEntries = approx.entries.map { case MatrixEntry(i, j, v) => ((i, j), v) }
val MAE = exactEntries.leftOuterJoin(approxEntries).values.map {
  case (u, Some(v)) =>
    math.abs(u - v)
  case (u, None) =>
    math.abs(u)
}.mean()

println(s"Average absolute error: $MAE")

但是这个错误出现了

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题