机器学习检测随机串

2024-10-04 01:36:47 发布

您现在位置:Python中文网/ 问答频道 /正文

如果有类似的东西被贴出来,我会提前道歉,但从我所做的研究中,我找不到任何具体的东西。在

我目前正在查看http://scikit-learn.org,这里的内容看起来很不错,但是我不知道应该使用什么类型的类型来解决我的问题。在

我想能够有2个标签。在

**Suspicious**  
1hbn34uqrup7a13t
qmr30zoyswr21cdxolg
1qmqnbetqx

**Not-Suspicious**
cheesemix
reg526
animato12

什么类型的机器学习算法,我可以输入上面的数据,以教它什么是我认为可疑的,通过监督学习?在

我倾向于分类,但有太多的模式可供选择,从我略显失落。在


Tags: org机器http类型内容not标签scikit
1条回答
网友
1楼 · 发布于 2024-10-04 01:36:47

这类机器学习问题的第一步是思考“特征”。你不能直接在这些字符串上使用线性分类器。因此,您必须提取一些有意义的特征来描述字符串。在计算机视觉中,这些特征通常是边缘、角点、筛选特征。基本上你必须选择:

  1. 设计特色。在
  2. 了解功能。在

1)这是“经典”的机器学习方法:您可以手动设计一个代表性特征的列表,您可以从输入数据中提取这些特征。在你的情况下,你可以从

  • 串的长度
  • 不同字符数
  • 特殊字符数
  • 关于分类的事?在
  • 。。。在

这将为每个字符串提供一个数字向量。现在,您可以使用scikit learn中的任何分类器对数据进行分类。您可以在this flowchart的帮助下开始选择算法。你应该从一个简单的模型开始,例如线性模型(例如线性支持向量机)。如果性能不够,可以使用更复杂的模型(例如支持向量机和核函数),或者重新考虑您的特征选择。在

2)这是“现代”方法,越来越受欢迎。设计功能是1)中至关重要的一步,它需要对数据有充分的了解。现在,通过使用深度神经网络,您可以将原始数据(字符串)输入到网络中,并让网络自己学习这些“特性”。然而,这需要大量的标记训练数据和大量的处理能力(gpu)。在

LSTM网络在自然语言处理和类似任务方面是当今最先进的。LSTMs非常适合您的任务,因为输入可以是可变长度的。在

tl;dr:要么自己设计特征,使用自己选择的分类器,要么深入神经网络,让网络同时学习特征和分类。在

相关问题 更多 >