def sta_ai_log01(xtfb,df):
    #1
    xkwin,k00,k10,k30=-9,xtfb.staVars[0] ,xtfb.staVars[1],xtfb.staVars[2]
    ysgn='kwin'  #xtfb.ai_ysgn
    #2
    df[ysgn]=df[ysgn].astype(str)
    df[ysgn].replace('3','2', inplace=True)
    #3
    df[ysgn]=df[ysgn].astype(int)
    #4
    xtfb.ai_xdat,xtfb.ai_ydat= df[xtfb.ai_xlst],df[ysgn]  
    #5
    msgn=xtfb.ai_mx_sgn_lst[0] #'log'
    mx=zai.xmodel[msgn]
    dacc,df9=zai.mx_fun8mx(mx, xtfb.ai_xdat,xtfb.ai_ydat,yk0=1,fgInt=True) #,fgDebug=True
    #print('\n log01,dacc,',dacc)
    #6
    df3,df1,df0=df9[df9['y_pred']==2],df9[df9['y_pred']==1],df9[df9['y_pred']==0]
    dn3,dn1,dn0=len(df3.index),len(df1.index),len(df0.index)
    #7
    dn9,dsum=max(dn3,dn1,dn0),sum([dn3,dn1,dn0])
    #8
    if dsum>0:
        dk3,dk1,dk0=dn3/dsum*100,dn1/dsum*100,dn0/dsum*100
        if (dn3==dn9)and(dk3>k30):xkwin=3
        elif (dn1==dn9)and(dk1>k10):xkwin=1
        elif (dn0==dn9)and(dk0>k00):xkwin=0
        #
        #yk310=df9['y_test'][0]
        #xs0='@log01,{0}#,{1},xk,gid,{2},dsum.{3},dn310,{4},{5},{6},dk310,{7:.1f}%,{8:.1f}%,{9:.1f}%'
        #xss=xs0.format(xkwin,yk310,xtfb.kgid,dsum,dn3,dn1,dn0,dk3,dk1,dk0)
        #print(xss)
    
    #9
    return xkwin
Exemple #2
0
import ztop_ai as zai

#-----------------------

#1
fsr0 = 'dat/ccpp_'
print('#1', fsr0)
xlst, ysgn = ['AT', 'V', 'AP', 'RH'], 'PE'
x_train, x_test, y_train, y_test = zai.ai_dat_rd(fsr0)
funSgn, ftg = 'svm', 'tmp/ccpp_svm.pkl'
#2
print('\n#2,mx_svm.wr')
tim0 = arrow.now()
zai.ai_f_mxWr(ftg, funSgn, x_train, y_train)
tn = zt.timNSec('', tim0, True)

#3
tim0 = arrow.now()
print('\n#3,mx_svm.rd')
mx = joblib.load(ftg)
tn = zt.timNSec('', tim0, True)

#4
print('\n#4,mx_svm')
tim0 = arrow.now()
zai.mx_fun8mx(mx, x_test, y_test)
tn = zt.timNSec('', tim0, True)

#-----------------------
print('\nok!')