Python之sklearn2pmml:sklearn2pmml库函数的简介、安装、使用方法之详细攻略

简介: Python之sklearn2pmml:sklearn2pmml库函数的简介、安装、使用方法之详细攻略

klearn2pmml库函数的简介


       sklearn2pmml是用于将Scikit学习管道转换为PMML的Python库。这个库是JPMML-SkLearn命令行应用程序的一个瘦包装。有关支持的评估器和转换器类型的列表,请参考JPMML-SkLearn特性。



1、一个典型的工作流总结


创建一个PMMLPipeline对象,并像往常一样用管道步骤填充它。类sklearn2pmml.pipeline。PMMLPipeline扩展了sklearn.pipeline类。管道具有以下功能:

如果PMMLPipeline。fit(X, y)方法是用panda调用的。DataFrame或熊猫。Series对象作为X参数,然后它的列名用作特性名。否则,特征名称默认为“x1”、“x2”,..“x {number_of_features}”。

如果PMMLPipeline。fit(X, y)方法是用panda调用的。Series对象作为y参数,然后将其名称用作目标名称(对于监督模型)。否则,目标名称默认为“y”。

像往常一样安装和验证pipeline。

可选地,通过调用PMMLPipeline.verify(X)方法来计算验证数据并将其嵌入到PMMLPipeline对象中,该方法使用的是一个较小但有代表性的训练数据子集。

通过调用实用程序方法sklearn2pmml,将PMMLPipeline对象转换为本地文件系统中的PMML文件。pmml_destination_path sklearn2pmml(pipeline)。



sklearn2pmml库函数的安装


pip install sklearn2pmml

pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple sklearn2pmml

image.png







sklearn2pmml库函数的使用方法


1、一个简单的鸢尾物种分类决策树模型


import pandas

iris_df = pandas.read_csv("Iris.csv")

iris_X = iris_df[iris_df.columns.difference(["Species"])]

iris_y = iris_df["Species"]

from sklearn.tree import DecisionTreeClassifier

from sklearn2pmml.pipeline import PMMLPipeline

pipeline = PMMLPipeline([

("classifier", DecisionTreeClassifier())

])

pipeline.fit(iris_X, iris_y)

from sklearn2pmml import sklearn2pmml

sklearn2pmml(pipeline, "DecisionTreeIris.pmml", with_repr = True)


2、更精细的逻辑回归模型


import pandas

iris_df = pandas.read_csv("Iris.csv")

iris_X = iris_df[iris_df.columns.difference(["Species"])]

iris_y = iris_df["Species"]

from sklearn_pandas import DataFrameMapper

from sklearn.decomposition import PCA

from sklearn.feature_selection import SelectKBest

from sklearn.impute import SimpleImputer

from sklearn.linear_model import LogisticRegression

from sklearn2pmml.decoration import ContinuousDomain

from sklearn2pmml.pipeline import PMMLPipeline

pipeline = PMMLPipeline([

("mapper", DataFrameMapper([

 (["Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width"], [ContinuousDomain(), SimpleImputer()])

])),

("pca", PCA(n_components = 3)),

("selector", SelectKBest(k = 2)),

("classifier", LogisticRegression(multi_class = "ovr"))

])

pipeline.fit(iris_X, iris_y)

pipeline.verify(iris_X.sample(n = 15))

from sklearn2pmml import sklearn2pmml

sklearn2pmml(pipeline, "LogisticRegressionIris.pmml", with_repr = True)


相关文章
|
3小时前
|
SQL 关系型数据库 数据库连接
使用 Python 访问数据库的基本方法
【5月更文挑战第12天】在Python中操作数据库涉及安装数据库驱动(如mysql-connector-python, psycopg2, pymongo)、连接数据库、执行查询/更新、处理结果集及关闭连接。使用ORM(如SQLAlchemy)可简化操作。通过上下文管理器(with语句)能更好地管理资源和错误。注意根据实际需求处理事务、错误和安全性,例如使用SSL连接。
15 2
|
3小时前
|
测试技术 开发者 Python
Python检查函数和方法的输入/输出
【5月更文挑战第5天】Python检查函数和方法的输入/输出
10 1
|
3小时前
|
机器学习/深度学习 数据挖掘 PyTorch
10个非常有用的Python库,你知道几个?
这些库覆盖了数据科学、机器学习、Web开发和其他领域,使Python成为一个多用途的编程语言。它们在各种项目和领域中都非常有用。
16 2
|
3小时前
|
Python
在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存
【5月更文挑战第12天】在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存在,该函数对路径进行检查,存在则返回True,不存在则返回False。示例代码展示了如何检查'example.txt'文件是否存在并相应打印消息。此外,`os.path.isfile()`用于确认路径是否为文件,仅当是文件时返回True,否则返回False,同样配以示例说明其用法。
15 2
|
3小时前
|
Python
【Python操作基础】——函数
【Python操作基础】——函数
|
3小时前
|
Python
Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。
【5月更文挑战第11天】Python的全局变量作用于整个程序,生命周期与程序相同,而局部变量仅限函数内部使用,随函数执行结束而销毁。在函数内部修改全局变量需用`global`关键字声明,否则会创建新局部变量。
14 2
|
12月前
|
Linux Python
不可出外网的主机如何快速、方便、优雅的安装Python库?
不可出外网的主机如何快速、方便、优雅的安装Python库?
470 0
不可出外网的主机如何快速、方便、优雅的安装Python库?
|
Linux 计算机视觉 Python
Windows下使用Pycharm安装python GUI库Kivy教程
Windows下使用Pycharm安装python GUI库Kivy教程
611 0
Windows下使用Pycharm安装python GUI库Kivy教程
|
Linux 测试技术 API
树莓派4B:1gRAM安装Python GUI库Kivy教程
树莓派4B:1gRAM安装Python GUI库Kivy教程
467 0
树莓派4B:1gRAM安装Python GUI库Kivy教程
|
文字识别 Python
安装python的文字识别库easyocr出现的问题及解决办法
安装python的文字识别库easyocr出现的问题及解决办法
1692 0