aboutsummaryrefslogtreecommitdiff
path: root/core/model.go
blob: 28f404596e18e4b7b17cf00e51a7b326bce5e00e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Model envelope persists trained model to JSON. Contains Vectorizer for IDF values,
// OrderedVocab for feature ordering, and Weights for logistic regression.
// To score: recreate TFIDFVectorizer, transform, then PredictScore.
package core

import (
	"time"
)

// ModelEnvelope - complete trained model for scoring articles
type ModelEnvelope struct {
	Algorithm    string             `json:"algorithm"`
	Impl         string             `json:"impl"`
	Version      string             `json:"version"`
	CreatedAt    time.Time          `json:"created_at"`
	Meta         map[string]any     `json:"meta"`
	Vectorizer   map[string]float64 `json:"vectorizer"`
	OrderedVocab []string           `json:"ordered_vocab"`
	Weights      []float64          `json:"weights"`
}