在安卓设备中使用 sklearn

Posted

技术标签:

【中文标题】在安卓设备中使用 sklearn【英文标题】:Using sklearn in android device 【发布时间】:2014-05-25 03:28:46 【问题描述】:

我目前正在使用 sklearn 对从 android 设备收集的传感器数据进行机器学习。

但问题是我需要在模型训练好后进行预测。由于在很短的时间内会产生大量的传感器数据,所以在服务器或其他机器上进行预测是我最后的选择。

然后我想到有没有一种方法可以在 android 中进行 sklearn?我可以想到三个解决方案:

    是否可以在 android 中运行 sklearn 并让 sklearn 脚本进行预测?

    如果不是1,我是否可以使用java(android)中的一些中间库来获取我在python中训练的模型?

    如果不是1和2,我可以使用android平台支持的其他机器学习库吗?

【问题讨论】:

scikit-learn 生成的模型完全暴露在估计器对象上,但是如果您需要从 Java 代码运行预测,您需要 (1) 将模型获取到该代码并且 ( 2) 重现部分预测代码。这有多难取决于所考虑的模型。线性模型很容易,SVM 更难,树很难。 目前我使用kmean作为我的聚类方法,只是懒得自己实现该方法,因为我无法保证它的正确性和效率:D 对于参数函数,例如逻辑回归,您可以让基于 python 的服务器训练数据并将参数向量返回给手机,然后自己用 Java 编写预测函数。我现在正在使用 scikit-learn 使用 Django 服务器进行尝试。 【参考方案1】:

我从事一个名为 sklearn-porter 的项目,该项目将训练好的模型移植到 C、Java 和 javascript 等低级编程语言。将在给定时间添加更多分类器和回归器。

【讨论】:

您好!回购协议还在维护吗?意味着实施仍然有效吗? 太棒了!还在继续吗? 是的,目前我正在开发下一个主要版本:github.com/nok/sklearn-porter/tree/release/1.0.0

以上是关于在安卓设备中使用 sklearn的主要内容,如果未能解决你的问题,请参考以下文章

使用相同的安卓应用在谷歌地图中查找附近设备的位置

如何在 Genymotion 中重启安卓设备模拟器

使用此命令在移动设备中运行离子应用程序时出错(离子科尔多瓦运行安卓)

安卓设备中的Airplay

使用蓝牙获取两个安卓设备之间的距离

在安卓设备中移动手指时找到正确的方向