A graph-based functional API for building complex scikit-learn pipelines.
baikal is a graph-based, functional API for building complex machine learning pipelines of objects that implement the scikit-learn API. It is mostly inspired on the excellent Keras API for Deep Learning, and borrows a few concepts from the TensorFlow framework and the (perhaps lesser known) graphkit package.
baikal aims to provide an API that allows to build complex, non-linear machine learning pipelines that looks like this:
with code that looks like this:
x1 = Input() x2 = Input() y_t = Input() y1 = ExtraTreesClassifier()(x1, y_t) y2 = RandomForestClassifier()(x2, y_t) z = PowerTransformer()(x2) z = PCA()(z) y3 = LogisticRegression()(z, y_t) stacked_features = Stack()([y1, y2, y3]) y = SVC()(stacked_features, y_t) model = Model([x1, x2], y, y_t)
baikal is compatible with Python >=3.5 and is distributed under the BSD 3-clause license.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.