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

本文详细介绍了如何使用sklearn2pmml库将Scikit-learn模型转换为PMML,包括决策树和逻辑回归的实例。从安装、工作流程到实际操作,一步步教你如何生成PMML文件以实现模型的持久化和分享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

目录

sklearn2pmml库函数的简介

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

sklearn2pmml库函数的安装

sklearn2pmml库函数的使用方法

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

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


sklearn2pmml库函数的简介

        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

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)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值