Civis R&D Bookshelf: Geoplot, Tangent, and Using AI to Augment Human Intelligence

by Michael Heilman

Civis Analytics
The Civis Journal
Published in
3 min readDec 8, 2017

--

Using Artificial Intelligence to Augment Human Intelligence

What are computers good for? Early computers were used to solve complex mathematical problems with very particular answers, such as where an artillery shell might land or what an encrypted message meant. At the same time, however, researchers such as Vannevar Bush, Douglas Engelbart, and J.C.R. Licklider were pushing the idea that computers could be tightly integrated into people’s lives and work, and it wasn’t long before productivity software transformed the workplace, etc. (For more about this, see, e.g., Isaacson’s The Innovators.)

A lot of recent research in machine learning, particularly deep learning, has focused on solving problems in a completely automated manner (e.g., winning board games, autonomous driving, automatically detecting faces in images). However, there is also burgeoning interest in how humans and artificial intelligence tools might interact. The article by Carter and Nielsen provides some examples of such interactions and aims to “identify some of the broad, fundamental questions.”

I find this particularly interesting because, at Civis, we’re often finding that clients don’t just want tools where they click a button and predict some variable of interest Y. Instead, many need tools that can predict Y interactively based on filtering or parameterization by a person, then show the person a summary of what was predicted, and then finally export tables, graphs or other outputs so the person can continue working on them. Efficient human-computer interaction is often an essential element.

Here’s an interesting historical tidbit related to combining human creativity and computation: punch cards, an early method for programming computers, were based on the Jacquard loom, a machine for creating complex patterns in textiles.

Tangent

In 2015, Google released TensorFlow to facilitate optimizing statistical models via automatic differentiation. TensorFlow is fantastic, but it requires learning a lot about all the functions and tools it provides (i.e., its API). Tangent, on the other hand, aims to provide automatic differentiation without having to learn a new system. It aims to let users keep using the Python tools they know and love (e.g., NumPy). It seems unlikely that Tangent will replace TensorFlow, but it’s probably an option worth keeping in mind if you need to implement a custom statistical model.

Geoplot

Recently, I wrote a blog post that involved using Apache Spark to make U.S. state-level choropleth maps. The funny thing about it was that figuring out how to make the maps was almost as difficult as figuring out how to do the analysis with Spark. I ended up with a pretty simple method with geopandas, but after that, a colleague pointed me to Geoplot, which looks like a very useful cartographic tool for Python.

This post is part of our Bookshelf series organized by the Data Science R&D department at Civis Analytics. In this series, Civis data scientists share links to interesting software tools, blog posts, scientific articles, and other things that they have read about recently, along with a little commentary about why these things are worth checking out. Are you reading anything interesting? We’d love to hear from you on Twitter.

--

--