Skip to content

Human First AI Graph Explained

Christopher Nguyen edited this page Aug 23, 2020 · 1 revision

Most data science today is modeled as monolithic problems. You are typically bounded by the dataset you have, with one target decision for your model to make. Outside of that role, it's the problem of the data engineers, the operators, or the business. This is a very restrictive view of data science.

The real world is more complex, and more rewarding. Any project of any decent complexity is really a workflow, a flowchart, or a graph of data-processing and decision-making activities. H1st Graphs allows you to model this real world very easily, and your scope of work or influence can extend well throughout the business workflow, not just the one predictive model. You build a Graph as follows:

from h1.core.graph import Graph

g = Graph()
g.start()
 .add(Filter1())
 .add(Decision(Classifier()))
 .add(yes=HandleDog(), no=HandleCat())
 .end()

Another powerful use of Graph is to allow you to break a single, difficult-to-optimize model into simpler component parts. For example, let‘s say you have to scan a time series of network packets to determine which are attack messages. The model could be very hard to train. If you break the problem down into two parts: (1) First, determine if there is an attack going on somewhere within a 1-second window, and (2) Only classify Attack/Normal packets conditioned on the knowledge that there is in fact an ongoing attack within the time window. In many cases, problem #1 and #2 are much easier to handle than the monolithic one. We call this the DECOMPOSITION principle of Human-First AI.

To sum it up: Human-First AI Graphs allow you to build and operate real-world workflows and models that take advantage of human expertise or machine learning simultaneously—leveraging whichever is available to the solution at any given time.