def split_data(data, validate_split=0.1, test_split=0.1):
    """ Splits data into train, validation and test set 
    By default dataset is split into:
        Train    : 80%
        Validate : 10%
        Test     : 10%
    """
    N_test = int(test_split * data.shape[0])
    N_validate = int(validate_split * data.shape[0]) + N_test

    data_test = data[:N_test]
    data_validate = data[N_test:N_validate]
    data_train = data[N_validate:]

    return data_train, data_validate, data_test