以一定概率翻转标签以进行k最近邻算法的鲁棒性测试

时间:2019-10-29 13:41:52

标签: python probability knn

我有一个列一维标签向量(200),它具有2个类别(1,-1),这些类别随机分布在向量(-1; 1; 1; -1; ...; 1)中)^ T。

我想以20%的概率翻转标签。因此,将标签从1翻转到-1的机会将为20%,反之亦然。

谢谢您的回答

1 个答案:

答案 0 :(得分:0)

尝试以下操作:

 import random

 n = len(labels)
 percent = 0.2

 partly_flipped = [ -1*labels[i] if i in random.sample(list(range(n)),int(percent*n)) else labels[i] for i in range(n) ]