def GetConf(confDir1,confDir2,Cur_day,cid,bid): #get_conf.py文件的路径,获取该python产生的字典,confDir:sys.argv[5]+'/bin',Cur_day:sys.argv[4],cid:sys.argv[2],bid:sys.argv[3] print confDir2, Cur_day, cid, bid conf1=gc.run(confDir2,Cur_day,cid,bid,'6') txt=conf1 #参数3为客户名cid,参数4为推荐栏名bid title=[] #获取列名 rpv=[] #获取对应列名的替换值,RePlaceValue zero_effect=[] for i in txt.keys(): title.append(i) if 'filler' in txt[i]: repfiller=float(txt[i]['filler']) else: repfiller=0.0 if 'zero_effect' in txt[i]: repzero=txt[i]['zero_effect'] else: repzero=False rpv.append(repfiller) zero_effect.append(repzero) #print title, rpv, zero_effect conf3=gc.run(confDir2,Cur_day,cid,bid,'3') txt3=conf3 com_name=txt3['General']['common_fields'].split(',') feature=GetFeature(confDir1) conf2=com_name+feature+['l_date'] #获得所有数据列名 rpv=[rpv[title.index(feature[i])] for i in range(len(feature))] zero_effect=[zero_effect[title.index(feature[i])] for i in range(len(feature))] return feature, conf2, rpv, zero_effect
def GetConf( confDir1, confDir2, Cur_day, cid, bid ): #get_conf.py文件的路径,获取该python产生的字典,confDir:sys.argv[5]+'/bin',Cur_day:sys.argv[4],cid:sys.argv[2],bid:sys.argv[3] print confDir2, Cur_day, cid, bid conf1 = gc.run(confDir2, Cur_day, cid, bid, '6') txt = conf1 #参数3为客户名cid,参数4为推荐栏名bid title = [] #获取列名 rpv = [] #获取对应列名的替换值,RePlaceValue zero_effect = [] for i in txt.keys(): title.append(i) if 'filler' in txt[i]: repfiller = float(txt[i]['filler']) else: repfiller = 0.0 if 'zero_effect' in txt[i]: repzero = txt[i]['zero_effect'] else: repzero = False rpv.append(repfiller) zero_effect.append(repzero) #print title, rpv, zero_effect conf3 = gc.run(confDir2, Cur_day, cid, bid, '3') txt3 = conf3 com_name = txt3['General']['common_fields'].split(',') feature = GetFeature(confDir1) conf2 = com_name + feature + ['l_date'] #获得所有数据列名 rpv = [rpv[title.index(feature[i])] for i in range(len(feature))] zero_effect = [ zero_effect[title.index(feature[i])] for i in range(len(feature)) ] return feature, conf2, rpv, zero_effect
def GetConf(confDir1,confDir2,Cur_day,cid,bid): #get_conf.py文件的路径,获取该python产生的字典,confDir:sys.argv[5]+'/bin',Cur_day:sys.argv[4],cid:sys.argv[2],bid:sys.argv[3] conf1=gc.run(confDir2,Cur_day,cid,bid,'3') txt=conf1 #参数3为客户名cid,参数4为推荐栏名bid com_name=txt['General']['common_fields'].split(',') feature=GetFeature(confDir1) conf2=com_name+feature+['l_date'] #获得所有数据列名 return feature, conf2
def get_common_fields(Base_Dir_208, date, cid, bid, type): sys.path.append(Base_Dir_208 + '/run') import get_conf as gc try: common_fields = gc.run(Base_Dir_208, date, cid, bid, type)["General"]["common_fields"] fields_list = [] for field in common_fields.split(","): field = field.strip() if field != "": fields_list.append(field) return fields_list except: print "prepare_data.py - get_common_fields() : parse feature_coherent.conf file error" exit()
def run_model_LR(Base_Dir_40p208, Base_Dir_share, cid, bid, date): sys.path.append(Base_Dir_40p208 + '/model_LR') import prepare_data import offline_exp conf = get_conf.run(Base_Dir_40p208, date, cid, bid, "1") if conf.has_key("model_LR"): conf = conf["model_LR"] else: print "run_model.py - run_model_LR() : cid-{0}, bid-{1} has no model_LR section.".format(cid, bid) exit() conf_format = {} conf_format["General"] = {} for k in conf: if k == "select_features": conf_format["General"][k] = conf[k] continue if k == "sample_proportion": conf_format["General"][k] = conf[k] continue if k == "sample": conf_format["General"][k] = conf[k] continue if k == "train_days": conf_format["General"][k] = conf[k] continue if k == "test_days": conf_format["General"][k] = conf[k] continue conf_format[k] = conf[k] train_list, test_list = prepare_data.run(Base_Dir_40p208, Base_Dir_share, date, cid, bid, conf_format) print train_list print test_list offline_exp.run(Base_Dir_40p208, date, cid, bid, conf_format, train_list, test_list)