zoukankan      html  css  js  c++  java
  • python 调用pmml模型文件

    我们首先看代码

    # -*- coding: utf-8 -*-
    """
    Created on Wed Oct 20 15:04:12 2021
    
    @author: chenguimei
    """
    
    from sklearn import datasets
    from sklearn.model_selection import train_test_split
    from sklearn.pipeline import Pipeline
    from sklearn.preprocessing import StandardScaler
    import pandas as pd
    from xgboost import XGBClassifier
     
    seed = 123
     
    iris = datasets.load_iris()
    target = 'Species'
    features = iris.feature_names
    iris_df = pd.DataFrame(iris.data, columns=features)
    iris_df[target] = iris.target
     
    X, y = iris_df[features], iris_df[target]
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=seed)
     
    pipeline = Pipeline([
        ('scaling', StandardScaler()), 
        ('xgb', XGBClassifier(n_estimators=5, seed=seed))
    ])
     
    pipeline.fit(X_train, y_train)
    y_pred = pipeline.predict(X_test)
    y_pred_proba = pipeline.predict_proba(X_test)
     
    
    #生成pmml文件
    from nyoka import xgboost_to_pmml
    xgboost_to_pmml(pipeline, features, target, "xgb-iris.pmml")
    
    #调用pmml
    from pypmml import Model
    model = Model.load("xgb-iris.pmml")
    model.predict(X_test)
     

    最后结果:

     但是,

    但是。。。。

    想要跑通上面这段代码,却踩了不少坑

    首先执行

    model = Model.load("xgb-iris.pmml")

    会报错,如果报的是FileNotFoundError: [WinError 2] 系统找不到指定的文件,你以为是路径错了,其实不是,解决方法是安装Java1.8版本,注意不要安装错了,Java官网可能有Java17版本,切记不要安装,只能安装Java1.8版本,在官网找不到,就百度找安装包。安装之后要注意设置环境变量,设置教程https://www.cnblogs.com/maoning/p/10701349.html,注意,不管是个人账号,还是系统账号,都要设置环境变量。

    把这些东西做好,重启python,就能跑出结果来。

  • 相关阅读:
    [HNOI2002]营业额统计
    HDU 1374
    HDU 3345
    HDU 2089
    Graham扫描法
    Codeforces 1144D Deduction Queries 并查集
    Codeforces 916E Jamie and Tree 线段树
    Codeforces 1167F Scalar Queries 树状数组
    Codeforces 1167E Range Deleting
    Codeforces 749E Inversions After Shuffle 树状数组 + 数学期望
  • 原文地址:https://www.cnblogs.com/cgmcoding/p/15428949.html
Copyright © 2011-2022 走看看