๋ฐ์ดํฐ ์ฌ์ด์ธ์ค ๋ถ์ผ์์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ ์ ํ๊ณ ์ํ๋ shape์ผ๋ก ๋ง๋๋ ๊ฒ์ด ์ค์ํ๋๋ฐ,,, ๋ฅ๋ฌ๋์์๋ ๋ง์ฐฌ๊ฐ์ง์ธ ๊ฒ ๊ฐ๋ค
์ฌ์ค csv๊ฑด json์ด๊ฑด inputํ์ผ์ shape์ด ํฌ๊ฒ ์ค์ํ์ง ์์ง๋ง datasets์ผ๋ก ๊ด๋ฆฌํ๋ฉด ํธํ ๋ถ๋ถ์ด ๋ง์! (eg. map๊ณผ lambdaํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ , json๊ฐ ์ ์ฌํ ํํ์ง๋ง feature๋ณ๋ก๋ ๋ฐ์ดํฐ๋ฅผ ๋ณผ ์ ์๋ ์ ๋ฑ)
๊ทผ๋ฐ ์์ง datasets์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ฉ๋ฒ์ ๋ํด์ ์ ์ฐ๊ฒฐ ์๋๋ ๋ถ๋ถ์ด ์์ด์ ์ ๋ฆฌํด๋ ๊ฒธ ์ด๋ฐ ์ ์ผ๋ก ์ ๋ฆฌํด๋๋ฉด ํธ๋ฆฌํ๊ธฐ ๋๋ฌธ
from datasets import load_dataset, Dataset, load_from_disk
- json to datasetdict
๋ง์ฝ train, valid, test๋ก ๋ json ํ์ผ์ ๊ฐ์ง๊ณ ์๋ค๋ฉด ๋ถ๋ฌ์์ค ํ from_list๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ ๊ฐ์ ๋ชจ์์ด ๋๋ค.
import json
with open(data_path + 'train.json', 'r') as f:
train = json.load(f)
with open(data_path + 'val.json', 'r') as f:
val = json.load(f)
with open(data_path + 'test.json', 'r') as f:
test = json.load(f)
train_dataset = Dataset.from_list(train)
val_dataset = Dataset.from_list(val)
test_dataset = Dataset.from_list(test)
์๋ค์ ํ๋๋ก ๋ฌถ์ด์ฃผ๋ฉด ์ด๋ ๊ฒ ๋จ
class_dataset = datasets.DatasetDict({'train' : train_dataset,
'valid': val_dataset,
'test' : test_dataset})
class_dataset
์ด ์ํ๋ก ์ ์ฅํ๊ณ ๋ถ๋ฌ์ค๋ ๊ฒ save_to_disk, load_from_disk์
class_dataset.save_to_disk(์ ์ฅํ ๊ฒฝ๋ก)
class_dataset = load_from_disk(์ ์ฅ๋ ๊ฒฝ๋ก)
์ด๋ฐ ํํ๋ก ์ ์ฅ๋จ
2. csv, excel to datasetdict
๋ง์ฝ ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ๊ฐ csv, excel๋ผ๋ฉดpandas๋ฅผ ํตํด ๋ถ๋ฌ์ค๊ธฐ ํ๋ค.
dataframe to json์ผ๋ก ๋ฐ๊พธ๋ ๊ณผ์ ๋ง ์ถ๊ฐํ๋ฉด ์์ ๊ฐ์ด ์ฌ์ฉ ๊ฐ๋ฅ
import pandas as pd
data = pd.read_csv(์ ์ฅ๋ ๊ฒฝ๋ก, index_col = 0)
# data = pd.read_excel(์ ์ฅ๋ ๊ฒฝ๋ก, index_col = 0)
data_dict = data.to_dict(oriented = 'records')
์ด๋ ๊ฒ ํ๋ฉด ํ๋ณ๋ก ์นผ๋ผ์ key๋ก ํ dict์ ๋ด๊ธด๋ค.