athens / split_data.py
kofdai's picture
Add python application files
8ce09fe
import json
import random
# --- 設定 ---
input_file = 'train.jsonl'
output_train_file = 'train.jsonl' # 元のファイルを上書き
output_valid_file = 'valid.jsonl'
valid_split_ratio = 0.1 # 10%を検証データにする
# -------------
print(f"'{input_file}' を読み込んでいます...")
# 元のデータを読み込む
with open(input_file, 'r', encoding='utf-8') as f:
lines = f.readlines()
# データをシャッフルしてランダム性を確保
random.shuffle(lines)
# 分割点を計算
split_index = int(len(lines) * (1 - valid_split_ratio))
# 学習データと検証データに分割
train_data = lines[:split_index]
valid_data = lines[split_index:]
# 新しい学習データとして書き出す
with open(output_train_file, 'w', encoding='utf-8') as f:
f.writelines(train_data)
print(f"学習データを '{output_train_file}' に保存しました。({len(train_data)}行)")
# 検証データとして書き出す
with open(output_valid_file, 'w', encoding='utf-8') as f:
f.writelines(valid_data)
print(f"検証データを '{output_valid_file}' に保存しました。({len(valid_data)}行)")
print("分割が完了しました。")