将机器学习/深度学习模型导出到pmml的python库

nyoka的Python项目详细描述


纽约卡

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<========================"Build StatuStatuStatuStatuStatuStatuStatuStatuStatuStatuStatuStatuStatuStatuStatuStatuStatuStatu6d6d6d6c2f696f6b612e7376673f62716e63683d6d6d6173746572" />< 而在这一点上,又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有一个又有616467652E737667" />license<

nyokafromnyokaimportskl_to_pmml,lgb_to_pmml#... so on

注意-

  • 如果使用scikit-learn、xgboost和lightgbm模型,则该模型应在sklearn的管道中使用。 工作流程如下-
    • 创建scikit learn的pipeline对象,并用任何预处理步骤和模型对象填充它。
    • 调用pipeline.fit(x,y)方法来训练模型。
    • 使用特定的导出器并将管道对象、培训数据集的功能名称、目标名称和pmml的预期名称传递给导出器函数。如果未给定目标名称,则使用默认值target。类似地,对于pmml名称,使用默认值from_sklearn.pmml/from_xgboost.pmml/from_lighgbm.pmml
  • 对于Keras和Stats车型,需要将安装的车型传递给出口商。

下面提供演示

纽约卡出口SCIKIT学习型:

< Buff行情>

将支持向量分类器管道对象导出到pmml中

importpandasaspdfromsklearnimportdatasetsfromsklearn.pipelineimportPipelinefromsklearn.preprocessingimportStandardScalerfromsklearn.svmimportSVCiris=datasets.load_iris()irisd=pd.DataFrame(iris.data,columns=iris.feature_names)irisd['Species']=iris.targetfeatures=irisd.columns.drop('Species')target='Species'pipeline_obj=Pipeline([('scaler',StandardScaler()),('svm',SVC())])pipeline_obj.fit(irisd[features],irisd[target])fromnyokaimportskl_to_pmmlskl_to_pmml(pipeline_obj,features,target,"svc_pmml.pmml")

NYOKA出口XGBoost车型:

< Buff行情>

将xgboost模型导出到pmml中

fromsklearnimportdatasetsfromsklearn.pipelineimportPipelinefromsklearn.preprocessingimportStandardScalerimportxgboostasxgbboston=datasets.load_boston()y=boston['target']X=boston['data']xgb_model=xgb.XGBRegressor()pipeline_obj=Pipeline([("scaling",StandardScaler()),("model",XGBRegressor())])pipeline_obj.fit(X,y)fromnyokaimportxgboost_to_pmmlxgboost_to_pmml(pipeline_obj,boston.feature_names,'target',"xgb_pmml.pmml")

Nyoka出口LightGBM型号:

< Buff行情>

将lgbm模型导出到pmml中

importpandasaspdfromsklearnimportdatasetsfromsklearn.pipelineimportPipelinefromlightgbmimportLGBMClassifieriris=datasets.load_iris()irisd=pd.DataFrame(iris.data,columns=iris.feature_names)irisd['Species']=iris.targetfeatures=irisd.columns.drop('Species')target='Species'pipeline_obj=Pipeline([('lgbmc',LGBMClassifier())])pipeline_obj.fit(irisd[features],irisd[target])fromnyokaimportlgb_to_pmmllgb_to_pmml(pipeline_obj,features,target,"lgbmc_pmml.pmml")

Nyoka出口Keras车型:

< Buff行情>

将MobileNet模型导出到PMML中

fromkerasimportapplicationsfromkeras.layersimportFlatten,Densefromkeras.modelsimportModelmodel=applications.MobileNet(weights='imagenet',include_top=False,input_shape=(224,224,3))activType='sigmoid'x=model.outputx=Flatten()(x)x=Dense(1024,activation="relu")(x)predictions=Dense(2,activation=activType)(x)model_final=Model(inputs=model.input,outputs=predictions,name='predictions')fromnyokaimportKerasToPmmlcnn_pmml=KerasToPmml(model_final,dataSet='image',predictedClasses=['cats','dogs'])cnn_pmml.export(open('2classMBNet.pmml',"w"),0)

Nyoka出口Statsmodels型号

< Buff行情>

将arima导出到pmml

importpandasaspdimportnumpyasnpfromstatsmodels.tsa.arima_modelimportARIMAfromnyokaimportArimaToPMMLdefparser(x):returnpd.datetime.strptime(x,'%Y-%m')sales_data=pd.read_csv('sales-cars.csv',index_col=0,parse_dates=[0],date_parser=parser)model=ARIMA(sales_data,order=(9,2,0))result=model.fit()pmml_f_name='non_seasonal_car_sales.pmml'ArimaToPMML(results_obj=result,pmml_file_name=pmml_f_name)

更多关于Nyoka的信息

nyoka包含一个子模块,名为预处理。此模块包含由nyoka实现的预处理类。目前只有一个预处理类,即lag

什么是滞后?什么时候用?< Buff行情>

lag是nyoka实现的一个预处理类。当在scikit learn的管道中使用时,它只需结合以前的记录数,为数据集的给定特性应用一个aggregation函数。它需要两个参数-聚合和值。

有效的聚合函数是- "min"、"max"、"sum"、"avg"、"median"、"product"和"stddev"。

使用滞后-

  • 从NYOKA将其作为从NYOKA导入。预处理导入延迟
  • 将lag的实例创建为lag(aggregation="sum",value=5)
    • 这意味着,对给定的字段取5个先前的值并执行求和。
  • 在Scikit Learn的训练管道中使用此对象。

卸载

pip uninstall nyoka

支架

您可以在以下位置提问:

  • 堆栈溢出用"pmml"、"nyoka"标记问题
  • 您还可以在github问题中发布bug报告

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java OnResizeListener或OnDrawListener或类似的东西   java Orika映射嵌套子列表   保存时java Heroku请求超时代码H12   数据库在Java中出现socket读取超时异常的原因是什么?   java如何更改来自Sqlite数据库的特定数据在Listview中的行颜色   java JAXB解组器无法正确处理XML中的列表   java Android日期时区让我抓狂   java不透明属性在Swing中如何工作?   eclipse从JavaEE代码生成流程图   java如何在Hibernate中从相关表中获取计数   java Glassfish部署了项目的依赖项库   java使内容适合JavaFx中的WebView   java不满意的链接错误libcrypto。所以1.0.0   循环中java数组的使用   java找出哪个包调用服务