orbital 转换scikitlearn pipeline 为sql的框架
orbital 是一个转换scikitlearn pipeline 为sql的框架,设计上比较有意思,可以将我们训练好的scikitlearn 模型,直接转换为sql 执行,这样进行实际推理预测就会特别简单了,内部实际核心是将训练的权重数据提取出来,转换为实际执行的sql 参数
参考示例
# Create a SciKit Learn Pipeline and Train it
pipeline = Pipeline(
[
("preprocess", ColumnTransformer([("scaler", StandardScaler(with_std=False), COLUMNS)],
remainder="passthrough")),
("linear_regression", LinearRegression()),
]
)
pipeline.fit(X_train, y_train)
# Convert it to an Orbital Pipeline
orbital_pipeline = orbital.parse_pipeline(pipeline, features={
"sepal_length": orbital.types.DoubleColumnType(),
"sepal_width": orbital.types.DoubleColumnType(),
"petal_length": orbital.types.DoubleColumnType(),
"petal_width": orbital.types.DoubleColumnType(),
})
# Generate SQL
sql = orbital.export_sql("DATA_TABLE", orbital_pipeline, dialect="duckdb")
说明
orbital 的好处比较明显就是实际实用会比较轻量,不依赖推理框架了,直接sql执行,当然缺点也是会比较明显的,一些是推理加速,一个是支持的模型,当前 orbital 支持的模型还不是很多,主要偏向于传统机器学习的
浙公网安备 33010602011771号