Download v13/cmp11.py from Eric-Yyvuw/yeepee-ctr: direct link, hf CLI and curl.
- Browser
- Download file 1.76 kB
-
https://huggingface.co/Eric-Yyvuw/yeepee-ctr/resolve/main/v13/cmp11.py
- Command line
-
hf download hf://Eric-Yyvuw/yeepee-ctr/v13/cmp11.py
-
curl -L -o cmp11.py https://huggingface.co/Eric-Yyvuw/yeepee-ctr/resolve/main/v13/cmp11.py
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') | |