From 96ab2fcb2ff442698465389d75390afa91629165 Mon Sep 17 00:00:00 2001 From: Sam Scholten Date: Sun, 30 Aug 2026 12:50:24 +1000 Subject: fluxrec: personal Miniflux article recommender --- core/scoring.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 core/scoring.go (limited to 'core/scoring.go') diff --git a/core/scoring.go b/core/scoring.go new file mode 100644 index 0000000..66b3a3b --- /dev/null +++ b/core/scoring.go @@ -0,0 +1,16 @@ +// Vendored from scholscan/core/scoring.go (rev 7c1a5ef, 2026-08-28). +// Owned here; no upstream sync. +// Score conversion utilities. +// +// ScoreToScale: Maps probability (0-1) to user-friendly 1-10 scale. +// Why: Users understand "8/10" better than "0.82 probability". +package core + +import "math" + +// ScoreToScale turns probability into 1-10 display score +func ScoreToScale(rawScore, threshold float64) int { + k := 10.0 + adjustedScore := 1.0 / (1.0 + math.Exp(-k*(rawScore-threshold))) + return int(math.Round(1.0 + (adjustedScore * 9.0))) +} -- cgit v1.2.3