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

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


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


![Machine-learning](/data/attachment/album/202206/09/085208msb4pq48eclzee1l.jpg)


本文假设你熟悉基本的开发技巧并理解机器学习。我们将从训练我们的模型开始，然后在 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](/data/attachment/album/202206/09/085208mduzu1b9je97j5e1.jpg)



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

```

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


![Figure 2: Making predictions](/data/attachment/album/202206/09/085209sb8picj8nm9bn9gk.jpg)


### 在 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](https://github.com/jpmml/jpmml-evaluator)，它能帮助你使用生成的 `model.pmml` 进行预测。）




---


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


作者：[Jishnu Saurav Mittapalli](https://www.opensourceforu.com/author/jishnu-saurav-mittapalli/) 选题：[lkxed](https://github.com/lkxed) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

