Work in progress
This commit is contained in:
parent
daa6941672
commit
249228c566
37
util.go
37
util.go
@ -101,7 +101,42 @@ func findRecords(entries records, features featureMap, minScore float64) records
|
|||||||
}
|
}
|
||||||
|
|
||||||
func calibrateMinScore(entries records, features featureMap, bracket namedBracket) float64 {
|
func calibrateMinScore(entries records, features featureMap, bracket namedBracket) float64 {
|
||||||
return 2
|
bestScoreRank := -math.MaxFloat64
|
||||||
|
var bestMinScore float64
|
||||||
|
|
||||||
|
for minScore := float64(-len(features)); minScore <= float64(len(features)); minScore += 0.1 {
|
||||||
|
var scoreRank float64
|
||||||
|
|
||||||
|
for _, entry := range entries {
|
||||||
|
value, ok := entry.features[bracket.name]
|
||||||
|
if !ok {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
score := innerProduct(features, entry.features)
|
||||||
|
if score < minScore {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
if score > minScore {
|
||||||
|
if value >= bracket.min && value <= bracket.max {
|
||||||
|
dist := math.Abs(value - features[bracket.name])
|
||||||
|
scoreRank += 1 / (dist * dist)
|
||||||
|
} else {
|
||||||
|
dist := math.Min(math.Abs(value-bracket.min), math.Abs(value-bracket.max))
|
||||||
|
scoreRank -= 1 / (dist * dist)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if scoreRank > bestScoreRank {
|
||||||
|
bestScoreRank = scoreRank
|
||||||
|
bestMinScore = minScore
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Printf("bestScoreRank: %f; bestMinScore: %f", bestScoreRank, bestMinScore)
|
||||||
|
return bestMinScore
|
||||||
}
|
}
|
||||||
|
|
||||||
func project(entries records, features featureMap, featureName string, minScore float64, steps int) []queryProjection {
|
func project(entries records, features featureMap, featureName string, minScore float64, steps int) []queryProjection {
|
||||||
|
Loading…
Reference in New Issue
Block a user