# tf.keras.utils.split_dataset

<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/keras-team/keras/tree/v2.13.1/keras/utils/dataset_utils.py#L32-L117) |

Split a dataset into a left half and a right half (e.g. train / test).

    tf.keras.utils.split_dataset(
        dataset, left_size=None, right_size=None, shuffle=False, seed=None
    )

<br />

<br />

<br />

| ## Args ||
|---|---|
| `dataset` | A [`tf.data.Dataset`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/Dataset) object, or a list/tuple of arrays with the same length. |
| `left_size` | If float (in the range `[0, 1]`), it signifies the fraction of the data to pack in the left dataset. If integer, it signifies the number of samples to pack in the left dataset. If `None`, it uses the complement to `right_size`. Defaults to `None`. |
| `right_size` | If float (in the range `[0, 1]`), it signifies the fraction of the data to pack in the right dataset. If integer, it signifies the number of samples to pack in the right dataset. If `None`, it uses the complement to `left_size`. Defaults to `None`. |
| `shuffle` | Boolean, whether to shuffle the data before splitting it. |
| `seed` | A random seed for shuffling. |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| A tuple of two [`tf.data.Dataset`](https://www.tensorflow.org/versions/r2.13/api_docs/python/tf/data/Dataset) objects: the left and right splits. ||

<br />

#### Example:

    data = np.random.random(size=(1000, 4))
    left_ds, right_ds = tf.keras.utils.split_dataset(data, left_size=0.8)
    int(left_ds.cardinality())
    800
    int(right_ds.cardinality())
    200