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
OpenGrok: An Indexing Service for Your Development Code
ICYMI: How about a personalized Google service for your development code?
Enterprise software development is complex; especially if you are joining a new team or supporting legacy applications, you will need a tool to help you search through hundreds of thousands of lines of code. I have supported legacy applications with millions of lines of codes in the past. https://goo.gl/K9iPc9 #DataIntegration #ML
