将数据集划分为 训练集、验证集和测试集

将数据集划分为 训练集、验证集和测试集

data::DataFrame 格式的数据
ratio_train:训练集的比例
ratio_test:测试集的比例
ratio_val:验证集的比例

from sklearn.model_selection import train_test_split


def train_test_val_split(data, ratio_train, ratio_test, ratio_val):
    train, middle = train_test_split(data, train_size=ratio_train, test_size=ratio_test + ratio_val)
    ratio = ratio_val/(1-ratio_train)
    test, validation = train_test_split(middle, test_size=ratio)
    return train, test, validation

使用:

按照6:2:2的比例划分数据

train, test, validation = train_test_val_split(data, 0.6, 0.2, 0.2)
  • 6
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值