使用python语言实现json格式数据划分训练集、验证集
时间: 2023-12-26 22:03:42 浏览: 549
python中如何实现将数据分成训练集与测试集的方法
可以使用Python中的`json`和`random`模块来实现json格式数据的划分。假设我们有一个名为`data.json`的文件,里面包含了我们要划分的数据。
首先,我们需要读取`data.json`文件中的数据到Python中:
```python
import json
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
```
接下来,我们可以使用`random`模块中的`shuffle`函数来随机打乱数据,然后根据需要将数据分为训练集和验证集。假设我们要将数据划分为80%的训练集和20%的验证集:
```python
import random
random.shuffle(data) # 打乱数据
train_data = data[:int(0.8*len(data))] # 取前80%作为训练集
val_data = data[int(0.8*len(data)):] # 取后20%作为验证集
```
最后,我们可以将划分好的训练集和验证集保存到两个不同的json文件中:
```python
with open('train.json', 'w', encoding='utf-8') as f:
json.dump(train_data, f, ensure_ascii=False)
with open('val.json', 'w', encoding='utf-8') as f:
json.dump(val_data, f, ensure_ascii=False)
```
完整代码如下:
```python
import json
import random
with open('data.json', 'r', encoding='utf-8') as f:
data = json.load(f)
random.shuffle(data)
train_data = data[:int(0.8*len(data))]
val_data = data[int(0.8*len(data)):]
with open('train.json', 'w', encoding='utf-8') as f:
json.dump(train_data, f, ensure_ascii=False)
with open('val.json', 'w', encoding='utf-8') as f:
json.dump(val_data, f, ensure_ascii=False)
```
阅读全文