麻烦请教下机器学习PAI使用PAI-designer训练好的模型导出成XML格式的PMML文件,如何才能在本地进行加载到python进行模型预测?
应该要仔细看看导出的PMML格式和开源的格式是否一模一样才行。比如Sklearn、Xgboost等开源算法框架训练的算法模型。、 ,此回答整理自钉群“机器学习PAI交流群(答疑@值班)”
要将机器学习PAI使用PAI-designer训练好的模型导出成XML格式的PMML文件,您可以按照以下步骤进行操作:
sklearn
库中的pmml
模块来加载PMML文件并进行预测。具体代码如下:from sklearn2pmml import sklearn2pmml, make_pmml_pipeline
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import pandas as pd
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建随机森林分类器
clf = RandomForestClassifier(n_estimators=100, random_state=42)
# 训练模型
clf.fit(X_train, y_train)
# 将模型转换为PMML格式并保存到本地文件
sklearn2pmml(clf, "random_forest.pmml", with_repr=True)
# 加载PMML文件并进行预测
pipeline = make_pmml_pipeline("random_forest.pmml")
predictions = pipeline.predict(X_test)
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: {:.2f}%".format(accuracy * 100))
以上代码中,我们首先使用sklearn2pmml
函数将训练好的随机森林分类器转换为PMML格式并保存到本地文件中。然后,我们使用make_pmml_pipeline
函数加载PMML文件,并将其应用于测试集数据进行预测。最后,我们计算并输出预测结果的准确性得分。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。