使用weka对传感器数据进行分类

Posted

技术标签:

【中文标题】使用weka对传感器数据进行分类【英文标题】:Using weka to classify sensor data 【发布时间】:2013-06-21 09:57:21 【问题描述】:

我正在研究一个分类问题,它有不同的传感器。每个传感器收集一组数值。

我认为这是一个分类问题,并希望使用 weka 作为 ML 工具来解决这个问题。但是我不确定如何使用 weka 来处理输入值?哪个分类器最适合这个问题(特征的一个实例是一组数值)?

例如,我有三个传感器 A、B、C。我可以定义从所有传感器收集的 5 个数据作为一个实例吗?例如,A 的一个实例是1,2,3,4,5,6,7,B 的一个实例是3,434,534,213,55,4,7)。 C424,24,24,13,24,5,6。

非常感谢您抽出宝贵时间查看我的问题。

【问题讨论】:

你想预测什么?您的预测的输入是什么? 输入的是各种传感器数据,都是数值。输出为标称值。谢谢 【参考方案1】:

通常第一个尝试的分类器是朴素贝叶斯(您可以在 Weka 的“贝叶斯”目录下找到它),因为它速度快,参数少,而且无论何时训练样本,分类精度都难以超越很小。

随机森林(您可以在 Weka 的“树”目录下找到它)是另一个令人愉快的分类器,因为它几乎可以处理任何数据。只需运行它,看看它是否会产生更好的结果。只需将树的数量从默认的 10 增加到某个更高的值即可。由于您有 7 个属性,因此 100 棵树就足够了。

然后我会尝试 k-NN(您可以在 Weka 的“Lazy”目录下找到它,它被称为“IBk”),因为它通常将数量排名为最佳单个分类器的范围广泛数据集。 k-nn 的唯一问题是它对于大型数据集 (> 1GB) 的扩展性很差,并且它需要微调 k,即邻居的数量。该值默认设置为 1,但随着训练样本数量的增加,通常最好将其设置为 2 到 60 范围内的某个更高的整数值。

最后,对于一些朴素贝叶斯和 k-nn 都表现不佳的数据集,最好使用 SVM(在“函数”下,它被称为“Lib SVM”)。但是,设置 SVM 的所有参数以获得有竞争力的结果可能很麻烦。因此,当我已经知道预期的分类精度时,我把它留到最后。如果您有两个以上的类要分类,此分类器可能不是最方便的。

【讨论】:

谢谢。你的回答很有帮助 神经网络呢?您说随机森林对各种数据都有好处,这对于哪种算法不正确?谢谢!

以上是关于使用weka对传感器数据进行分类的主要内容,如果未能解决你的问题,请参考以下文章

传感器数据的二进制分类

使用 Apache Spark 决策树分类器进行多类分类时出错

是否应该对输入数据进行缩放以进行实时分类?

如何在 Weka 中对训练和测试数据集进行分类

如何在 sklearn 中使用时间序列数据进行分类

weka中如何对整个数据集进行分类