gpt4 book ai didi

scikit-learn - Google Cloud ML Engine 的 scikit-learn 框架中的自定义依赖项

转载 作者:行者123 更新时间:2023-12-01 13:20:58 25 4
gpt4 key购买 nike

我正在寻找在我的 ML 项目中添加用户定义函数和自定义转换器的可能性,但我只找到了如何在 Tensor-Flow 框架中执行此操作的示例。

我已经创建了一个可以使用 pip 安装的自定义包,但我不知道 setup.py 文件在 scikit-learn 框架中应该是什么样子。

如果你能给我一些提示,我会很高兴。

我尝试部署的管道如下所示:

from custscaler import StdScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.pipeline import Pipeline

knn_pipe = Pipeline([
('my_std', StdScaler(5) ),
('my_knn',KNeighborsClassifier(n_neighbors=7))
])

model = knn_pipe.fit(X_train, Y_train)

自定义转换器:
/custscaler/__init__.py

from .fct1 import StdScaler

/custscaler/fct1.py

from sklearn import base


class StdScaler(base.BaseEstimator, base.TransformerMixin):

def __init__(self, scaling_factor):
self.scaling_factor = scaling_factor

def fit(self, X, y=None):
return self

def transform(self, X):
data = [ [el*self.scaling_factor for el in row] for row in X ]
return data

最佳答案

无论框架如何,打包依赖项都是一样的。虽然 setup.py 是一个通用构造,但 CloudML Engine 页面 ( link ) 上给出了一些建议

特别是,这个数字应该有帮助:

Recommended Project Structure

在您的情况下,执行 knn_pipe.fit 的代码片段将在 trainer 内,而 custscaler 将是“other_subpackage”图。

setup.py 中的“魔法位”是一行:

packages=find_packages()

这将包括 trainercustscaler(假设他们有 __init__.py)。

关于scikit-learn - Google Cloud ML Engine 的 scikit-learn 框架中的自定义依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49995645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com