File size: 1,189 Bytes
8ce09fe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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("分割が完了しました。")