Add option for named splits when using ds.train_test_split
{'login': 'nateraw', 'id': 32437151, 'node_id': 'MDQ6VXNlcjMyNDM3MTUx', 'avatar_url': 'https://avatars.githubusercontent.com/u/32437151?v=4', 'gravatar_id': '', 'url': 'https://api.github.com/users/nateraw', 'html_url': 'https://github.com/nateraw', 'followers_url': 'https://api.github.com/users/nateraw/followers', 'following_url': 'https://api.github.com/users/nateraw/following{/other_user}', 'gists_url': 'https://api.github.com/users/nateraw/gists{/gist_id}', 'starred_url': 'https://api.github.com/users/nateraw/starred{/owner}{/repo}', 'subscriptions_url': 'https://api.github.com/users/nateraw/subscriptions', 'organizations_url': 'https://api.github.com/users/nateraw/orgs', 'repos_url': 'https://api.github.com/users/nateraw/repos', 'events_url': 'https://api.github.com/users/nateraw/events{/privacy}', 'received_events_url': 'https://api.github.com/users/nateraw/received_events', 'type': 'User', 'site_admin': False}
[{'id': 1935892871, 'node_id': 'MDU6TGFiZWwxOTM1ODkyODcx', 'url': 'https://api.github.com/repos/huggingface/datasets/labels/enhancement', 'name': 'enhancement', 'color': 'a2eeef', 'default': True, 'description': 'New feature or request'}]
[]
Yes definitely we should give more flexibility to control the name of the splits outputted by `train_test_split`.

Related is the very interesting feedback from @bramvanroy on how we should improve this method: https://discuss.huggingface.co/t/how-to-split-main-dataset-into-train-dev-test-as-datasetdict/1090/5

And in particular that it should advantageously be able to split in 3 splits as well instead of just 2 like we copied from sklearn.
### Feature Request 🚀 

Can we add a way to name your splits when using the `.train_test_split` function?

In almost every use case I've come across, I have a `train` and a `test` split in my `DatasetDict`, and I want to create a `validation` split. Therefore, its kinda useless to get a `test` split back from `train_test_split`, as it'll just overwrite my real `test` split that I intended to keep.

### Workaround

this is my hack for dealin with this, for now :slightly_smiling_face:

```python
from datasets import load_dataset
​
​
ds = load_dataset('imdb')
ds['train'], ds['validation'] = ds['train'].train_test_split(.1).values()
```

{'url': 'https://api.github.com/repos/huggingface/datasets/issues/767/reactions', 'total_count': 5, '+1': 5, '-1': 0, 'laugh': 0, 'hooray': 0, 'confused': 0, 'heart': 0, 'rocket': 0, 'eyes': 0}