分割数据集为训练集和测试集代码实现
时间: 2023-09-06 22:10:16 浏览: 145
好的,以下是一个简单的Python代码实现,可以将数据集按照指定比例划分为训练集和测试集:
```python
import random
def split_dataset(data, train_ratio):
"""
将数据集按照指定比例划分为训练集和测试集
:param data: 待划分的数据集,通常是一个列表,每个元素是一个样本
:param train_ratio: 训练集所占比例,取值范围为(0, 1)
:return: 划分好的训练集和测试集,分别为两个列表
"""
data_size = len(data)
train_size = int(data_size * train_ratio)
train_indices = set(random.sample(range(data_size), train_size))
train_data = [data[i] for i in train_indices]
test_data = [data[i] for i in range(data_size) if i not in train_indices]
return train_data, test_data
```
其中,参数`data`是待划分的数据集,通常是一个列表,每个元素是一个样本;参数`train_ratio`是训练集所占比例,取值范围为(0, 1)。函数返回划分好的训练集和测试集,分别为两个列表。
例如,我们有一个数据集`data`,包含10个样本,现在要将其按照7:3的比例划分为训练集和测试集,可以这样调用上述函数:
```python
train_data, test_data = split_dataset(data, 0.7)
```
这样就可以得到划分好的训练集`train_data`和测试集`test_data`。
阅读全文