コード例 #1
0
def predict(knownFileLocation,unknownFileLocation):
    #Create readable csv objects from the given file locations
    passengerDataFile = csv.reader(open(unknownFileLocation, 'r'))
    knownPassengerDataFile = csv.reader(open(knownFileLocation,'r'))


    #Grab the header from the given files
    unknownHeader = next(passengerDataFile)
    unknown_passenger_data=[]

    knownHeader = next(knownPassengerDataFile)
    known_passenger_data=[]


    myList = PassengerList(unknown_passenger_data)
    knownList = PassengerList(known_passenger_data)

    #Fill each passenger list with passengers that have the attributes given from the csv files
    for row in passengerDataFile: 
        newPassenger = Passenger(row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7],row[8],row[9],row[10])    
        myList.add(newPassenger)

    #For known passengers, we can also set their survival attribute
    for row in knownPassengerDataFile: 
        newPassenger = Passenger(row[0],row[2],row[3],row[4],row[5],row[6],row[7],row[8],row[9],row[10],row[11])    
        newPassenger.setSurvived(row[1])
        knownList.add(newPassenger)

    #Gather the statistics on both data sets involving their survival rate after we predict on the unknown set using the known set
    statsLists = PredictiveAnalyzer.train(knownList,myList)

    #Write the predicted survival information to the prediction csv file
    kaggleSubmissionFile = open("TitanicPredictions.csv", "w",newline='')
    open_file_object = csv.writer(kaggleSubmissionFile)
    open_file_object.writerow(["Survived","PassengerID"])
    for passenger in myList:
        open_file_object.writerow([passenger.getSurvived(),passenger.getID()])

    kaggleSubmissionFile.close()
    
    #Return the statistiscs for output in our gui
    return statsLists
コード例 #2
0
def predict(knownFileDirectory,unknownFileDirectory):
    passengerDataFile = csv.reader(open('passengerNoSurvivedData.csv', 'r'))
    knownPassengerDataFile = csv.reader(open('passengerSurvivedData.csv','r'))



    header = next(passengerDataFile)
    passenger_data=[]

    knownHeader = next(knownPassengerDataFile)
    known_passenger_data=[]


    myList = PassengerList(passenger_data)
    knownList = PassengerList(known_passenger_data)

    for row in passengerDataFile: 
        newPassenger = Passenger(row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7],row[8],row[9],row[10])    
        myList.add(newPassenger)

    for row in knownPassengerDataFile: 
        newPassenger = Passenger(row[0],row[2],row[3],row[4],row[5],row[6],row[7],row[8],row[9],row[10],row[11])    
        newPassenger.setSurvived(row[1])
        knownList.add(newPassenger)


    PredictiveAnalyzer.train(knownList,myList)


    kaggleSubmissionFile = open("TitanicPredictions.csv", "w",newline='')
    open_file_object = csv.writer(kaggleSubmissionFile)
    open_file_object.writerow(["Survived","PassengerID"])
    for passenger in myList:
        #print(passenger.getID())
        #print(passenger.getSurvived())
        open_file_object.writerow([passenger.getSurvived(),passenger.getID()])

    kaggleSubmissionFile.close()