在 Hugging Face 建立本地的資料集

要在Hugging Face的datasets庫中創建帶有 ‘train’、’test’、’valid’ 這三個分割的資料集,並且每個分割都有 ‘text’ 和 ‘label’,你可以參考以下的步驟:

  1. 首先,創建一個包含 ‘text’ 和 ‘label’ 的資料集。
pythonCopy codefrom datasets import Dataset

# 假設你有一個文字和標籤列表
texts = ["Hello world!", "Machine learning is fun.", "..."]
labels = [0, 1, 0]  # 例如,0代表 '英文',1代表 '科技'

# 創建一個資料集
dataset = Dataset.from_dict({"text": texts, "label": labels})
  1. 然後,使用 train_test_split 函數來分割資料集,創建 ‘train’ 和 ‘test’ 子集。這個函數會返回一個字典,字典的鍵是分割的名稱,值是對應的子集。
pythonCopy codesplit_dataset = dataset.train_test_split(test_size=0.2)

# 現在,split_dataset 有 'train' 和 'test' 兩個子集
print(split_dataset['train'])
print(split_dataset['test'])
  1. 接著,我們再從 ‘train’ 子集中分割出一部分作為 ‘valid’ 子集。
pythonCopy codetrain_dataset, valid_dataset = split_dataset['train'].train_test_split(test_size=0.2)

# 現在,我們有 'train'、'test'、'valid' 三個子集
print(train_dataset)
print(valid_dataset)
print(split_dataset['test'])
  1. 最後,我們將這三個子集組合起來,創建一個完整的資料集。
pythonCopy codefrom datasets import DatasetDict

dataset = DatasetDict({
    'train': train_dataset,
    'valid': valid_dataset,
    'test': split_dataset['test'],
})

# 現在,dataset 有 'train'、'test'、'valid' 三個子集
print(dataset['train'])
print(dataset['valid'])
print(dataset['test'])

在這個例子中,我們首先創建了一個包含 ‘text’ 和 ‘label’ 的資料集,然後使用 train_test_split 函數來創建 ‘train’ 和 ‘test’ 子集,最後再從 ‘train’ 子集中分割出一部分作為 ‘valid’ 子集。所有的子集都被存儲在一個 DatasetDict 對象中,你可以用分割的名稱來存取對應的子集。

Back To Top
error: 內容被保護 !!