In machine learning you typically want to do more than just apply a model. It's likely that you'll also want to have a fallback ready in situations where your machine learning model isn't confident.
The diagram in the video can easily be constructed using a
pseudo-code implementation is listed below.
import numpy as np from hulearn.classification import FunctionClassifier # These two models are assumed to be trained beforehand. outlier = WhatEverOutlierDetector().fit(X, y) classifier = WhatEverClassifier().fit(X, y) def make_decision(dataf, proba_threshold=0.8): # First we create a resulting array with all the predictions res = classifier.predict(dataf) # If we detect doubt, "classify" it as a fallback instead. proba = classifier.predict_proba(dataf) res = np.where(proba.max(axis=1) < proba_threshold, "doubt_fallback", res) # If we detect an outlier, we'll fallback too. res = np.where(outlier.predict(dataf) == -1, "outlier_fallback", res) # This `res` array contains the output of the drawn diagram. return res fallback_model = FunctionClassifier(make_decision, proba_threshold=0.8)