def train_test_split(test_ratio, *args):
    """
    Ordinary train/test split.

    :param test_ratio:          float, split value e.g. 0.8 means 80% train and 20% test data
    :param args:                tuple of arrays to be split

    :return:
        list of split arrays
    """
    split = int(len(args[0]) * test_ratio)
    return [(elem[:split], elem[split:]) for elem in args]