Views
No views yet
| Metric | Value |
|---|---|
| ROC-AUC | 0.970 |
| Accuracy | 92% |
| Recall (real abstracts, t=0.01) | 99.75% |
| Garbage precision (t=0.01) | 99.0% |
1import numpy as np
2from model2vec import StaticModel
3from scipy.special import expit
4
5# Load model
6data = np.load("abstract_archon_head.npz", allow_pickle=True)
7coef = data['coef']
8intercept = data['intercept']
9scaler_mean = data['scaler_mean']
10scaler_scale = data['scaler_scale']
11threshold = float(data['threshold'][0]) # 0.01
12
13# Load embedding model
14embed = StaticModel.from_pretrained("minishlab/potion-base-32M")
15
16# Predict
17text = "Your abstract text here..."[:500]
18emb = embed.encode([text])
19x_scaled = (emb - scaler_mean) / scaler_scale
20logit = x_scaled @ coef.T + intercept
21prob = expit(logit).flatten()[0]
22
23is_abstract = prob >= threshold
24print(f"P(abstract) = {prob:.4f}, is_abstract = {is_abstract}")minishlab/potion-base-32M (512-dim, static, deterministic, ~20s for 200K docs)| Key | Shape | Description |
|---|---|---|
coef | (1, 512) | LR coefficients |
intercept | (1,) | LR intercept |
classes | (2,) | Class labels [0, 1] |
labels | (2,) | ['garbage', 'abstract'] |
scaler_mean | (512,) | StandardScaler mean |
scaler_scale | (512,) | StandardScaler scale |
embed_model | str | 'minishlab/potion-base-32M' |
version | str | 'v1' |
threshold | (1,) | Calibrated decision threshold |