机器学习:使用 Python 进行预测
创始人
2024-03-02 11:24:08
0

机器学习基本上是人工智能的一个子集,它使用以前存在的数据对新数据进行预测。

当然,现在我们所有人都知道这个道理了!这篇文章展示了如何将 Python 中开发的机器学习模型作为 Java 代码的一部分来进行预测。

Machine-learning

本文假设你熟悉基本的开发技巧并理解机器学习。我们将从训练我们的模型开始,然后在 Python 中制作一个机器学习模型。

我以一个洪水预测模型为例。首先,导入以下库:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

当我们成功地导入了这些库,我们就需要输入数据集,如下面的代码所示。为了预测洪水,我使用的是河流水位数据集。

from google.colab import files
uploaded = files.upload()
for fn in uploaded.keys(): 
    print('User uploaded file "{name}" with length {length} bytes'.format(name=fn, length=len(uploaded[fn])))

如果没有选择文件的话,选择上传的文件。

只有在当前浏览器会话中执行了该单元格时,上传部件才可用。请重新运行此单元,上传文件 Hoppers Crossing-Hourly-River-Level.csv,大小 2207036 字节。

完成后,我们就可以使用 sklearn 库来训练我们的模型。为此,我们首先需要导入该库和算法模型,如图 1 所示。

Figure 1: Training the model

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)

完成后,我们就训练好了我们的模型,现在可以进行预测了,如图 2 所示。

Figure 2: Making predictions

在 Java 中使用 ML 模型

我们现在需要做的是把 ML 模型转换成一个可以被 Java 程序使用的模型。有一个叫做 sklearn2pmml 的库可以帮助我们做到这一点:

# Install the library
pip install sklearn2pmml

库安装完毕后,我们就可以转换我们已经训练好的模型,如下图所示:

sklearn2pmml(pipeline, ‘model.pmml’, with_repr = True)

这就完成了!我们现在可以在我们的 Java 代码中使用生成的 model.pmml 文件来进行预测。请试一试吧!

(LCTT 译注:Java 中有第三方库 jpmml/jpmml-evaluator,它能帮助你使用生成的 model.pmml 进行预测。)


via: https://www.opensourceforu.com/2022/05/using-a-machine-learning-model-to-make-predictions/

作者:Jishnu Saurav Mittapalli 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

微软发布SynapseML...
4月25日,微软在官方博客发布了SynapseML v0.11。新...
2026-01-22 12:51:08
机器学习模型可视化(Sli...
数据可视化可以赋能任何企业。 这包括在以下方面的巨大改进ÿ...
2025-06-01 11:32:32
机器学习(课堂笔记)Day...
0x00 什么是逻辑回归 Logistic Regression ...
2025-05-31 21:15:09
吴恩达机器学习课后作业Py...
文章目录单变量线性回归梯度下降正则方程调用sklearn库多变量线...
2025-05-31 12:05:16
python-机器学习相关...
文章目录1.lambda函数2.随机种子3.张量 1.lambda...
2025-05-30 08:06:47

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
在抛弃 Xorg 之前,请三思... LCTT 译注:之前翻译发布的《Wayland 真的毁掉一切了吗?》引来了很多讨论,为了使讨论更全面...
Wine 9.0 发布,实验性... Wine 的这个新版本正在为未来做好准备!Wine 是一款广受欢迎的开源兼容性层,可以轻松地 在 L...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...