Helping Business Users Get Over Perceived Technical Gaps When It Comes to API Design

Every single API project I’m working on currently has one or more business users involved or specifically leading the work. With every business user, no matter how fearless they are, there is always a pretty heavy perception that some things are over their head. I see this over and over when it comes to API design, and the usage of OpenAPI to define an API. I’ve known a handful of folks who aren’t programmers, and have learned OpenAPI fluently, but for the most part, all business users tend to put up a barrier when it comes to learning OpenAPI–it lives in the realm of code and exists beyond what they are capable of.

I get that folks are turned off by being exposed to code. Learning to read code takes a significant amount of time, and with the more framework, libraries, and other layers, you can find yourself pretty lost, pretty quickly. However, with OpenAPI, everything I do tends to be YAML, making it much more readable to humans. While there are rules and structure to things, I don’t feel it is out of the realm of the average user to study, learn, and eventually bring into focus. Along with the OpenAPI rules, there is a good deal of HTTP literacy required to fully understand what is going on, but I feel like the API design process is a much more forgiving environment to learn these things for both developers and business users. https://goo.gl/5ZueYs #DataIntegration #ML

#ASUG Webcast recap: A practitioner’s view of machine learning

Source: SAP

This was an ASUG BITI webcast given by SAP

Figure 2: Source: SAP
Recommend modeling iwth PAL – algorithms are implemented in server, where data resides, see much better performance

Figure 3: Source: SAP

PAL is for data scientists

Credit card data, which customer is credit worthy (classification)

Predicting house prices based on characteristics such as # of rooms, using regression

Cluster similar customers to do targeted marketing campaigns

Time dependent models, sequential pattern modeling to issue coupons

Figure 4: Source: SAP
Color coding indicates investments

Figure 5: Source: SAP
Training the model for random forest modeling

Figure 6: Source: SAP
Model scoring PAL code with confidence level

Figure 7: Source: SAP
Other options include integration with R
Connect from R studio, connect from ODBC

Figure 8: Source: SAP

R integration looks like a stored procedure

Figure 9: Source: SAP
Build models in TensorFlow and call in HANA – like a stored procedure

On the HANA side, you have the Application Function Library

With SPS02 – create the EML/AFL – interfaces between HANA and TensorFlow server

On the right side, build and train TensorFlow and upload to TensorFlow server, and then consume from HANA side

Connect through a Google Remote Function call

TensorFlow Serving Server can run in same box in HANA in development; should be separate in production

Scope is for scoring

Figure 10: Source: SAP

Train the model in TensorFlow

Figure 11: Source: SAP
Step 1 create remote source, host and port of TensorFlow server

Next map the model to the remote source; insert test model

Next – any config changes get applied immediately

Then check all connections are working before start using in the application

Figure 12: Source: SAP

Generate the EML in HANA and then call procedure using the input and output table

Figure 13: Source: SAP

Machine learning in HANA end to end; depends on type of use case

Machine learning is not just developing models, but how do these models get optimized and in a scalable real-time way

Figure 14: Source: SAP
Customer churn prediction with PAL to build a model

You can grow decision trees, output is the class

In PAL, you have fine grained control

Figure 15: Source: SAP

First step is to train the model, populate the parameter table

Figure 16: Source: SAP

Create table to store model

Capture variable importance with a table

Store the out of bag erorr

Store confusion matrix of the model

Figure 17: Source: SAP
Train the model, call the function

Decision trees are stored in PMML format

Out of bag error, the variable importance

Confusion Matrix is also output

Only 3 out of 14 cases did the model predict inaccurately

Figure 18: Source: SAP

Now built the model, want to predict the churn, and will customer to be retained

Create the parameter table
Create the results table for the results of scoring

Prediction and confidence

Used PAL to train the model and then use it to predict scenarios

Figure 19: Source: SAP

Could also build using Web IDE

Figure 20: Source: SAP

Push execution close to data

Figure 21: Source: SAP

Think of performance in terms of batch and real-time

SP02 enhancements

Real time prediction with SPS01

Figure 22: Source: SAP

Decisions need to happen in real time

Figure 23: Source: SAP

The model can remain in memory

Figure 24: Source: SAP

Partitioning – score in parallel

Ability to do large batch style processing in parallel

Figure 25: Source: SAP

Streaming analytics engine to take input from a variety of sources

Figure 26: Source: SAP

Train data as they arrive
Predict in real time

Figure 27: Source: SAP
A summary of a jam-packed webcast

Upcoming ASUG webcasts:

Oct 19 An exciting new future for SAP BusinessObjects Web Intelligence

Oct 26 Overall SAP Analytics strategy and direction 

Oct 31 What’s new in SAP BI Mobile and Roadmap

Nov 7 Cross-Solution Analytics with SAP Analytics Cloud

Nov 9 What’s New in SAP Lumira 2.0

Nov 20 What’s new in Analysis Office 2.6?

Nov 28 – Introduction to SAP Data Hub 

Nov 30 Refresh Expert Streams on Predictive Factory

Dec 5 – Update on Conversion Tools for SAP BW/4HANA

Dec 12 Best Practices for Automated Analytic

  http://bit.ly/2zk1kHF #SAP #SAPCloud #AI