Exemplo n.º 1
0
def load_test_data_ihm():
    """
    Function to initialize MIMIC-III benchmark IHM test-data

    Returns:
        data (numpy.ndarray): discretized and normalized IHM data
        labels (list[int]): true values of IHM task
        names (list[str]): episode reference for true IHM value
        discretizer_header (list[str]): header information on each variable
    """
    discretizer = Discretizer(timestep=float(timestep),
                              store_masks=True,
                              impute_strategy='previous',
                              start_time='zero')
    # Build readers, discretizers, normalizers
    train_reader = InHospitalMortalityReader(
        dataset_dir=os.path.join(data_dir, 'train'),
        listfile=os.path.join(data_dir, 'train_listfile.csv'),
        period_length=48.0)
    discretizer_header = discretizer.transform(
        train_reader.read_example(0)["X"])[1].split(',')
    cont_channels = [
        i for (i, x) in enumerate(discretizer_header) if x.find("->") == -1
    ]
    normalizer = Normalizer(fields=cont_channels)
    normalizer.load_params(normalizer_state)
    test_reader = InHospitalMortalityReader(
        dataset_dir=os.path.join(data_dir, 'test'),
        listfile=os.path.join(data_dir, 'test_listfile.csv'),
        period_length=48.0)
    ret = utils.load_data(test_reader,
                          discretizer,
                          normalizer,
                          small_part,
                          return_names=True)
    data = ret["data"][0]
    labels = ret["data"][1]
    names = ret["names"]
    return data, labels, names, discretizer_header
Exemplo n.º 2
0
    listfile=os.path.join(args.data, 'train_listfile.csv'))
val_reader = InHospitalMortalityReader(
    dataset_dir=os.path.join(args.data, 'train'),
    listfile=os.path.join(args.data, 'val_listfile.csv'))

test_reader = InHospitalMortalityReader(
    dataset_dir=os.path.join(args.data, 'test'),
    listfile=os.path.join(args.data, 'test_listfile.csv'))

discretizer = Discretizer(timestep=args.timestep,
                          store_masks=True,
                          impute_strategy='previous',
                          start_time='zero')

discretizer_header = discretizer.transform(
    train_reader.read_example(0)["X"])[1].split(',')
cont_channels = [
    i for (i, x) in enumerate(discretizer_header) if x.find("->") == -1
]

normalizer = Normalizer(
    fields=cont_channels)  # choose here which columns to standardize

normalizer_state = 'ihm_ts{}.input_str:previous.start_time:zero.normalizer'.format(
    args.timestep)
normalizer_state = os.path.join(os.path.dirname(__file__), normalizer_state)
normalizer.load_params(normalizer_state)

# Read data
train_raw = preprocessing.load_data(train_reader, discretizer, normalizer)
val_raw = preprocessing.load_data(val_reader, discretizer, normalizer)