# Veri setinizi tanıyın

İki tür veri seti nesnesi vardır: normal bir [Dataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset) ve ✨ [IterableDataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset) ✨. [Dataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset), satırlara hızlı rastgele erişim ve bellek eşlemesi (memory-mapping) sağlar; bu sayede büyük veri setlerini bile yüklemek, cihaz belleğinin nispeten küçük bir kısmını kullanır. Ancak diske veya belleğe sığmayacak kadar gerçekten, gerçekten büyük veri setleri için [IterableDataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset), veri setinin tamamen indirilmesini beklemeden erişmenize ve kullanmanıza olanak tanır!

Bu eğitimde bir [Dataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset) ve bir [IterableDataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset) nasıl yüklenir ve erişilir gösterilecektir.

## Veri seti

Bir veri seti bölümü yüklediğinizde bir [Dataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset) nesnesi alırsınız. Bir [Dataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset) nesnesiyle birçok işlem yapabilirsiniz; bu nedenle, içinde saklanan verilerle nasıl etkileşime geçileceğini ve bunları nasıl manipüle edileceğini öğrenmek önemlidir.
 
Bu eğitimde [rotten_tomatoes](https://huggingface.co/datasets/rotten_tomatoes) veri seti kullanılmaktadır, ancak istediğiniz herhangi bir veri setini yükleyip devam edebilirsiniz!

```py
>>> from datasets import load_dataset

>>> dataset = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
```

### Dizinleme

[Dataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset) veri sütunları içerir ve her sütun farklı bir veri türüne sahip olabilir. Örnekleri veri setinden erişmek için *index* (veya eksen etiketi) kullanılır. Örneğin, satıra göre indeksleme, veri setinden bir örneğin sözlüğünü döndürür:

```py
# Get the first row in the dataset
>>> dataset[0]
{'label': 1,
 'text': 'the rock is destined to be the 21st century\'s new " conan " and that he\'s going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```

Veri setinin sonundan başlamak için `-` operatörünü kullanın:

```py
# Get the last row in the dataset
>>> dataset[-1]
{'label': 0,
 'text': 'things really get weird , though not particularly scary : the movie is all portent and no content .'}
```

Sütun adıyla indeksleme, sütundaki tüm değerlerin listesini döndürür:

```py
>>> dataset["text"]
['the rock is destined to be the 21st century\'s new " conan " and that he\'s going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .',
 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson\'s expanded vision of j . r . r . tolkien\'s middle-earth .',
 'effective but too-tepid biopic',
 ...,
 'things really get weird , though not particularly scary : the movie is all portent and no content .']
```

Satır ve sütun adlarındaki indekslemeyi birleştirerek belirli bir konumdaki değeri döndürebilirsiniz:

```py
>>> dataset[0]["text"]
'the rock is destined to be the 21st century\'s new " conan " and that he\'s going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'
```

Dizinleme sırası önemli değildir. Sütun adıyla dizinleme, satır dizinleriyle normal şekilde dizinlenebilecek bir [Column](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Column) nesnesi döndürür:

```py
>>> import time

>>> start_time = time.time()
>>> text = dataset[0]["text"]
>>> end_time = time.time()
>>> print(f"Elapsed time: {end_time - start_time:.4f} seconds")
Elapsed time: 0.0031 seconds

>>> start_time = time.time()
>>> text = dataset["text"][0]
>>> end_time = time.time()
>>> print(f"Elapsed time: {end_time - start_time:.4f} seconds")
Elapsed time: 0.0042 seconds
```

### Dilimleme

Slicing, veri setinin bir dilimini - veya alt kümesini - döndürür ve bu, birden fazla satırı aynı anda görüntülemek için kullanışlıdır. Bir veri setini dilimlemek için, konum aralığını belirtmek üzere `:` operatörünü kullanın.

```py
# Get the first three rows
>>> dataset[:3]
{'label': [1, 1, 1],
 'text': ['the rock is destined to be the 21st century\'s new " conan " and that he\'s going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .',
  'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson\'s expanded vision of j . r . r . tolkien\'s middle-earth .',
  'effective but too-tepid biopic']}

# Get rows between three and six
>>> dataset[3:6]
{'label': [1, 1, 1],
 'text': ['if you sometimes like to go to the movies to have fun , wasabi is a good place to start .',
  "emerges as something rare , an issue movie that's so honest and keenly observed that it doesn't feel like one .",
  'the film provides some great insight into the neurotic mindset of all comics -- even those who have reached the absolute top of the game .']}
```

## IterableDataset

[load_dataset()](/docs/datasets/v5.2.0/tr/package_reference/loading_methods#datasets.load_dataset) içinde `streaming` parametresini `True` olarak ayarladığınızda bir [IterableDataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset) yüklenir:

```py
>>> from datasets import load_dataset

>>> iterable_dataset = load_dataset("ethz/food101", split="train", streaming=True)
>>> for example in iterable_dataset:
...     print(example)
...     break
{'image': <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=384x512 at 0x7F0681F5C520>, 'label': 6}
```

Bir [Dataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset)'ten *mevcut* bir [IterableDataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset) oluşturabilirsiniz ancak veri seti yerel dosyalardan akış olarak alındığı için bu, streaming modundan daha hızlıdır:

```py
>>> from datasets import load_dataset

>>> dataset = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> iterable_dataset = dataset.to_iterable_dataset()
```

Bir [IterableDataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset), veri setini örnek örnek ilerleyerek iterasyon yapar; bu sayede kullanmaya başlamadan önce tüm veri setinin indirilmesini beklemenize gerek kalmaz. Büyük boyutlu ve hemen kullanmak istediğiniz veri setleri için bunun ne kadar faydalı olduğunu hayal edebilirsiniz!

### Dizinleme

Bir [IterableDataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset)'in davranışı, standart bir [Dataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset)'ten farklıdır. Bir [IterableDataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset)'te örneklerin rastgele erişimine sahip olamazsınız. Bunun yerine, [IterableDataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset)'ten bir sonraki öğeyi döndürmek için örneğin `next(iter())` çağrısı yaparak veya bir `for` döngüsü kullanarak öğelerinin üzerinde gezinmeniz gerekir:

```py
>>> next(iter(iterable_dataset))
{'image': <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=384x512 at 0x7F0681F59B50>,
 'label': 6}

>>> for example in iterable_dataset:
...     print(example)
...     break
{'image': <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=384x512 at 0x7F7479DE82B0>, 'label': 6}
```

Ancak bir [IterableDataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset), sütun değerleri için bir iterable döndüren sütun indekslemeyi destekler:

```py
>>> next(iter(iterable_dataset["label"]))
6
```

### Bir alt küme oluşturma

Belirli sayıda örnek içeren veri kümesinin bir alt kümesini [IterableDataset.take()](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset.take) ile döndürebilirsiniz:

```py
# Get first three examples
>>> list(iterable_dataset.take(3))
[{'image': <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=384x512 at 0x7F7479DEE9D0>,
  'label': 6},
 {'image': <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=512x512 at 0x7F7479DE8190>,
  'label': 6},
 {'image': <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=512x383 at 0x7F7479DE8310>,
  'label': 6}]
```

Ancak [kesme](access/#slicing)'nin aksine, [IterableDataset.take()](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset.take) yeni bir [IterableDataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset) oluşturur.

## Sonraki adımlar

Bu iki veri seti türü arasındaki farklar hakkında daha fazla bilgi edinmek mi istiyorsunuz? Onlar hakkında daha fazla bilgi için [`Dataset` ve `IterableDataset` arasındaki farklar](about_mapstyle_vs_iterable) kavramsal rehberine göz atın.

Bu veri seti türleriyle daha yakından çalışmak için, bir [Dataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.Dataset)'i nasıl ön işleyeceğinizi öğrenmek için [Process](process) kılavuzuna veya bir [IterableDataset](/docs/datasets/v5.2.0/tr/package_reference/main_classes#datasets.IterableDataset)'i nasıl ön işleyeceğinizi öğrenmek için [Stream](stream) kılavuzuna göz atın.

