Python 数据集分割函数 SplitPrivateOpen:将数据集分为私有集和公开集
该函数的功能是将数据集分为私有集和公开集。函数的输入参数包括特征(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 著作权归作者所有。请勿转载和采集!