[英]Classify Signal Images using Python
我有以下要根据形状分类的信号图像。 哪种算法适合这样做? 我已附上每班2-2张图片。
您可能需要使用sklearn 。 假设要基于图像而不是根据生成图像的数据对这些模式进行分类,则可以使用简单的k最近邻(KNN)分类器。
KNN分类是一种可以对许多不同类型的数据进行分类的方法。 首先,使用标记数据(在您的情况下,图像似乎属于不同频率的类)训练算法。 然后,该算法分析未标记的数据,即您要分类的数据。 “最近邻居”部分意味着算法看到的每个新数据都是根据您用来训练算法的k
最近数据进行分类的。 这个想法是某个类别的新数据在数值上将类似于另一个类别。 这是算法工作原理的高级工作流程:
train_set = [(img1, 'low freq'), (img2, 'hi freq'), (img3, 'low freq'), (img4, 'med freq'), (img5, 'med freq')]
img_classifier = algorithm(train_set)
然后,您可以对新数据调用经过训练的算法,以识别未标记的图像。
test = [img6, img7]
for i in test:
img_classifier(test)
不过,您可能要使用超过五个训练图像。 您选择的k
的值也很重要。 假设您为每个课程训练了相同数量的图像(比如说n
),对于总共训练了3n
张图像,要使用的一个好k
为k=n/2
。 太高了,您可能会误分类,因为您考虑了太多的训练数据,太低了而您可能考虑的太少了。
这里有一个很棒的教程 ,如果您决定使用sklearn,则一定要检查一下。
您的图像似乎是非常离散的类。 如果您不想使用sklearn,则可以根据曲线覆盖的图像区域对图像进行分类。 如果只有这三个类别,则可以尝试其中的一些类别,看看它们是否为您提供了良好的图像分类阈值:
如果您决定使用第二种方法,请一定要查看Python Imaging Library 。 如果我没记错的话,它实际上是在sklearn中使用的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.