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));
}
}