def baseline_demo(info): fout_baseline = open(info.fname_baseline, 'w') fout_q = open(info.fname_baseline_q, 'w') fout_w = open(info.fname_baseline_w, 'w') w, winAuctions, winbid, losebid = getTrainData_b(info.fname_trainlog, info.fname_trainbid) print "trainData read success." wt = getTestData_b(info.fname_testlog) print "testData read success." # get priceSet wcount = [0] * UPPER if info.mode == NORMAL or info.mode == SURVIVAL: for i in range(0, len(winAuctions)): if winAuctions[i] == 1: wcount[w[i]] += 1 if info.mode == FULL: for i in range(0, len(winAuctions)): wcount[w[i]] += 1 minPrice = 0 maxPrice = UPPER q = calProbDistribution(wcount, winbid, losebid, minPrice, maxPrice, info) w = q2w(q) print "q calculation success." if len(q) != 0: fout_q.write(str(q[0])) for i in range(1, len(q)): fout_q.write(' ' + str(q[i])) fout_q.close() if len(w) != 0: fout_w.write(str(w[0])) for i in range(1, len(w)): fout_w.write(' ' + str(w[i])) fout_w.close() # n calculation priceSet = wt minPrice = 0 maxPrice = max(priceSet) n = [0.] * UPPER for i in range(0, len(priceSet)): pay_price = priceSet[i] n[pay_price] += 1 print "n calculation success." # qt,wt calculation qt = calProbDistribution_n(n, minPrice, maxPrice, info) wt = q2w(qt) # evaluation # ANLP fout_baseline.write("baseline campaign " + str(info.campaign) + " mode " + MODE_NAME_LIST[info.mode] + " basebid " + info.basebid + '\n') fout_baseline.write("laplace " + str(info.laplace) + "\n") print "baseline campaign " + str( info.campaign) + " mode " + MODE_NAME_LIST[ info.mode] + " basebid " + info.basebid print "laplace " + str(info.laplace) for step in STEP_LIST: qi = changeBucketUniform(q, step) ni = deepcopy(n) bucket = len(qi) anlp, N = getANLP(qi, ni, minPrice, maxPrice) fout_baseline.write("bucket " + str(bucket) + " step " + str(step) + "\n") fout_baseline.write("Average negative log probability = " + str(anlp) + " N = " + str(N) + "\n") print "bucket " + str(bucket) + " step " + str(step) print "Average negative log probability = " + str( anlp) + " N = " + str(N) # KLD & pearsonr bucket = len(q) step = STEP_LIST[0] KLD = KLDivergence(q, qt) N = sum(n) fout_baseline.write("bucket " + str(bucket) + " step " + str(step) + "\n") fout_baseline.write("KLD = " + str(KLD) + " N = " + str(N) + "\n") print "bucket " + str(bucket) + " step " + str(step) print "KLD = " + str(KLD) + " N = " + str(N) fout_baseline.close() fout_q.close() fout_w.close() return q, w
def baseline_kdd15_Rversion0(info): w = [] for day in DAY_LIST: tmpw = getWinningPrice(info.fname_trainlog+day+'.txt') w.extend(tmpw) wt = getTestData_yzx(info.fname_testlog) # q calculation q = getQ(w,info) w = q2w(q) fout_q = open(info.fname_baseline_kdd15_q,'w') fout_w = open(info.fname_baseline_kdd15_w,'w') if len(q)!=0: fout_q.write(str(q[0])) for i in range(1,len(q)): fout_q.write(' '+str(q[i])) fout_q.close() if len(w)!=0: fout_w.write(str(w[0])) for i in range(1,len(w)): fout_w.write(' '+str(w[i])) fout_w.close() # n calculation print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())),"n calculation begins." minPrice = 0 maxPrice = max(wt) n = [0.]*UPPER for pay_price in wt: n[pay_price] += 1 # qt,wt calculation qt = calProbDistribution_n(n,minPrice,maxPrice,info) wt = q2w(qt) # evaluation fout_baseline_kdd15 = open(info.fname_baseline_kdd15,'w') fout_baseline_kdd15.write("baseline_kdd15 campaign "+str(info.campaign)+" basebid "+info.basebid+'\n') print "baseline campaign "+str(info.campaign)+" basebid "+info.basebid for step in STEP_LIST: qi = changeBucketUniform(q,step) ni = deepcopy(n) bucket = len(qi) anlp,N = getANLP(qi,ni,minPrice,maxPrice) fout_baseline_kdd15.write("bucket "+str(bucket)+" step "+str(step)+"\n") fout_baseline_kdd15.write("Average negative log probability = "+str(anlp)+" N = "+str(N)+"\n") print "bucket "+str(bucket)+" step "+str(step) print "Average negative log probability = "+str(anlp)+" N = "+str(N) # KLD bucket = len(q) step = STEP_LIST[0] KLD = KLDivergence(q,qt) N = sum(n) fout_baseline_kdd15.write("bucket "+str(bucket)+" step "+str(step)+"\n") fout_baseline_kdd15.write("KLD = "+str(KLD)+" N = "+str(N)+"\n") print "bucket "+str(bucket)+" step "+str(step) print "KLD = "+str(KLD)+" N = "+str(N) fout_baseline_kdd15.close() fout_q.close() fout_w.close() return q,w
def baseline_kdd15_Rversion0(info): w = [] for day in DAY_LIST: tmpw = getWinningPrice(info.fname_trainlog + day + '.txt') w.extend(tmpw) wt, ground_truth, bt = getTestData_yzbx(info.fname_testlog) # q calculation q = getQ(w, info) w = q2w(q) fout_q = open(info.fname_baseline_kdd15_q, 'w') fout_w = open(info.fname_baseline_kdd15_w, 'w') if len(q) != 0: fout_q.write(str(q[0])) for i in range(1, len(q)): fout_q.write(' ' + str(q[i])) fout_q.close() if len(w) != 0: fout_w.write(str(w[0])) for i in range(1, len(w)): fout_w.write(' ' + str(w[i])) fout_w.close() # n calculation print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())), "n calculation begins." minPrice = 0 maxPrice = max(wt) maxPriceB = max(bt) n = [0.] * UPPER for i in range(len(wt)): pay_price = wt[i] n[pay_price] += 1 nb = [0.] * UPPER g = {} for i in range(len(bt)): pay_price = bt[i] nb[pay_price] += 1 if not g.has_key(pay_price): g[pay_price] = [ground_truth[i]] else: g[pay_price].append(ground_truth[i]) # qt,wt calculation qt = calProbDistribution_n(n, minPrice, maxPrice, info) wt = q2w(qt) qb = calProbDistribution_n(nb, minPrice, maxPriceB, info) wb = q2w(qb) # evaluation fout_baseline_kdd15 = open(info.fname_baseline_kdd15, 'w') fout_baseline_kdd15.write("baseline_kdd15 campaign " + str(info.campaign) + " basebid " + info.basebid + '\n') print "baseline campaign " + str( info.campaign) + " basebid " + info.basebid for step in STEP_LIST: qi = changeBucketUniform(q, step) ni = deepcopy(n) bucket = len(qi) anlp, N = getANLP(qi, ni, minPrice, maxPrice) auc, cross = getAUC_CROSS(wb, g) fout_baseline_kdd15.write("bucket " + str(bucket) + " step " + str(step) + "\n") fout_baseline_kdd15.write("Average negative log probability = " + str(anlp) + " N = " + str(N) + "\n") fout_baseline_kdd15.write("AUC = " + str(auc) + "\n") fout_baseline_kdd15.write("CROSS = " + str(cross) + "\n") print "bucket " + str(bucket) + " step " + str(step) print "Average negative log probability = " + str( anlp) + " N = " + str(N) print "AUC = " + str(auc) print "CROSS = " + str(cross) # KLD bucket = len(q) step = STEP_LIST[0] KLD = KLDivergence(q, qt) N = sum(n) fout_baseline_kdd15.write("bucket " + str(bucket) + " step " + str(step) + "\n") fout_baseline_kdd15.write("KLD = " + str(KLD) + " N = " + str(N) + "\n") print "bucket " + str(bucket) + " step " + str(step) print "KLD = " + str(KLD) + " N = " + str(N) fout_baseline_kdd15.close() fout_q.close() fout_w.close() return q, w
def baseline_kdd15_Rversion0(info): w = [] for day in DAY_LIST: tmpw = getWinningPrice(info.fname_trainlog + day + '.txt') w.extend(tmpw) wt = getTestData_yzx(info.fname_testlog) # q calculation q = getQ(w, info) w = q2w(q) fout_q = open(info.fname_baseline_kdd15_q, 'w') fout_w = open(info.fname_baseline_kdd15_w, 'w') if len(q) != 0: fout_q.write(str(q[0])) for i in range(1, len(q)): fout_q.write(' ' + str(q[i])) fout_q.close() if len(w) != 0: fout_w.write(str(w[0])) for i in range(1, len(w)): fout_w.write(' ' + str(w[i])) fout_w.close() # n calculation print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())), "n calculation begins." minPrice = 0 maxPrice = max(wt) n = [0.] * UPPER for pay_price in wt: n[pay_price] += 1 # qt,wt calculation qt = calProbDistribution_n(n, minPrice, maxPrice, info) wt = q2w(qt) # evaluation fout_baseline_kdd15 = open(info.fname_baseline_kdd15, 'w') fout_baseline_kdd15.write("baseline_kdd15 campaign " + str(info.campaign) + " basebid " + info.basebid + '\n') print "baseline campaign " + str( info.campaign) + " basebid " + info.basebid for step in STEP_LIST: qi = changeBucketUniform(q, step) ni = deepcopy(n) bucket = len(qi) anlp, N = getANLP(qi, ni, minPrice, maxPrice) fout_baseline_kdd15.write("bucket " + str(bucket) + " step " + str(step) + "\n") fout_baseline_kdd15.write("Average negative log probability = " + str(anlp) + " N = " + str(N) + "\n") print "bucket " + str(bucket) + " step " + str(step) print "Average negative log probability = " + str( anlp) + " N = " + str(N) # KLD bucket = len(q) step = STEP_LIST[0] KLD = KLDivergence(q, qt) N = sum(n) fout_baseline_kdd15.write("bucket " + str(bucket) + " step " + str(step) + "\n") fout_baseline_kdd15.write("KLD = " + str(KLD) + " N = " + str(N) + "\n") print "bucket " + str(bucket) + " step " + str(step) print "KLD = " + str(KLD) + " N = " + str(N) fout_baseline_kdd15.close() fout_q.close() fout_w.close() return q, w
def baseline(info): fout_baseline = open(info.fname_baseline,'w') fout_q = open(info.fname_baseline_q,'w') fout_w = open(info.fname_baseline_w,'w') w,winAuctions,winbid,losebid = getTrainData_b(info.fname_trainlog,info.fname_trainbid) print "trainData read success." wt = getTestData_b(info.fname_testlog) print "testData read success." # get priceSet wcount = [0]*UPPER if info.mode==NORMAL or info.mode==SURVIVAL: for i in range(0,len(winAuctions)): if winAuctions[i]==1: wcount[w[i]] += 1 if info.mode==FULL : for i in range(0,len(winAuctions)): wcount[w[i]] += 1 minPrice = 0 maxPrice = UPPER q = calProbDistribution(wcount,winbid,losebid,minPrice,maxPrice,info) w = q2w(q) print "q calculation success." if len(q)!=0: fout_q.write(str(q[0])) for i in range(1,len(q)): fout_q.write(' '+str(q[i])) fout_q.close() if len(w)!=0: fout_w.write(str(w[0])) for i in range(1,len(w)): fout_w.write(' '+str(w[i])) fout_w.close() # n calculation priceSet = wt minPrice = 0 maxPrice = max(priceSet) n = [0.]*UPPER for i in range(0,len(priceSet)): pay_price = priceSet[i] n[pay_price] += 1 print "n calculation success." # qt,wt calculation qt = calProbDistribution_n(n,minPrice,maxPrice,info) wt = q2w(qt) # evaluation # ANLP fout_baseline.write("baseline campaign "+str(info.campaign)+" mode "+MODE_NAME_LIST[info.mode]+" basebid "+info.basebid+'\n') fout_baseline.write("laplace "+str(info.laplace)+"\n") print "baseline campaign "+str(info.campaign)+" mode "+MODE_NAME_LIST[info.mode]+" basebid "+info.basebid print "laplace "+str(info.laplace) for step in STEP_LIST: qi = changeBucketUniform(q,step) ni = deepcopy(n) bucket = len(qi) anlp,N = getANLP(qi,ni,minPrice,maxPrice) fout_baseline.write("bucket "+str(bucket)+" step "+str(step)+"\n") fout_baseline.write("Average negative log probability = "+str(anlp)+" N = "+str(N)+"\n") print "bucket "+str(bucket)+" step "+str(step) print "Average negative log probability = "+str(anlp)+" N = "+str(N) # KLD & pearsonr bucket = len(q) step = STEP_LIST[0] KLD = KLDivergence(q,qt) N = sum(n) fout_baseline.write("bucket "+str(bucket)+" step "+str(step)+"\n") fout_baseline.write("KLD = "+str(KLD)+" N = "+str(N)+"\n") print "bucket "+str(bucket)+" step "+str(step) print "KLD = "+str(KLD)+" N = "+str(N) fout_baseline.close() fout_q.close() fout_w.close() return q,w