如何按比例将数据分为训练集和测试集?

时间:2019-11-24 20:06:06

标签: python testing

我该如何编写一个使用数据集(我正在使用虹膜)并创建一个测试和数据集的函数,并且每个类别(标签)均按比例表示?

def train_test_split(data, labels, n, test_proportion)

其中n是类别数

输出test_data应该包含数据的test_proportion%,并且test_labels包含与test_data中的数据相对应的正确标签;然后,train_data应该包含剩余的数据,train_labels应该包含train_data中特征向量的标签。

test_data和train_data在n个类别中都应具有相等的比例。例如,对于n = 3,则test_data和train_data都包含类别0的1/3观测值,类别1的1/3和类别2的1/3,即使test_data和train_data可能包含不同数量的条目(当test_proportion时)不同于0.5)。