python如何将一个二维数据划分训练集、验证集、测试集?
时间: 2023-12-13 08:03:35 浏览: 31
可以使用scikit-learn库中的train_test_split函数来进行数据集划分。
示例代码:
```python
from sklearn.model_selection import train_test_split
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
labels = [0, 1, 0, 1]
# 划分训练集和测试集
train_data, test_data, train_labels, test_labels = train_test_split(data, labels, test_size=0.2, random_state=42)
print("训练集数据:", train_data)
print("训练集标签:", train_labels)
print("测试集数据:", test_data)
print("测试集标签:", test_labels)
# 划分训练集和验证集
train_data, val_data, train_labels, val_labels = train_test_split(train_data, train_labels, test_size=0.2, random_state=42)
print("训练集数据:", train_data)
print("训练集标签:", train_labels)
print("验证集数据:", val_data)
print("验证集标签:", val_labels)
```
其中,train_test_split函数的参数说明:
- data:要划分的数据集
- labels:数据集对应的标签
- test_size:测试集所占比例
- random_state:随机种子,保证每次划分结果一致
在本示例代码中,先将原始数据集划分为训练集和测试集,再将训练集划分为训练集和验证集。最终得到的训练集、验证集和测试集按照所占比例进行划分。