麻烦请教下机器学习PAI如何才能在本地进行加载到python进行模型预测?[阿里云]

麻烦请教下机器学习PAI使用PAI-designer训练好的模型导出成XML格式的PMML文件,如何才能在本地进行加载到python进行模型预测?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 应该要仔细看看导出的PMML格式和开源的格式是否一模一样才行。比如Sklearn、Xgboost等开源算法框架训练的算法模型。、 ,此回答整理自钉群“机器学习PAI交流群(答疑@值班)”

  2. 要将机器学习PAI使用PAI-designer训练好的模型导出成XML格式的PMML文件,您可以按照以下步骤进行操作:

    1. 在机器学习PAI控制台中,找到您已经训练好的模型,并进入模型详情页面。
    2. 在模型详情页面中,选择“模型导出”选项卡,然后点击“导出模型”按钮。
    3. 在弹出的对话框中,选择“PMML”作为导出格式,并填写相关信息(如导出路径、文件名等)。
    4. 点击“确定”按钮,等待模型导出完成。
    5. 将导出的PMML文件复制到本地计算机上。
    6. 在Python中使用sklearn库中的pmml模块来加载PMML文件并进行预测。具体代码如下:
    from sklearn2pmml import sklearn2pmml, make_pmml_pipelinefrom sklearn.datasets import load_irisfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_scoreimport pandas as pd# 加载数据集iris = load_iris()X = iris.datay = 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文件,并将其应用于测试集数据进行预测。最后,我们计算并输出预测结果的准确性得分。