我想使用我已经拥有的自定义人工神经网络制作一个 sklearn 管道。我想制作管道,其中输入进入 ANN,其输出进入 sklearn.svm.SVC 模型并进行最终预测。那么,我怎样才能使用 sklearn 管道做到这一点呢?
如何使用自定义模型制作 sklearn 管道?
数据挖掘
神经网络
支持向量机
scikit-学习
2021-10-02 13:59:12
1个回答
实现自定义转换器很简单。您必须实现 fit 和 transform 方法,如下所示。由于您的 ANN 已经经过训练(对吗?) fit 方法无需执行任何操作,只需返回 self。转换方法必须将传入的数据传递给 ANN 并返回其输出。
from sklearn.base import BaseEstimator, TransformerMixin
class MyANNTransformer(BaseEstimator, TransformerMixin):
def __init__(self, ann):
self.ann = ann
def fit(self, X, y):
return self
def transform(self, X)
return self.ann.predict(X)
现在您可以将其包含在管道中:
from sklearn.pipeline import make_pipeline
from sklearn.svm import SVC
pipe = make_pipeline(MyANNTransformer(ann),
SVC())
pipe.fit(Xtrain, ytrain)
pipe.predict(Xtest)
其它你可能感兴趣的问题