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
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()