首页 > 解决方案 > 在 android studio 应用程序中使用来自 Sklearm python 的回归模型

问题描述

我有一个使用Sklearn在 python 中做的回归模型,我已经对其进行了训练并测试了预测。现在我会从一个 Android 应用程序进行预测,所以我测试了一些东西,比如Sklearn-Porter或保存在一个pkl文件中,但不起作用。请帮我。如何从 Android 应用程序进行预测?

我要翻译的python代码:

X = array(listX)
vector = listY
predict=[[99.0, 94.0, 90.0, 83.0, 70.0, 30.0, 50.0, 48.0, 41.0, 52.0, 0, 24.0, 41.0, 44.0, 33.0, 19.0, 0, 17.0, 0, 0, 35.0, 0, 0, 17.0, 0, 0, 0, 0, 17.0, 0, 15.0, 0, 15.0, 0, 15.0, 13.0, 0, 0, 0, 0, 0, 0, 0, 17.0, 0, 0, 15.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61.0]]

poly = PolynomialFeatures(degree=2)
X_ = poly.fit_transform(X)
predict_ = poly.fit_transform(predict)
X_ = np.delete(X_,(1),axis=1) predict_ = np.delete(predict_,(1),axis=1)

clf = LinearRegression()
clf.fit(X_, vector)

print "X=",clf.predict(predict_)[0][0]," Y=",clf.predict(predict_)[0][1]

标签: androidpythonandroid-studioscikit-learntranslate

解决方案


您可以通过 pmml 标准将数据从 python 导出到 java(我猜您的应用程序是用 java 编写的?)。

从 python 导出:将 python scikit 学习模型导出到 pmml

在 java 中导入: 如何在 Java 中使用 PMML 模型?

但是由于不同的编程语言/框架等......不能保证机器学习模型的相同结果。

因此,如果您的 android 应用程序是用 java 编写的,我建议您使用一些基于 java 的 ml 框架,例如https://www.cs.waikato.ac.nz/ml/weka/来创建回归。


推荐阅读