yeepee-ctr / v13 /cmp11.py
Eric-Yyvuw's picture
sync: 2026-10-28 04:40 Dublin
3ddadd8 verified
Raw History Blame Contribute Delete
1.76 kB
"""cmp11.py NAME SPEC [--sqw w --sq DIR]: SPEC = items joined by '+', item = tag:col[:seeds] (seeds comma list, default 0) -> mean raw score.
Reports AUC/rw/buckets per cut (25,23,26) and deltas vs v8 trim (w .2 sq8) and v10B. Appends to cmp11_results.jsonl."""
import sys, json, numpy as np
sys.argv=[sys.argv[0]]+sys.argv[1:]
import cmp10 as C
from sklearn.metrics import roc_auc_score as A
av=sys.argv[1:]
def opt(k,d):
if k in av: i=av.index(k); v=av[i+1]; del av[i:i+2]; return v
return d
sqw=float(opt('--sqw','0')); name,spec=av[0],av[1]
def load(item,c):
w=1.0
if '*' in item: w,item=item.split('*'); w=float(w)
p=item.split(':'); tag,col=p[0],int(p[1]); seeds=p[2].split(',') if len(p)>2 else ['0']
return w*np.mean([np.load(f'ens/{tag}_c{c}_s{s}.npy')[:,col] for s in seeds],0)
def zspec(spec,c):
it=spec.split('+'); W=sum(float(i.split('*')[0]) if '*' in i else 1.0 for i in it); return np.sum([load(i,c) for i in it],0)/W
def ref10(c):
b=np.load(f'/workspace/huawei/v10/ens/v10B_b_c{c}_s0.npy')[:,1]; s=np.load(f'/workspace/huawei/v10/ens/v10B_s_c{c}_s0.npy')[:,2]; return (b+s)/2
for c in (25,23,26):
try: z=zspec(spec,c)
except FileNotFoundError: continue
if sqw: z=(1-sqw)*z+sqw*C.SQ[c]
s=C.stats(z,c); s8=C.stats(C.z('trim',c,0.2,C.SQ8) if False else (0.8*(np.load(f'/workspace/huawei/v10/ens/trim_b_c{c}_s0.npy')[:,1]+np.load(f'/workspace/huawei/v10/ens/trim_s_c{c}_s0.npy')[:,2])/2+0.2*C.SQ8[c]),c); s10=C.stats(ref10(c),c)
r=dict(name=name,spec=spec,cut=c,**{k:round(v,5) for k,v in s.items()},**{'d8_'+k:round(s[k]-s8[k],5) for k in ('auc','rw')},**{'d10_'+k:round(s[k]-s10[k],5) for k in s})
print(json.dumps(r),flush=True); open('cmp11_results.jsonl','a').write(json.dumps(r)+'\n')