该函数的功能是将数据集分为私有集和公开集。函数的输入参数包括特征(features),标签(labels),私有集百分比(private_percent),公开集百分比(open_percent),类别数量(class_cat)和公开集是否固定数量(open_fixed)。

首先,如果open_fixed为False,则对特征和标签进行乱序操作。

然后,根据类别数量创建一个空列表feature_by_label,用于存储按类别划分的特征。

接下来,遍历所有标签,将每个样本的特征按照对应的标签添加到feature_by_label中。

然后,创建一个空列表each_class_cnt,用于存储每个类别的样本数。

接下来,创建四个空列表private_set_feature,private_set_label,open_set_feature,open_set_label,用于存储私有集和公开集的特征和标签。

然后,对于每个类别,根据私有集和公开集的百分比计算出私有集和公开集的样本数量。

接下来,使用while循环将私有集和公开集的特征和标签从feature_by_label中取出,并添加到对应的列表中,直到达到设定的样本数量或者feature_by_label中没有更多的样本。

最后,返回私有集和公开集的特征和标签。


原文地址: https://www.cveoy.top/t/topic/pat8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录