请用Python实现,对某一DataFrame数据集,随机下采样其70%作为训练集,并把剩下的30%作为测试集
时间: 2024-03-10 21:45:45 浏览: 66
python中如何实现将数据分成训练集与测试集的方法
假设我们有一个名为`df`的DataFrame数据集,可以按照以下方式将其划分为训练集和测试集,比例为7:3:
```python
import random
random.seed(123) # 设定随机数种子,保证每次结果可重复
train_size = int(0.7 * len(df)) # 计算训练集大小
train_data = df.sample(n=train_size) # 从数据集中随机采样训练集
test_data = df.drop(train_data.index) # 测试集为剩余部分
print('训练集大小:', len(train_data))
print('测试集大小:', len(test_data))
```
以上代码中,我们首先设定了一个随机数种子,以保证每次随机结果可重复。然后,根据7:3的比例计算出训练集的大小,从数据集中随机采样相应数量的样本作为训练集,剩余的部分则作为测试集。最后输出训练集和测试集的大小。
需要注意的是,这里使用了`DataFrame.sample()`方法来进行随机采样,其参数`n`表示采样的数量。`DataFrame.drop()`方法可以用于删除指定行或列,这里我们删除了训练集所占的行,剩余部分即为测试集。
阅读全文