This commit is contained in:
ImperiumTakp 2023-05-22 17:39:46 -05:00 committed by GitHub
commit e839fe55ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -90,21 +90,14 @@ object ClusterEvaluation {
val resultsIter = membersAdjLists.flatMap {
case (fromNodeId, adjList) =>
val fromNodeWt = memberScores.getOrElse(fromNodeId, 0.0)
adjList.map {
case (toNodeId, edgeWt) =>
if (memberScores.contains(toNodeId)) {
val productOfMembershipScores = fromNodeWt * memberScores(toNodeId)
ClusterResults(
1,
edgeWt,
0,
0,
samplerMonoid.build(
((fromNodeId, toNodeId), (edgeWt.toDouble, productOfMembershipScores))))
} else {
adjList.map(ad => ad match {
case (toNodeId,edgeWt) if (!memberScores.contains(toNodeId)) =>
ClusterResults(0, 0, 1, edgeWt, samplerMonoid.zero)
}
}
case (toNodeId,edgeWt) =>
val productOfMembershipScores = fromNodeWt * memberScores(toNodeId)
val sampler = samplerMonoid.build((fromNodeId, toNodeId), (edgeWt.toDouble, productOfMembershipScores))
ClusterResults(1, edgeWt, 0, 0, sampler)
})
}
Monoid.sum(resultsIter)(ClusterResultsMonoid)
}