简单的对数据集划分为训练集和测试集(train,test)

简单的对数据集划分为训练集和测试集(train,test)

哦豁,鉴于有些小伙伴想自己拆分数据集,却不大明白怎么实现这个过程,我在这里给小伙伴们讲解一下,具体代码就不写了,告诉你用到哪些东西,可以让大家好好学习。

假设数据集只有10行,拆分为70%训练集,30%为测试集。
很简单,第一步将数据集的序列取出,这里你其实可以直接生成一个0到数据集,长度的list,python就是用range()方法,比如x = [i for i in range(10)],x=[0 1 行序号的行取出2 3 4 5 6 7 8 9],然后使用random.shuffle(x)将x里面的值打乱,因为一开始生成的数值是有序的(从小到大),使用此方法会将x里的值随机打乱,从而变成乱序,如[2 7 1 0 3 9 4 5 8 6],此后就得到了一个行序列的list,我们将x的前七个数和后三个数分为两个list ,就会得到index1= [2 7 1 0 3 9 4 ]和index2=[5 8 6],这便将序列分成了7/3,通过将数据集中序列号与符合index1中值相等的行取出保存便可作为训练集,同理将另一部分取出即可作为测试集train= data.iloc[index1]

叮,这个东西只是个人使用的一种拆分方法,方法千万种,只分优劣。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C++中,可以使用随机数生成器或者手动指定数据集的方式将数据集划分训练集、验证集和测试集。 下面是一个简单的示例代码,演示了如何使用随机数生成器将数据集划分训练集、验证集和测试集: ```c++ #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { // 生成数据集 vector<int> data_set(1000); for (int i = 0; i < data_set.size(); i++) { data_set[i] = i; } // 将数据集随机打乱 random_shuffle(data_set.begin(), data_set.end()); // 划分数据集 int train_size = 700; int valid_size = 200; int test_size = 100; vector<int> train_set(data_set.begin(), data_set.begin() + train_size); vector<int> valid_set(data_set.begin() + train_size, data_set.begin() + train_size + valid_size); vector<int> test_set(data_set.begin() + train_size + valid_size, data_set.begin() + train_size + valid_size + test_size); // 输出数据集大小 cout << "Train set size: " << train_set.size() << endl; cout << "Validation set size: " << valid_set.size() << endl; cout << "Test set size: " << test_set.size() << endl; return 0; } ``` 在上面的代码中,我们先生成了一个大小为1000的数据集,然后使用 `random_shuffle` 函数将数据集随机打乱。接着,我们指定了训练集大小为700,验证集大小为200,测试集大小为100,并使用 `vector` 类型将数据集划分训练集、验证集和测试集。最后,我们输出了每个数据集的大小。 当然,还有其他的方式可以进行数据集划分,例如使用交叉验证等方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值