Esempio n. 1
0
def main():
    
    #---------------------------PUT THE SEGMENT YOU WANT TO START PREDICTING FROM----------------------
    CURRENT_SEGMENT=1
    inning=1
    
    #-----------------------------------------------------
    
    train_data=LoadData.getTraindata(inning)
    test_data=LoadData.getTestData(CURRENT_SEGMENT, inning)
    
    HRMods= HRModel.getHRModels(train_data)
    NHRMods= NHRModel.getNHRModels(train_data)
    
    
    #Start predicting for each segment
    fileFolder="../Predict EOI/Results/Final PPT/Inn"+str(inning)+"-StartSeg"+str(CURRENT_SEGMENT)+"-HR_NHR-"
    maeFile=fileFolder+"MAE.csv"
    fwriter=open(maeFile,"w")
    fwriter.write("Segment,HR MAE in Segment,NHR MAE in Segment,HR MAE till Segment,NHR MAE till Segment,Total MAE")
    fwriter.write("\n")
    
    df = pd.DataFrame(0, index=np.arange(len(test_data)), columns=['Predicted Total HR till Segment'])
    hr_runs = gl.SFrame(data=df)
    df = pd.DataFrame(0, index=np.arange(len(test_data)), columns=['Predicted Total NHR till Segment'])
    nhr_runs = gl.SFrame(data=df)
    
    test_data['Predicted Total HR till Segment']=hr_runs['Predicted Total HR till Segment']
    test_data['Predicted Total NHR till Segment']=nhr_runs['Predicted Total NHR till Segment']
        
    while CURRENT_SEGMENT<=10:
        print "--------------Segment "+ str(CURRENT_SEGMENT)+" Started-----------------"  
        predict_HR= HRModel.getPredictedHomeRun(HRMods, train_data, CURRENT_SEGMENT, test_data)
        predict_NHR= NHRModel.getPredictedNHR(NHRMods, CURRENT_SEGMENT, test_data)
        
       
        
        test_data=updateHRFeatures(test_data, predict_HR)
        test_data=updateNHRFeatures(test_data, predict_NHR)
        
        #write to FILE
        filename=fileFolder+str(CURRENT_SEGMENT)+".csv"
        
        keylist=['Team','Total Matches Played','Runs Scored','Wickets Lost','Got All Out','Runs Conceded','Opponent Wickets Taken','Opponent All Out','Match Index','Batsman','Player Total Runs','Player Home Runs','Player Non Home Runs','Balls Faced','R0','W0','R1','W1','Current_HR','Current_NHR','Target','Final Runs Made','Extras','Home','Segment','Home Run Hitting Ability','Milestone Reaching Ability','Batting Average','Strike Rate','Matches Played','ClusterID','Predicted Total HR till Segment','Predicted Total NHR till Segment','Actual HR in Segment','Predicted HR in Segment','Actual NHR in Segment','Predicted NHR in Segment','Predicted Total runs till Segment']
        test_data=test_data.select_columns(keylist)
        test_data.save(filename, format='csv')
        
        
        mae_string=getStatistics(train_data, test_data, CURRENT_SEGMENT)
        
        print ""
        print "MAE = ", mae_string
        fwriter.write(str(CURRENT_SEGMENT)+","+mae_string)
        fwriter.write("\n")
        
        
        CURRENT_SEGMENT=CURRENT_SEGMENT+1
    
    print ""    
    print "-----------Prediction Done!---------------"   
    return