def createPatientInstance(self, patient, dataset): # Create a patient instance to classify ignoreAttributes = ['readmitted'] values = [] for a in dataset.attributes(): if not a.is_nominal: values.append(patient[a.name]) elif a.name in ignoreAttributes: values.append(0) else: values.append(a.values.index(patient[a.name])) #print values newInst = Instance.create_instance(values) return newInst
def addInstancesToDataset(self, source, dest): # Align the instances of a source dataset to destination's header and add them to the destination dataset i = 0 while i < source.num_instances: values = source.get_instance(i).values it = np.nditer(values, flags=['f_index'], op_flags=['readwrite']) while not it.finished: (it[0], it.index), if (source.attribute(it.index).is_nominal): stringVal = source.get_instance(i).get_string_value(it.index) # print stringVal if(stringVal != '?'): values[it.index] = dest.attribute(it.index).values.index(stringVal) it.iternext() dest.add_instance(Instance.create_instance(values)) i = i + 1