我使用CTU-13数据集,包括13种检测僵尸网络的场景.在这里,目标变量标签是一个字符串类型变量。标签编码对这个变量,简单地创建大约52-60个独特的数值,数字不同的情况下。但我观察到,如果可以使用子字符串匹配或正则表达式进行标签编码,那么我们可以简单地对3个数字进行编码。然后问题将是三级分类(三级)问题。然后绘制ROC,auc评分就足够简单了。
例如,可以对3种不同的情况进行映射,如“%背景%:0,%normal%:1,%僵尸网络%:2”。那么,如果像这样的字符串实例为-背景udp流,然后将其标记为0,例如到-normal tcp流将其标记为1等等。它们的标准或自定义的编码方式是否像上面那样?
发布于 2019-11-07 06:02:32
最后,我简单地使用以下代码解决了这个问题。首先,采用字符串包含方法提取三个子串。然后简单地对数据进行编码,得到与预期值类似的值。
cat_data.loc[cat_data.Label.str.contains('Normal')] = 'Normal'
cat_data.loc[cat_data.Label.str.contains('Background')] = 'Background'
cat_data.loc[cat_data.Label.str.contains('Botnet')] = 'Botnet'
target = le.fit_transform(cat_data.Label)https://stackoverflow.com/questions/58696867
复制相似问题