Datasets documentation
Tabular verileri yükle
Tabular verileri yükle
Tabular veri seti, satırların bir örneği, sütunların ise bir özelliği (sürekli veya kategorik olabilir) temsil ettiği, satır ve sütunlarda saklanan herhangi bir veriyi tanımlamak için kullanılan genel bir veri setidir. Bu veri setleri genellikle CSV dosyalarında, Pandas DataFrames'lerinde ve veritabanı tablolarında saklanır. Bu kılavuz, bir tabular veri setini aşağıdakilerden yüklemenin ve oluşturmanın nasıl yapılacağını gösterecektir:
- CSV dosyaları
- Pandas Veri Çerçeveleri
- HDF5 dosyaları
- Veritabanları
CSV dosyaları
🤗 Datasets, load_dataset() metodunda genel csv veri seti oluşturucu adını belirterek CSV dosyalarını okuyabilir. Birden fazla CSV dosyası yüklemek için bunları bir liste olarak data_files parametresine iletin:
>>> from datasets import load_dataset
>>> dataset = load_dataset("csv", data_files="my_file.csv")
# load multiple CSV files
>>> dataset = load_dataset("csv", data_files=["my_file_1.csv", "my_file_2.csv", "my_file_3.csv"])Belirli CSV dosyalarını eğitim ve test bölümlerine eşleyebilirsiniz:
>>> dataset = load_dataset("csv", data_files={"train": ["my_train_file_1.csv", "my_train_file_2.csv"], "test": "my_test_file.csv"})Uzak CSV dosyalarını yüklemek için bunun yerine URL'leri iletin:
>>> base_url = "https://huggingface.co/datasets/lhoestq/demo1/resolve/main/data/"
>>> dataset = load_dataset('csv', data_files={"train": base_url + "train.csv", "test": base_url + "test.csv"})Sıkıştırılmış CSV dosyalarını yüklemek için:
>>> url = "https://domain.org/train_data.zip"
>>> data_files = {"train": url}
>>> dataset = load_dataset("csv", data_files=data_files)Pandas Veri Çerçeveleri
🤗 Datasets, from_pandas() yöntemiyle Pandas DataFrames içinden veri setlerini yüklemeyi de destekler:
>>> from datasets import Dataset
>>> import pandas as pd
# create a Pandas DataFrame
>>> df = pd.read_csv("https://huggingface.co/datasets/imodels/credit-card/raw/main/train.csv")
>>> df = pd.DataFrame(df)
# load Dataset from Pandas DataFrame
>>> dataset = Dataset.from_pandas(df)Veri seti bölmesinin adını belirtmek için splits parametresini kullanın:
>>> train_ds = Dataset.from_pandas(train_df, split="train")
>>> test_ds = Dataset.from_pandas(test_df, split="test")Veri seti beklenildiği gibi görünmüyorsa, veri seti özelliklerinizi açıkça belirtmelisiniz. Bir pandas.Series her zaman Arrow'un bir veri türünü otomatik olarak çıkarabilmesi için yeterli bilgiyi taşımaz. Örneğin, bir DataFrame'in uzunluğu 0 ise veya Series yalnızca None/NaN nesneleri içeriyorsa, tür null olarak ayarlanır.
HDF5 dosyaları
HDF5 dosyaları, bilimsel hesaplama ve makine öğrenmesinde büyük miktarda sayısal verinin depolanması için yaygın olarak kullanılır. 🤗 Datasets ile HDF5 dosyalarının yüklenmesi, CSV dosyalarının yüklenmesine benzerdir:
>>> from datasets import load_dataset
>>> dataset = load_dataset("hdf5", data_files="data.h5")HDF5 yükleyicinin, dosyanın “tablolu” bir yapıya sahip olduğunu varsaydığını, yani dosyadaki tüm veri kümelerinin ilk boyutunda (aynı sayıda) satıra sahip olduğunu belirtmek gerekir.
Veritabanları
Veritabanlarında saklanan veri kümeleri genellikle SQL sorguları ile erişilir. 🤗 Datasets ile bir veritabanına bağlanabilir, ihtiyacınız olan verileri sorgulayabilir ve bunlardan bir veri kümesi oluşturabilirsiniz. Ardından, veri kümenizi eğitim için hazırlamak üzere 🤗 Datasets'in tüm işleme özelliklerini kullanabilirsiniz.
SQLite
SQLite, hızlı ve kurulumu kolay, küçük ve hafif bir veritabanıdır. İsterseniz mevcut bir veritabanı kullanabilir veya sıfırdan başlayarak adımları takip edebilirsiniz.
New York Times'tan bu Covid-19 verisi ile hızlı bir SQLite veritabanı oluşturarak başlayın:
>>> import sqlite3
>>> import pandas as pd
>>> conn = sqlite3.connect("us_covid_data.db")
>>> df = pd.read_csv("https://raw.githubusercontent.com/nytimes/covid-19-data/master/us-states.csv")
>>> df.to_sql("states", conn, if_exists="replace")Bu, artık bir veri setine yükleyebileceğiniz us_covid_data.db veritabanında bir states tablosu oluşturur.
Veritabanına bağlanmak için veritabanınızı tanımlayan URI dizesine ihtiyacınız olacaktır. URI ile bir veritabanına bağlanmak, döndürülen veri setini önbelleğe alır. URI dizesi her veritabanı diyalekti için farklıdır, bu nedenle kullandığınız veritabanına ait Veritabanı URL'lerini kontrol etmeyi unutmayın.
SQLite için:
>>> uri = "sqlite:///us_covid_data.db"Tablo adını ve URI'yi from_sql() işlevine ileterek tabloyu yükleyin:
>>> from datasets import Dataset
>>> ds = Dataset.from_sql("states", uri)
>>> ds
Dataset({
features: ['index', 'date', 'state', 'fips', 'cases', 'deaths'],
num_rows: 54382
})Ardından filter() gibi 🤗 Datasets işleme özelliklerinin tümünü kullanabilirsiniz:
>>> ds.filter(lambda x: x["state"] == "California")Bir tablonun tamamı yerine bir SQL sorgusundan veri seti yükleyebilirsiniz; bu, birden fazla tabloyu sorgulamak ve birleştirmek için kullanışlıdır.
Sorgunuzu ve URI'yi from_sql() işlevine ileterek veri setini yükleyin:
>>> from datasets import Dataset
>>> ds = Dataset.from_sql('SELECT * FROM states WHERE state="California";', uri)
>>> ds
Dataset({
features: ['index', 'date', 'state', 'fips', 'cases', 'deaths'],
num_rows: 1019
})Ardından filter() gibi 🤗 Datasets işleme özelliklerinin tümünü kullanabilirsiniz:
>>> ds.filter(lambda x: x["cases"] > 10000)PostgreSQL
Bir PostgreSQL veritabanından veri seti bağlayıp yükleyebilirsiniz; ancak bu örnek yalnızca bir notebook'ta çalıştırılmak üzere tasarlandığı için belgede doğrudan nasıl yapılacağını göstermiyoruz. Bunun yerine, bir PostgreSQL sunucusunun nasıl kurulup yapılandırılacağını bu notebook'ta inceleyin!
PostgreSQL veritabanınızı kurduktan sonra, bir tablodan veya sorgudan veri seti yüklemek için from_sql() yöntemini kullanabilirsiniz.
Update on GitHub