当前位置: 首页 > 工具软件 > m2cgen > 使用案例 >

m2cgen 模型代码生成器的使用

章城
2023-12-01

m2cgen模型代码生成器的使用

前言

m2cgen是一个轻量级的python库,可以将经过训练的模型转换为代码,支持的语言包括如下:

  • C
  • C#
  • Dart
  • F#
  • Go
  • Haskell
  • Java
  • JavaScript
  • PHP
  • PowerShell
  • Python
  • R
  • Ruby
  • Visual Basic (VBA-compatible)

支持的模型包括主流的scikit-learn的线性模型,SVM和树等,也包括XGBoost等,具体的可以查看官网的说明:m2cgen支持的模型

安装

需要注意的是支持的python版本需要是3.6版本以上,安装可以直接通过pip命令行搞定

pip install m2cgen

用法

使用的方法很简单,首先需要训练一个模型,然后调用m2cgen导出模型代码,以下是一个导出为java模型代码的简单示例

from sklearn.datasets import load_boston
from sklearn import linear_model
import m2cgen as m2c

boston = load_boston()
X, y = boston.data, boston.target

estimator = linear_model.LinearRegression()
estimator.fit(X, y)

code = m2c.export_to_java(estimator)

查看导出的code代码如下所示,保存为一个java文件,得到的代码如下:

public class Model {
    public static double score(double[] input) {
        return (((((((((((((36.45948838509001) + ((input[0]) * (-0.10801135783679647))) + ((input[1]) * (0.046420458366875736))) + ((input[2]) * (0.020558626367074322))) + ((input[3]) * (2.6867338193450054))) + ((input[4]) * (-17.76661122830038))) + ((input[5]) * (3.8098652068092087))) + ((input[6]) * (0.0006922246403457712))) + ((input[7]) * (-1.4755668456002546))) + ((input[8]) * (0.30604947898517076))) + ((input[9]) * (-0.01233459391657462))) + ((input[10]) * (-0.9527472317072874))) + ((input[11]) * (0.009311683273794061))) + ((input[12]) * (-0.5247583778554892));
    }
}

参考

  1. m2cgen官网
 类似资料: