【Sklearn】3种模型保存的文件格式及调用方法

Sklearn保存和调用模型的三种方式

方式一:保存为python支持的pickle格式

import pickle
from sklearn.svm import SVC
from sklearn import datasets

# 定义分类器
svm = SVC()

# 加载iris数据集
iris = datasets.load_iris()
# 读取特征
X = iris.data
# 读取分类标签
y = iris.target

# 训练模型
svm.fit(X, y)

# 保存成python支持的文件格式pickle, 在当前目录下可以看到svm.pickle
with open('D:/Model/svm.pickle', 'wb') as fw:
    pickle.dump(svm, fw)

# 调用svm.pickle
with open('D:/Model/svm.pickle', 'rb') as fr:
    new_svm = pickle.load(fr)
    print (new_svm.predict(X[0:1]))   # 预测新的数据

方式二:保存为sklearn自带的文件pkl格式

from sklearn.externals import joblib
from sklearn.svm import SVC
from sklearn import datasets

# 定义分类器
svm = SVC()

# 加载iris数据集
iris = datasets.load_iris()
# 读取特征
X = iris.data
# 读取分类标签
y = iris.target

# 训练模型
svm.fit(X, y)

# 保存成sklearn自带的文件格式
joblib.dump(svm, 'D:/Model/svm.pkl')

# 调用svm.pkl
new_svm = joblib.load('D:/Model/svm.pkl')
print(new_svm.predict(X[0:1]))  # 预测新的数据

方式三:保存为java支持的pmml格式

pip install sklearn2pmml

# 保存为java支持的格式
from sklearn2pmml import PMMLPipeline, sklearn2pmml
from sklearn.ensemble import RandomForestClassifier
from sklearn import datasets

# 加载iris数据集
iris = datasets.load_iris()
# 读取特征
X = iris.data
# 读取分类标签
y = iris.target

rf = PMMLPipeline([
    ("classifier", RandomForestClassifier())
])

# 训练模型
rf.fit(X, y)

# 保存成java支持的文件格式pmml, 在当前目录下可以看到svm.pmml
sklearn2pmml(rf, 'D:/Model/rf.pmml')
  • java调用:

可参考https://blog.csdn.net/hellozhxy/article/details/82142700

  • python调用:
    pip install pypmml
from pypmml import Model

model = Model.fromFile(path)
y_predict = model.predict(X_test)
  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Sklearn训练模型后,可以使用joblib库保存模型,使用pickle库也可以保存模型。在使用保存模型进行预测时,需要加载模型并使用predict方法进行预测。在不同的环境下使用sklearn模型做预测时,需要确保环境中已经安装了sklearn及其依赖库。 ### 回答2: Sklearn是一个用于机器学习的Python库,它提供了各机器学习算法和工具,方便用户进行模型的训练、保存和使用。 首先,使用Sklearn训练模型的步骤如下: 1. 导入所需的模型类和数据集。 2. 创建模型对象并设置相应的参数。 3. 使用训练数据对模型进行训练,即调用模型的fit()函数,并将训练数据作为参数传入。 4. 模型训练完成后,可以对其进行评估,如计算模型在测试数据上的准确率、精确率等指标。 接下来,我们可以将训练好的模型保存起来,以便后续使用。Sklearn提供了两保存模型的方式: 1. 使用pickle模块保存模型对象。可以使用pickle的dump函数将模型对象保存为二进制文件,或使用load函数加载模型对象。 2. 使用joblib模块保存模型对象。可以使用joblib的dump函数将模型对象保存为压缩文件,或使用load函数加载模型对象。joblib在处理大型数据集时更高效。 在不同的环境下使用Sklearn模型进行预测也很简单。只需按照以下步骤操作: 1. 导入所需的模型类和数据集。 2. 加载已保存模型对象。如果使用pickle保存模型,则使用pickle的load函数加载模型对象;如果使用joblib保存模型,则使用joblib的load函数加载模型对象。 3. 使用加载后的模型对象对新数据进行预测。调用模型的predict()函数,并将新数据作为参数传入。 4. 获取预测结果,进行后续的数据分析和处理。 总之,Sklearn提供了方便易用的工具和接口,可以简化机器学习模型的训练、保存和使用过程,帮助用户快速构建和应用机器学习模型。 ### 回答3: 在使用Sklearn进行模型训练时,我们首先需要导入相应的模型,例如线性回归、决策树、支持向量机等。接着,我们可以使用数据集对模型进行拟合,即用数据集中的数据训练模型,得到最优的参数。训练完成后,我们可以使用测试数据对模型的性能进行评估,通过指标如均方误差或准确率,评估模型的好坏。 当我们训练好模型后,可以将模型保存下来,方便后续的使用。使用sklearn的joblib库可以很方便地保存和加载模型,只需使用joblib.dump()将模型保存到磁盘文件中,并指定文件的路径和名称。保存后的模型可以在之后的任何时间加载出来,用于预测新的数据。 在不同的环境下使用sklearn模型进行预测,首先需要导入之前保存模型。然后,我们需要将待预测的新数据做预处理,确保和训练数据的特征格式一致。接着,可以使用加载出来的模型对新数据进行预测。预测的结果可以是连续值或离散值,具体根据不同的模型而定。 在使用sklearn进行预测时,需要注意的是,预测的数据应具有与训练数据相同的特征数量和顺序,且特征的取值范围应在训练数据的范围内。另外,对于一些模型,如决策树,可能需要对特征进行独热编码等处理。 总结而言,通过Sklearn训练模型保存模型以及在不同环境下使用模型进行预测,我们可以快速、方便地应用机器学习算法解决实际问题。Sklearn提供了丰富的模型和工具,使得我们能够灵活地选择和使用合适的模型,并实现高效的预测和决策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值