用Python代码实现:将数据集打乱,随机划分,80%为训练集,20%为测试集(120条训练样本,30条测试样本)
时间: 2024-10-23 14:16:58 浏览: 39
在Python中,我们可以使用`sklearn`库中的`train_test_split`函数来轻松地对数据集进行打乱和划分。假设你有一个名为`data`的数据集列表(包含150个元素),每个元素代表一条记录,你可以这样做:
```python
import random
from sklearn.model_selection import train_test_split
# 假设 data 是一个包含150条数据的列表
data = ... # 你需要填充实际的数据内容
# 首先,我们需要确保所有元素是可哈希的(如字典或元组)
if not all(isinstance(item, (dict, tuple)) for item in data):
raise ValueError("Data elements must be hashable (e.g., dictionaries or tuples)")
# 打乱数据
random.shuffle(data)
# 定义训练集和测试集的比例
train_size = int(0.8 * len(data))
test_size = len(data) - train_size
# 划分数据集
train_data, test_data = train_test_split(data, train_size=train_size, test_size=test_size)
print(f"Training set size: {len(train_data)}")
print(f"Testing set size: {len(test_data)}")
```
这个例子会创建一个大小为120的训练集(80%的数据)和一个大小为30的测试集(剩余的20%)。如果你的实际数据不是列表,你需要根据实际情况调整数据结构。
阅读全文