划分数据集代码和详解
时间: 2024-02-15 09:02:14 浏览: 98
这是一个用于将数据集划分为训练集和测试集的代码,其思路是随机生成一个与数据集等长的布尔型数组,将其中80%的值设为True(表示该数据属于训练集),其余20%的值设为False(表示该数据属于测试集)。代码如下:
```python
import numpy as np
# data为数据集,将其划分为训练集和测试集
msk = np.random.random(len(data)) < 0.8
train_data = data[msk]
test_data = data[~msk]
```
其中,np.random.random(len(data))生成一个与数据集等长的随机数数组,每个元素的值在[0,1)范围内,表示该数据被划分为训练集的概率;< 0.8是将该数组中小于0.8的元素赋值为True,大于等于0.8的元素赋值为False,生成一个与数据集等长的布尔型数组msk;data[msk]表示选取msk数组中值为True的元素,即属于训练集的数据;data[~msk]表示选取msk数组中值为False的元素,即属于测试集的数据。最终得到的train_data和test_data分别为训练集和测试集的数据。
阅读全文