https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/Machine-Learning-blog-posts.xml SAP Community - Machine Learning 2024-05-20T11:10:58.586895+00:00 python-feedgen Machine Learning blog posts in SAP Community https://community.sap.com/t5/technology-blogs-by-members/ml-scenario-implementation-logistics-regression-model-using-sap-data/ba-p/13645536 ML Scenario Implementation (Logistics Regression Model) using SAP Data Intelligence 2024-03-22T02:29:19.346000+01:00 yverma https://community.sap.com/t5/user/viewprofilepage/user-id/454525 <P>First of all overview of Logistics Regression method which we are going implement using SAP Data Intelligence. Logistic Regression is statistical method and was used in the biological sciences in early twentieth century. It was then used in many social science applications.&nbsp;Logistic Regression is used when the dependent variable(target) is categorical.</P><P>For example:-</P><P>To predict whether an email is spam (1) or (0)</P><P>Whether the tumor is malignant (1) or not (0)</P><P>Consider a scenario where we need to classify whether an email is spam or not. If we use linear regression for this problem, there is a need for setting up a threshold based on which classification can be done. Say if the actual class is malignant, predicted continuous value 0.4 and the threshold value is 0.5, the data point will be classified as not malignant which can lead to serious consequence in real time. The following article shows how to implement Logistics Regression statistical method on the dummy data set using SAP Data Intelligence.</P><P><U><STRONG>UPLOAD THE DATA IN S3 BUCKET</STRONG></U></P><P>From SAP DI Launchpad go to the connection management.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_2-1711018620457.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84360i284A51D0FDCF298E/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_2-1711018620457.png" alt="yverma_2-1711018620457.png" /></span></P><P>Go to the icon for creating the connection.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_3-1711018662276.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84361i7163B2D26C1DE8DA/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_3-1711018662276.png" alt="yverma_3-1711018662276.png" /></span></P><P>Select S3 as connection type<BR />Give the details of the connection in the Data Intelligence Connection Management window.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_4-1711018689257.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84362iB6CFF1C043BD6DBF/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_4-1711018689257.png" alt="yverma_4-1711018689257.png" /></span></P><P>&nbsp;</P><P>When we click on the check status, it tells about the status of the connection.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_6-1711018737139.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84364iC1C4E14800B29D9B/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_6-1711018737139.png" alt="yverma_6-1711018737139.png" /></span></P><P>&nbsp;</P><P>Open metadata explorer to upload the data in AWS S3 Bucket.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_7-1711018780602.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84365i43395FBB34659E94/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_7-1711018780602.png" alt="yverma_7-1711018780602.png" /></span></P><P>&nbsp;</P><P>In metadata explorer, go to the Catalog and then select Browse connection.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_8-1711018802973.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84366i1441DDF7A0DF045B/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_8-1711018802973.png" alt="yverma_8-1711018802973.png" /></span></P><P>&nbsp;</P><P>Browse Connections window is open as shown in the screenshot.<BR />Select S3 Cube Connection to upload the data in S3 Bucket.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_9-1711018887676.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84367iDD796B83F941EBCB/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_9-1711018887676.png" alt="yverma_9-1711018887676.png" /></span></P><P>Then we have to open our directory.<BR />We have to upload our DATA files by clicking on icon .</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_10-1711018938456.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84368iEDABFF380A9D6FB6/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_10-1711018938456.png" alt="yverma_10-1711018938456.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_11-1711018952699.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84369i42A52D508046A131/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_11-1711018952699.png" alt="yverma_11-1711018952699.png" /></span></P><P>Select the file which we want to upload in S3 bucket and click on upload.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_12-1711018975877.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84370i908C85029FD27EEA/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_12-1711018975877.png" alt="yverma_12-1711018975877.png" /></span></P><P>After uploading the files, it shows the Upload Complete status in green colour.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_13-1711018991547.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84371iEA862CAA527A84E1/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_13-1711018991547.png" alt="yverma_13-1711018991547.png" /></span></P><P>The file is successfully uploaded in S3 Bucket.</P><P>&nbsp;</P><P><U><STRONG>Build the Pipeline in the Modeler Tile</STRONG></U></P><P>Go to Modeler tile and open the modeler window. There would be 5 tabs Graphs, Operators, Repository, Configuration Types, Data Types.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_15-1711019079349.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84373i4FD2F48F4712B1E4/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_15-1711019079349.png" alt="yverma_15-1711019079349.png" /></span></P><P>&nbsp;</P><P>Firstly, we have to create a graph – Click on the ‘+’ icon on graphs tab.<BR />Once the graph is created, search for READ FILE operator in Operators tab.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_16-1711019118524.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84374i85B4FF3045AE4AD3/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_16-1711019118524.png" alt="yverma_16-1711019118524.png" /></span></P><P>&nbsp;</P><P>To access AWS S3 files in Pipeline we can use the Read File operator which allows access to S3 directly.<BR />Drag and drop the READ FILE operator on the canvas.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_17-1711019146188.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84375iEEDABC2FFE687953/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_17-1711019146188.png" alt="yverma_17-1711019146188.png" /></span></P><P>&nbsp;</P><P>Search Wiretap in the Operators tab.<BR />Drag and drop the Wiretap in the graph area.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_18-1711019167265.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84376iFDA11F0B50AA68F6/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_18-1711019167265.png" alt="yverma_18-1711019167265.png" /></span></P><P>&nbsp;</P><P><STRONG>Input port (ref): message.fileReference</STRONG><BR />A File Reference pointing to the file to be read. If the reference is a directory, nothing is done and no output is produced.<BR />Output port (file): message.file<BR />A File whose contents may be presented as a whole or in batches, according to the operator configuration.<BR />Output port (error): message.error<BR />An Error Message, in case an error was raised during an operation.<BR />Here, we connect the Read File message.file port with the Wiretap.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_19-1711019185714.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84377i6077ABC74C42FD92/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_19-1711019185714.png" alt="yverma_19-1711019185714.png" /></span></P><P>In the connection configuration select “Connection Management” in configuration type<BR />For connection ID select s3Cube</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_20-1711019254973.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84378iCBA9EECCDFBE59A7/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_20-1711019254973.png" alt="yverma_20-1711019254973.png" /></span></P><P>&nbsp;</P><P>We have to select the path in the Read File configuration.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_21-1711019284213.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84380i6469B75A793F8F07/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_21-1711019284213.png" alt="yverma_21-1711019284213.png" /></span></P><P>&nbsp;</P><P>We can check the configuration of Wiretap.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_22-1711019305506.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84381i9401998D8F43AEEA/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_22-1711019305506.png" alt="yverma_22-1711019305506.png" /></span></P><P>&nbsp;</P><P>Now, we can save all the operation of the previous steps.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_23-1711019324487.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84383i74F958B84AC03613/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_23-1711019324487.png" alt="yverma_23-1711019324487.png" /></span></P><P>&nbsp;</P><P>Once the graph is running, click on the running instance of the graph and click Open UI to see the output in wiretap.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_24-1711019340024.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84385iCBD66B3647C5394B/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_24-1711019340024.png" alt="yverma_24-1711019340024.png" /></span></P><P>&nbsp;</P><P>Here, we can see the output of the data in the Wiretap.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_25-1711019354945.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84386iBFC9DCC81C72FBD1/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_25-1711019354945.png" alt="yverma_25-1711019354945.png" /></span></P><P>Using PANDAS IN THE PYTHON OPERATOR FOR Data Wrangling</P><P>The Modeler window is open.<BR />Go to the Operators tab and search Python3 Operator.<BR />Drag and drop Python3 Operator in the graph area.<BR />After dragging, right click on the Python3 Operator and select Add Port for adding the input and output ports.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_0-1711067530906.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84704iE689122C615FE967/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_0-1711067530906.png" alt="yverma_0-1711067530906.png" /></span></P><P><SPAN>Here, we have to add the input and output port for taking input and output</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_1-1711067539477.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84705iD4E7C99080CA341B/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_1-1711067539477.png" alt="yverma_1-1711067539477.png" /></span></P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_2-1711067616559.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84706i8D0E17215F4DF9E3/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_2-1711067616559.png" alt="yverma_2-1711067616559.png" /></span></P><P>The following is the depiction of the pipeline and ToString convertor has been used to convert data into string</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_3-1711067637272.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84707iF507D44A97044EA0/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_3-1711067637272.png" alt="yverma_3-1711067637272.png" /></span></P><P>Inside the python operator the data manipulation is performing which requires PANDAS library</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_4-1711067748014.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84708iA71B4A4C24104379/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_4-1711067748014.png" alt="yverma_4-1711067748014.png" /></span></P><P>Output of the Pipeline execution:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_5-1711067782949.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84709iF20A040BA4FDFCA2/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_5-1711067782949.png" alt="yverma_5-1711067782949.png" /></span></P><P><STRONG><U>UPLOAD THE SAME DATA INTO LOCAL DI DATALAKE THROUGH DATA MANAGER</U></STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_6-1711067860555.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84710i0C2E3D5627FF558C/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_6-1711067860555.png" alt="yverma_6-1711067860555.png" /></span></P><P><SPAN>We have to create the Data Collection by clicking the Create button.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_7-1711067908939.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84711iE76D4D8992D75C3E/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_7-1711067908939.png" alt="yverma_7-1711067908939.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_8-1711067924197.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84712i28D2C8E384BEB8AF/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_8-1711067924197.png" alt="yverma_8-1711067924197.png" /></span></P><P>In this Meta Data explorer we have to upload the data in the DI Datalake.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_9-1711068008969.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84713iCD4F3CD163FD6A3D/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_9-1711068008969.png" alt="yverma_9-1711068008969.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_10-1711068018126.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84714i565FDA0D6A5B2D77/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_10-1711068018126.png" alt="yverma_10-1711068018126.png" /></span></P><P><STRONG><U>CREATE THE JUPYTER ENVIRONMENT</U></STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_11-1711068036168.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84715i57404609249B86FD/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_11-1711068036168.png" alt="yverma_11-1711068036168.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_12-1711068049207.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84716iEE48E3FD190CF711/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_12-1711068049207.png" alt="yverma_12-1711068049207.png" /></span></P><P>Create ML Scenario by clicking + icon</P><P>After creating the ML Scenario we have various sections like Datasets, Notebooks, Pipelines, Executions, Models, Deployments.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_13-1711068089414.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84717i02F7D29829FBF22B/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_13-1711068089414.png" alt="yverma_13-1711068089414.png" /></span></P><P>For creating the Jupyter Notebook, click + icon of Notebooks section</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_15-1711068157157.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84719iC18D13C57FE8E7E7/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_15-1711068157157.png" alt="yverma_15-1711068157157.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_16-1711068168412.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84720iB9AB2DC8E6478747/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_16-1711068168412.png" alt="yverma_16-1711068168412.png" /></span></P><P>Exploratory Data Analysis using Juypter Notebook on the dataset which we have uploaded above</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_17-1711068255206.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84721i4E3D7DC5322AE769/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_17-1711068255206.png" alt="yverma_17-1711068255206.png" /></span></P><P>Open Jupyter Notebook</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_18-1711068274585.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84722i70346FA41B1A675D/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_18-1711068274585.png" alt="yverma_18-1711068274585.png" /></span></P><P>Go to the Data Browser for selecting our Workspace.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_19-1711068299235.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84723i2323365A364A29C5/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_19-1711068299235.png" alt="yverma_19-1711068299235.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_20-1711068313375.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84724iEF8243E4DD6252A9/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_20-1711068313375.png" alt="yverma_20-1711068313375.png" /></span></P><P>Open our data workspace</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_22-1711069225050.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84727i5BDAB4DF7A74C872/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_22-1711069225050.png" alt="yverma_22-1711069225050.png" /></span></P><P>&nbsp;</P><P>After open the data workspace, Copy code snippet to clipboard and paste in the Jupyter Notebook cell.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_23-1711069237512.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84728iD3098F1C14E9B60A/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_23-1711069237512.png" alt="yverma_23-1711069237512.png" /></span></P><P>Create a new Kernel in the new environment for installing the libraries in an isolated manner.<BR />Open the launcher and go to terminal.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_24-1711069303805.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84729i3C25682F1BB2AE02/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_24-1711069303805.png" alt="yverma_24-1711069303805.png" /></span></P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_25-1711069350321.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84730i6449183B9A18AF83/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_25-1711069350321.png" alt="yverma_25-1711069350321.png" /></span></P><P>Now, the kernel is successfully created.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_26-1711069367077.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84731i3D9ED620A7B0925B/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_26-1711069367077.png" alt="yverma_26-1711069367077.png" /></span></P><P>&nbsp;</P><P>Select new Kernel for the Jupyter Notebook.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_27-1711069380342.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84732i32AE2C2ECC12817D/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_27-1711069380342.png" alt="yverma_27-1711069380342.png" /></span></P><P><SPAN>Now, We would do Exploratory Data Analysis in Jupyter Notebook.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_28-1711069403038.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84733iA9ACFEADFDD7495C/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_28-1711069403038.png" alt="yverma_28-1711069403038.png" /></span></P><P>&nbsp;</P><P>Check the distribution of age among passengers.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_29-1711069417886.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84734iCBEE020EFCB0472D/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_29-1711069417886.png" alt="yverma_29-1711069417886.png" /></span></P><P>Here, we are plotting the correlation matrix using heat map to identify the correlation between features.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_30-1711069430798.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84735i830239838E12B703/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_30-1711069430798.png" alt="yverma_30-1711069430798.png" /></span></P><P>Now, we are training a <STRONG>LogisticRegression</STRONG> model to classify if the passenger survived or not.<BR />Once the model is trained we check the model accuracy</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_31-1711069462033.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84736iDDA8DF2A43082FC3/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_31-1711069462033.png" alt="yverma_31-1711069462033.png" /></span></P><P><U><STRONG>BUILD THE TRAINING PIPELINE AND SAVE THE MODEL</STRONG></U></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_32-1711069470542.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84737i93F868AB8AC58C94/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_32-1711069470542.png" alt="yverma_32-1711069470542.png" /></span></P><P><SPAN>Creating the training pipeline.</SPAN></P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_33-1711069580325.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84738i764B696FDF3C64EB/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_33-1711069580325.png" alt="yverma_33-1711069580325.png" /></span></P><P>&nbsp;</P><P>Here, we give the name and select the Python Producer template.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_34-1711069612508.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84739i175A55C30F4832F6/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_34-1711069612508.png" alt="yverma_34-1711069612508.png" /></span></P><P>In this Python producer graph (Training Pipeline), first we group Python3 operator. After that we need to tag the docker image file</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_35-1711069684688.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84740i8DE42A3550E83350/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_35-1711069684688.png" alt="yverma_35-1711069684688.png" /></span></P><P>&nbsp;</P><P>Script of the Python operator</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_36-1711069702740.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84742i360F978F310DF9C2/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_36-1711069702740.png" alt="yverma_36-1711069702740.png" /></span></P><P>&nbsp;</P><P>Save the pipeline and run the pipeline. After running the pipeline, we have to check the status.<BR />The artifact producer saves the model pickle file in Semantic Data Lake, for further use</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="yverma_37-1711069783670.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/84743i265336D8F9C5E8A1/image-size/medium?v=v2&amp;px=400" role="button" title="yverma_37-1711069783670.png" alt="yverma_37-1711069783670.png" /></span></P><P><STRONG>CREATE THE INFERENCE PIPELINE FOR THE SAVED MODEL</STRONG><BR /><STRONG>TEST IT WITH THE POSTMAN APP TO SEE IF WE ARE GETTING THE OUTPUT</STRONG></P><P>Reference:</P><P><A href="https://community.sap.com/t5/technology-blogs-by-sap/di-basics-building-a-custom-dockerfile/ba-p/13518878" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/di-basics-building-a-custom-dockerfile/ba-p/13518878</A></P><P><A href="https://help.sap.com/docs/SAP_Best_Practices/8c92d5da091847f8bc1f1b319f3df70a/c7bf2bd9fa6b4ddaad46a45e2c4355f4.html" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/SAP_Best_Practices/8c92d5da091847f8bc1f1b319f3df70a/c7bf2bd9fa6b4ddaad46a45e2c4355f4.html</A></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2024-03-22T02:29:19.346000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/deliver-real-world-results-with-sap-business-ai-q4-2023-amp-q1-2024-release/ba-p/13650291 Deliver Real-World Results with SAP Business AI: Q4 2023 & Q1 2024 Release Highlights 2024-03-27T09:51:25.335000+01:00 philipp_herzig https://community.sap.com/t5/user/viewprofilepage/user-id/195453 <P><div class="video-embed-center video-embed"><iframe class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F_y2EaX4HFsE%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D_y2EaX4HFsE&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F_y2EaX4HFsE%2Fhqdefault.jpg&amp;key=fad07bfa4bd747d3bdea27e17b533c0e&amp;type=text%2Fhtml&amp;schema=youtube" width="200" height="112" scrolling="no" title="The Power of AI Across Your Business: Are You Ready? | SAP Business AI" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"></iframe></div></P><P>Artificial intelligence (AI), and above all, generative AI, marks a paradigm shift on how computer systems learn from data, solve complex problems, and even provide creativity when it’s needed. We believe this paradigm shift will fundamentally change work, business, and society.<BR />The impact that AI is expected to have on the global economy of the next three years is tremendous.​ Morgan Stanley estimate that the impact will be about $4.1 trillion dollars, about the size of the GDP of Germany.</P><P>SAP is committed to helping organizations through this transformative moment by creating business outcomes that were unimaginable before through SAP Business AI.&nbsp;Tailored to your unique data landscape and industry nuances, SAP Business AI enables smarter decisions and efficiencies at scale:</P><UL><LI>AI delivered in the context of your business processes</LI><LI>AI trained on the industry’s broadest business datasets</LI><LI>AI built on leading ethics and data privacy standards</LI></UL><P>SAP Business AI is relevant, reliable, and responsible. It’s deeply embedded in our business processes and analytics. Already today, more than 27,000 of our customers are seeing the benefits of AI that is built for business every day across every business function. No other technology company can combine the power of AI with the processes and data that run the business world. SAP is helping change how people interact with business software and make work more efficient and more delightful than ever before.</P><P>Let’s delve into the newest SAP Business AI capabilities made available for SAP customers helping them deliver real-world results.</P><H2 id="toc-hId-990617179"><STRONG><BR />Joule</STRONG></H2><H3 id="toc-hId-923186393"><STRONG>Conversational Search</STRONG></H3><P>Introduced last year, Joule, SAP’s natural language generative AI copilot, revolutionizes the way people interact with SAP business systems, making every touchpoint count and every task simpler.</P><P>SAP customers can now get quick and seamless access to the exact&nbsp;SAP Help Portal&nbsp;content they need when asking a question in Joule, without ever having to leave the application they are working on. This generative AI-powered feature will be available in all SAP cloud solutions. We started with SAP SuccessFactors and SAP Start in 2023, continued with SAP S/4HANA Cloud Public Edition early 2024, and this will be followed by additional product integrations planned throughout this year.&nbsp;</P><P>Using Joule, SAP SuccessFactors and SAP Start users can&nbsp;save up to 10 minutes&nbsp;for an inquiry without leaving the UI and search in different content repositories, including search engines. This is another step towards helping our customers to become more productive and efficient. It drives product adoption, creates business value, and saves our users time and effort in accessing information quickly.&nbsp;</P><P><A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_b5b941xe" target="_blank" rel="noopener nofollow noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Joule Delivers Seamless Access to SAP Help Portal Content from SAP Solutions" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86738i829522D4974B8036/image-size/large?v=v2&amp;px=999" role="button" title="Joule Delivers Seamless Access to SAP Help Portal Content from SAP Solutions.png" alt="Joule Delivers Seamless Access to SAP Help Portal Content from SAP Solutions" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Joule Delivers Seamless Access to SAP Help Portal Content from SAP Solutions</span></span></A></P><P><FONT size="3"><A href="https://www.sap.com/products/artificial-intelligence/ai-assistant.html" target="_blank" rel="noopener noreferrer">Learn more on the product page.</A><BR /><A href="https://help.sap.com/docs/joule/service-guide/initial-set-up?locale=en-US" target="_blank" rel="noopener noreferrer">Get started with the product documentation.</A></FONT></P><H2 id="toc-hId-597590169"><STRONG><BR />Cloud ERP</STRONG></H2><H3 id="toc-hId-530159383"><STRONG>SAP S/4HANA Cloud, public edition</STRONG></H3><P>We have built Joule directly into SAP S/4HANA Cloud Public Edition, redefining user interaction, streamlining business processes, and enhancing productivity.<BR />Joule can offer quick, contextual access to content and applications; users can simply ask Joule for guidance and get pointed in the right direction.</P><UL><LI>Looking for help to execute certain finance operations or looking for guidance how to change sales document entries? Joule provides quick and easy access to SAP Help Portal content and creates a summary leveraging generative AI. No need to browse through long search result lists anymore and reading into several topics to find the correct information.&nbsp;&nbsp;&nbsp;</LI><LI>Not sure which application could help to check the status of sales orders? Just express the need in natural language and Joule will propose the most reasonable applications for the required business operation.&nbsp;</LI><LI>Want to quickly check the status of a specific purchase order? Joule can also assist in providing insightful information about specific business objects. Once Joule shows up the required business information directly in the natural language user panel, users can directly jump into the business application from there.&nbsp;</LI></UL><P><A href="https://www.sap.com/products/erp/s4hana/innovations.html?video=d696ba8f-a67e-0010-bca6-c68f7e60039b" target="_blank" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Joule in SAP S/4HANA Cloud Public Edition" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86514i9F0E910221F244DC/image-size/large?v=v2&amp;px=999" role="button" title="Joule SAP S_4HANA Public Edition.png" alt="Joule in SAP S/4HANA Cloud Public Edition" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Joule in SAP S/4HANA Cloud Public Edition</span></span></A></P><P><A href="https://www.sap.com/products/erp/s4hana/innovations.html" target="_blank" rel="noopener noreferrer">Learn more on the product page.</A><BR /><A href="https://influence.sap.com/sap/ino/#campaign/3612" target="_blank" rel="noopener noreferrer">Register for the SAP Early Adopter Care program</A> to test this feature before anyone else.</P><P>Are you tired of manually inputting incomplete sales order data? Filling in these missing details requires significant manual data management effort.<BR />The sales order autocompletion capability in SAP S/4HANA Cloud Public Edition eliminates this hassle by providing smart recommendations for seamless data input. Missing fields are automatically populated,<BR />simplifying incomplete sales order handling, delivering cost savings and boosting sales expert productivity.</P><P><A href="https://www.sap.com/assetdetail/2023/11/04731adb-967e-0010-bca6-c68f7e60039b.html" target="_blank" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Sales Order Autocompletion in SAP S/4HANA Cloud Public Edition" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86578i5319442280BE9793/image-size/large?v=v2&amp;px=999" role="button" title="Sales Order Autocompletion SAP S_4HANA Public Edition.png" alt="Sales Order Autocompletion in SAP S/4HANA Cloud Public Edition" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Sales Order Autocompletion in SAP S/4HANA Cloud Public Edition</span></span></A></P><P><A href="https://community.sap.com/t5/enterprise-resource-planning-blogs-by-sap/sales-in-sap-s-4hana-cloud-public-edition-2402/ba-p/13592848" target="_blank">Read the blog post.</A><BR /><A href="https://help.sap.com/docs/SAP_S4HANA_CLOUD/a376cd9ea00d476b96f18dea1247e6a5/1a0d71eb945e48caa72e7ad822017121.html?locale=en-US&amp;version=2308.503" target="_blank" rel="noopener noreferrer">Get started with the product documentation.</A></P><H3 id="toc-hId-333645878"><STRONG><BR />SAP Enterprise Service Management</STRONG></H3><P>Shared service centers drive business value by enabling organizations to provide fast and reliable service cost-efficiently. However, too often organizational silos, distributed data and duplicated processes cause complexity and reduce the productivity and quality of service.</P><P>With generative AI capabilities in SAP Enterprise Service Management, shared service teams can:</P><UL><LI>summarize text in email interactions for cases with Case Summary</LI><LI>draft email replies or interactions for cases with Email Draft Recommender</LI><LI>get all the information related to an account that helps the sales representatives with Account Synopsis</LI></UL><P>Implementation results in significant reductions in overdue items ultimately enhancing customer satisfaction and streamlining processes. By implementing SAP Enterprise Service Management, businesses can save up to 70% of the cost for across various service scenarios or processing service requests 30% faster, like one of our global customers in the automotive industry has achieved for their accounts payable shared-services teams.<BR /><BR /></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="SAP Enterprise Service Management Homepage" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86698i8E9BD591A70A5A3B/image-size/large?v=v2&amp;px=999" role="button" title="SAP Enterprise Service Management Homepage.png" alt="SAP Enterprise Service Management Homepage" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">SAP Enterprise Service Management Homepage</span></span></P><P><A href="https://help.sap.com/docs/CX_CNS_ESM/f1437ed0c63b464983503b1a1dc6af8a/bd9d187188f040d3bb9b45d1d11cf296.html?locale=en-US" target="_blank" rel="noopener noreferrer">Get started with the product documentation.</A></P><H3 id="toc-hId-137132373"><STRONG><BR />SAP Transportation Management</STRONG></H3><P>Imagine the chaotic scene at a freight clearing dock. Freight logistics providers arrive with stacks of manual papers, causing delays, inefficiencies, and the need for manual rework. Anomalies in freight orders are often detected late, leading to even longer processing times. It's a frustrating and time-consuming process for anyone involved.</P><P>Generative AI capabilities have been infused as part of SAP Transportation Management to expedite freight verification and documentation seamlessly. Businesses can automate the processing of tens of thousands of goods receipts and delivery notes in SAP Transportation Management, avoiding data entry errors and processing many types of document layouts without needing to do any training.&nbsp;</P><P>The benefits of this solution are immense. First and foremost, there's faster processing time with greater accuracy, minimizing errors and reducing the need for manual checks. This means less waiting time for logistics carriers and the potential for reduced yard space through optimized turnaround times. Additionally, the entire operation experiences enhanced operational efficiency and improved data quality for subsequent processes. Delivery notes are processed 50% faster, saving valuable time and resources. And the cost for truck delivery processing is reduced by an impressive 50%.<BR /><BR />This capability is available as pilot phase for SAP customers, with a general availability planned for Q4 2024, including new features.<SPAN><BR /></SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Expedite Freight Verification in SAP Transportation Management" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87528i9893FE9FC2A278CA/image-size/large?v=v2&amp;px=999" role="button" title="Expedite Freight Verification - SAP Transportation Management.png" alt="Expedite Freight Verification in SAP Transportation Management" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Expedite Freight Verification in SAP Transportation Management</span></span></SPAN></P><P><SPAN><A href="https://www.sap.com/products/scm/transportation-logistics.html" target="_blank" rel="noopener noreferrer">Learn more about SAP Transportation Management.</A></SPAN></P><H3 id="toc-hId--59381132">&nbsp;</H3><H3 id="toc-hId--255894637"><SPAN><STRONG>SAP Digital Manufacturing</STRONG></SPAN></H3><P>Visual inspection for SAP Digital Manufacturing is now available as a redesigned beta release for SAP Digital Manufacturing customers and will be generally available in the second quarter of 2024. This feature transforms human visual inspection experience to overcome human cognitive limits and empowers production engineers to enable AI models to visual inspections.</P><P>AI is leveraged to simplify and optimize visual inspection processes, assisting workers in finding defects earlier, faster, and more accurately. Operator productivity, product quality, and user experience are all improved at the same time.&nbsp;According to the first customer pilots, visual inspection can reduce the time to visually inspect parts by 60% when AI-assisted.</P><P><A href="https://www.sap.com/products/artificial-intelligence/supply-chain.html?video=34239b78-6b7e-0010-bca6-c68f7e60039b" target="_blank" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Visual Inspection - Detect Product Defects Faster on the Shop Floor" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87409i1F01751AEFF35DE9/image-size/large?v=v2&amp;px=999" role="button" title="Visual Inspection with AI - Detect Product Defects Faster on the Shop Floor.png" alt="Visual Inspection - Detect Product Defects Faster on the Shop Floor" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Visual Inspection - Detect Product Defects Faster on the Shop Floor</span></span></A></P><P><A href="https://www.sap.com/products/scm/digital-manufacturing-cloud.html" target="_self" rel="noopener noreferrer">Learn more about SAP Digital Manufacturing.</A><BR /><A href="https://help.sap.com/docs/sap-digital-manufacturing/ai-ml-scenarios-management/manage-ai-ml-scenarios" target="_blank" rel="noopener noreferrer">Get started with the product documentation.</A></P><H2 id="toc-hId--581490861"><SPAN><BR />Human Capital Management</SPAN></H2><H3 id="toc-hId--648921647">SAP SuccessFactors</H3><P>Joule is integrated natively in SAP SuccessFactors, enabling employee and managers to quickly complete tasks in natural language such as requesting a wide range of record updates, providing feedback, checking and viewing your payment statement, approving time off requests, and much more.<BR />You can access Joule via SAP Start and all pages in the&nbsp;SAP SuccessFactors HXM Suite.<BR />Let's enable a future-ready workforce with our AI copilot that truly elevates every employee's experience.</P><P><A href="https://www.sap.com/products/hcm/ai-joule-product-tour.html" target="_blank" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Access Joule on the SAP SuccessFactors Homepage" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86632i97EEB12EC9CB091B/image-size/large?v=v2&amp;px=999" role="button" title="Access Joule on the SAP SuccessFactors Homepage.jpg" alt="Access Joule on the SAP SuccessFactors Homepage" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Access Joule on the SAP SuccessFactors Homepage</span></span></A></P><P><A href="https://www.sap.com/products/hcm/ai-joule-product-tour.html" target="_blank" rel="noopener noreferrer">Start the product tour</A> to test Joule capabilities in SAP SuccessFactors yourself.<BR /><A href="https://help.sap.com/docs/joule/capabilities/enabling-joule-in-sap-successfactors?locale=en-US&amp;q=successfactors%20joule" target="_blank" rel="noopener noreferrer">Get started with the product documentation.</A><BR /><BR /></P><P>In addition, SAP SuccessFactors Recruiting customers can now create compelling job descriptions and interview questions with the help of generative AI.</P><UL><LI>Attracting the right talent begins with the right job description. That’s why our generative AI-powered assistant gives hiring managers and recruiters a huge jump start to write <A href="https://help.sap.com/docs/SAP_SUCCESSFACTORS_RELEASE_INFORMATION/8e0d540f96474717bbf18df51e54e522/3d7ea56ccee54308b23daa999f060d50.html?locale=en-US" target="_self" rel="noopener noreferrer">non-biased, compelling job descriptions</A>&nbsp;<SPAN>in seconds, while still allowing them to edit and improve it afterwards. </SPAN>Not only does it save a significant amount of time – from 2 hours to 5 minutes – as well as costs in creating job descriptions, but it also improves the quality of interviews and preparation. This, in turn, increases attractiveness as employer of choice, because potential applicants can sense the professionalism and attention to detail that the company brings to the hiring process.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Writing Job Descriptions in SAP SuccessFactors Recruiting" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/89971iA9BD6186C243CDAC/image-size/large?v=v2&amp;px=999" role="button" title="Writing Job Descriptions in SAP SuccessFactors Recruiting.png" alt="Writing Job Descriptions in SAP SuccessFactors Recruiting" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Writing Job Descriptions in SAP SuccessFactors Recruiting</span></span></P><UL><LI>Conducting an effective interview is crucial to ensuring you’re making the best hiring decision. Interviewers can now <A href="https://help.sap.com/docs/SAP_SUCCESSFACTORS_RELEASE_INFORMATION/8e0d540f96474717bbf18df51e54e522/df066fdc9d504be29bce371243ab561c.html?locale=en-US" target="_self" rel="noopener noreferrer">generate interview questions</A> based on the job description using generative AI capabilities and evaluate applicants in Microsoft Teams after they complete their interviews. AI-powered questions will make it easier for you to create an insightful discussion that dives deep into a candidate’s skills and potential. Your hiring process becomes more streamlined and ultimately leads to better hiring decisions.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Generating Interview Questions in SAP SuccessFactors Recruiting" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/89973i3FECF432802823AC/image-size/large?v=v2&amp;px=999" role="button" title="Generating Interview Questions in SAP SuccessFactors Recruiting.png" alt="Generating Interview Questions in SAP SuccessFactors Recruiting" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Generating Interview Questions in SAP SuccessFactors Recruiting</span></span></P><P>&nbsp;<SPAN>See how these new capabilities help organizations attract, develop and retain top talent:</SPAN></P><P><A href="https://www.sap.com/products/artificial-intelligence/human-resources.html?video=4096a78e-a67e-0010-bca6-c68f7e60039b" target="_blank" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Put Your People and Their Experiences First with SAP Business AI" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86652iD673E639ACB27761/image-size/large?v=v2&amp;px=999" role="button" title="Put Your People and Their Experiences First with SAP Business AI.png" alt="Put Your People and Their Experiences First with SAP Business AI" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Put Your People and Their Experiences First with SAP Business AI</span></span></A></P><H2 id="toc-hId--627263514"><STRONG><BR />Customer Experience</STRONG></H2><H3 id="toc-hId--1117180026"><STRONG>SAP CX AI Toolkit</STRONG></H3><P>Available for existing SAP CX users with SAP Sales Cloud, SAP Service Cloud or SAP Commerce Cloud (standard edition) solution licenses, SAP CX AI Toolkit empowers your sales, service and e-commerce teams with proactive and contextual generative AI:</P><UL><LI>Apply AI models to data from sales, service, and e-commerce, along with operational data, to help your teams make more intelligent decisions.</LI><LI>Enable your teams to use AI to automate routine tasks from right where they work using a stand-alone app or Joule.</LI><LI>Understand customers and answer their questions faster than ever before with proactive insights and answers derived from enterprise data.</LI></UL><P>Capabilities available for e-commerce teams:</P><UL><LI>Product Tagging: Unlock the full potential of your products by harnessing the power of AI to extract and enrich your product tags. Take your catalog to new heights.</LI><LI>Personalized Product Descriptions: Let generative AI transform your customer experience with personalized product descriptions that enrich your catalog data.</LI><LI>Visual Search: Improve product discovery - simplifying the process and delivering quick and accurate search results based on AI image detection.</LI><LI>Commerce AI Tools: Commerce role specific prompts utilizing CX data to generate a blog post, social media posts and more.</LI></UL><P>Capabilities available for sales teams:</P><UL><LI>Intelligent Customer Profile: <SPAN>Uncover insights with a 360-degree view of every customer</SPAN> <SPAN>through Customer Data Platform integration. Quickly view segment data and</SPAN> <SPAN>profile summarization contextually on top of email and</SPAN> <SPAN>Sales Cloud.</SPAN></LI><LI><SPAN>Sales AI Tools: Create your own AI Tools for unique business needs or utilize our standard sales role specific prompts utilizing CX data to generate dis</SPAN><SPAN>covery questions, emails and more.</SPAN></LI><LI><SPAN>Intelligent Q&amp;A</SPAN>: <SPAN>Proactively identify questions within your conversations and&nbsp;</SPAN><SPAN>deliver trusted answers from company knowledge.</SPAN></LI><LI><SPAN>Smart Scheduling: Streamline and optimize your calendar management, saving</SPAN> <SPAN>you time and ensuring efficient allocation of appointments</SPAN> <SPAN>with personalized AI responses.</SPAN></LI></UL><P><SPAN>Capabilities available for service teams:</SPAN></P><UL><LI>Intelligent Customer Profile: <SPAN>Uncover insights with a 360-degree view of every customer</SPAN> <SPAN>through Customer Data Platform integration. Quickly view segment data and</SPAN> <SPAN>profile summarization contextually on top of Service Cloud.</SPAN></LI><LI>Service AI Tools: <SPAN>Create your own AI Tools for unique business needs or utilize our standard s</SPAN><SPAN>ervice role specific prompts utilizing CX data to generate&nbsp;</SPAN><SPAN>responses, case overviews and more.</SPAN></LI><LI>Intelligent Q&amp;A: <SPAN>Proactively identify questions within your conversations and&nbsp;</SPAN><SPAN>deliver trusted answers from company knowledge.</SPAN></LI><LI>CX Record Summarization: Align your organization on customer issues, pathway to resolution, sentiment, and responsiveness with service and <SPAN>leadership specific case summaries.</SPAN></LI></UL><P><A href="https://www.sap.com/assetdetail/2023/12/6a24d794-9f7e-0010-bca6-c68f7e60039b.html" target="_blank" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Drive Profitable Growth with SAP CX AI Toolkit" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86679i075FE6F53E4A3AD4/image-size/large?v=v2&amp;px=999" role="button" title="Drive Profitable Growth with SAP CX AI Toolkit.png" alt="Drive Profitable Growth with SAP CX AI Toolkit" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Drive Profitable Growth with SAP CX AI Toolkit</span></span></A></P><P><A href="https://www.sap.com/products/crm/ai-toolkit.html" target="_blank" rel="noopener noreferrer">Learn more on the product page.</A><BR /><A href="https://help.sap.com/docs/CX_AI_Toolkit?version=CLOUD&amp;locale=en-US" target="_blank" rel="noopener noreferrer">Get started with the product documentation.</A><BR />Additional AI-powered functionalities are planned to be released as part of SAP CX AI Toolkit throughout 2024.</P><H3 id="toc-hId--1313693531"><STRONG><BR />SAP Sales &amp; Service Cloud Version 2</STRONG></H3><P>Generative AI-powered capabilities have also been introduced as part of SAP Service Cloud Version 2 and SAP Sales Cloud Version 2,&nbsp;enhancing sales &amp; service teams productivity:</P><UL><LI>Account Synopsis&nbsp;(in SAP Sales Cloud Version 2 &amp; SAP Service Cloud Version 2) summarizes all the information related to an account that helps the sales representatives, such as the business, the culture or the competitive landscape. It ensures that your team is always equipped with the latest information, enabling them to make well-informed decisions and deliver a superior customer experience.&nbsp;</LI><LI>Case Summary&nbsp;(in SAP Service Cloud Version 2) automatically fetches a text-based interaction (e.g. email) and pre-processes it. Display summary to customer service rep to quickly grasp the topic and simplify the agent experience.</LI><LI>Email Draft Recommender&nbsp;(in SAP Sales Cloud Version 2 &amp; SAP Service Cloud Version 2) generates a response email based on the previous email reply and purpose selected by the user for which an email needs to be drafted.</LI><LI>Lead Booster (in SAP Sales Cloud Version 2) provides tailored information that enhances the sales team’s understanding of the account’s needs and increases the likelihood of successful sales conversion.&nbsp;</LI></UL><P>Learn more on <A href="https://www.sap.com/products/crm/sales-cloud.html" target="_blank" rel="noopener noreferrer">SAP Sales Cloud</A> and <A href="https://www.sap.com/products/crm/service-cloud.html" target="_blank" rel="noopener noreferrer">SAP Service Cloud</A> product pages.&nbsp;<BR />Get started with&nbsp;<A href="https://help.sap.com/docs/CX_NG_SALES/ea5ff8b9460a43cb8765a3c07d3421fe/6e88df6e12e94f5f87024978399c2d40.html?locale=en-US" target="_blank" rel="noopener noreferrer">SAP Sales Cloud Version 2</A> and <A href="https://help.sap.com/docs/CX_NG_SVC/2c87cece32844c91836e535aef8f9642/bd9d187188f040d3bb9b45d1d11cf296.html?locale=en-US" target="_blank" rel="noopener noreferrer">SAP Service Cloud Version 2</A> product documentation pages.<BR /><BR />Watch the video below&nbsp;to see how SAP Business AI provides the backbone for understanding and responding to customer needs - helping you get from issue to resolution faster.&nbsp;</P><P><A href="https://www.sap.com/products/artificial-intelligence/sales.html?video=36e1a78e-a67e-0010-bca6-c68f7e60039b" target="_blank" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Provide Customer Service That’s Personalized and Fast with SAP Business AI" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86690i444DB8BF22B8D1E7/image-size/large?v=v2&amp;px=999" role="button" title="Provide Customer Service That’s Personalized and Fast with SAP Business AI.png" alt="Provide Customer Service That’s Personalized and Fast with SAP Business AI" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Provide Customer Service That’s Personalized and Fast with SAP Business AI</span></span></A></P><H3 id="toc-hId--1510207036"><STRONG><BR />SAP Emarsys Customer Engagement</STRONG></H3><P>Make the creation of subject lines intuitive for your email campaigns based on your natural language prompts! As part of SAP Emarsys Customer Engagement, Emarsys’ AI Subject Line Generator – currently in its pilot phase – uses AI to analyze your campaign content and generate multiple engaging and contextually relevant subject line options.</P><P>It saves time and effort by enabling marketers to create subject lines more efficiently, enhances creativity with a range of new subject-line ideas and enable data-driven decisions with the ability to A/B test AI-generated and traditional subject lines.</P><P><A href="https://emarsys.com/product-release/?utm_source=editorialoutreach&amp;utm_medium=referral&amp;utm_content=product-release&amp;wvideo=bzdzsykmce" target="_blank" rel="noopener nofollow noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="AI Subject Line Generator in SAP Emarsys Customer Engagement" style="width: 800px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86702i47F716B2288DB88B/image-size/large?v=v2&amp;px=999" role="button" title="AI Subject Line Generator in SAP Emarsys Customer Engagement.jpg" alt="AI Subject Line Generator in SAP Emarsys Customer Engagement" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">AI Subject Line Generator in SAP Emarsys Customer Engagement</span></span></A></P><P><A href="https://emarsys.com/" target="_blank" rel="noopener nofollow noreferrer">Explore additional capabilities on Emarsys’ website</A> that empower marketers to build, launch, and scale personalized&nbsp;cross-channel campaigns&nbsp;that drive business outcomes.</P><H2 id="toc-hId--1413317534"><STRONG><BR />Intelligent Spend and Business Network</STRONG></H2><H3 id="toc-hId--1903234046"><STRONG>SAP Ariba Category Management</STRONG></H3><P>Gone are the days of painstakingly updating category management tools manually. Category managers can now expedite the development of their category strategy with contextual insights and recommendations using generative AI and large language model (LLM) integration in SAP Ariba Category Management tools, such as&nbsp;Category Segmentation,&nbsp;Market Dynamics, and&nbsp;Cost Structure.</P><P>It normally takes 12 weeks to manually create a strategy for a new purchasing category, but with SAP&nbsp;Ariba Category Management, research on&nbsp;category specific information is available with a single click.&nbsp;This new generative AI-powered feature accelerates strategy and planning processes across multiple categories, reduces onboarding time and reliance on more senior category managers and helps adapt to market change with insight and agility.</P><P><A href="https://www.sap.com/products/spend-management/category-management-software.html?video=bccd241a-907e-0010-bca6-c68f7e60039b#gen-ai" target="_blank" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Powering Strategy Planning with Generative AI in SAP Ariba Category Management" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86703i0B3825FD0BDE192D/image-size/large?v=v2&amp;px=999" role="button" title="Powering Strategy Planning with Generative AI in SAP Ariba Category Management.png" alt="Powering Strategy Planning with Generative AI in SAP Ariba Category Management" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Powering Strategy Planning with Generative AI in SAP Ariba Category Management</span></span></A></P><P><A href="https://www.sap.com/products/spend-management/category-management-software.html" target="_blank" rel="noopener noreferrer">Learn more on the product page.</A><BR /><A href="https://help.sap.com/docs/categories/sap-ariba-category-management-user-guide/generative-ai-for-tools?locale=en-US&amp;version=2402" target="_blank" rel="noopener noreferrer">Get started with the product documentation.</A></P><H3 id="toc-hId--2099747551"><STRONG><BR />SAP Business Network</STRONG></H3><P>For suppliers, invoice creation can be one of your most inefficient and redundant processes. Every day, employees are manually keying data to submit invoices to customers.<BR />The introduction of the intelligent invoice conversion feature of SAP Business Network reduces the need for this error-prone manual approach to invoice data entry.<BR /><BR />The feature automatically converts your invoices from PDF and other scanned image files into an electronic format in SAP Business Network. It extracts your invoice data and automatically maps it to relevant fields in the electronic invoice and simplifies onboarding by providing a self-service setup process that guides supplier administrators through a streamlined workflow.</P><P>With intelligent invoice conversion, improve operational efficiency, reduce errors and rejected invoices, and receive payments faster.</P><P><A href="https://www.sap.com/products/business-network/innovations.html?video=34e85208-917e-0010-bca6-c68f7e60039b" target="_blank" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Intelligent Invoice Conversion in SAP Business Network" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86709i3A354D28367B536E/image-size/large?v=v2&amp;px=999" role="button" title="Intelligent Invoice Conversion in SAP Business Network.png" alt="Intelligent Invoice Conversion in SAP Business Network" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Intelligent Invoice Conversion in SAP Business Network</span></span></A></P><P><A href="https://www.sap.com/products/business-network.html" target="_blank" rel="noopener noreferrer">Learn more on the product page.</A><BR /><A href="https://help.sap.com/docs/business-network-for-trading-partners/business-network-invoicing/support-for-intelligent-invoice-conversion?locale=en-US&amp;version=2402" target="_blank" rel="noopener noreferrer">Get started with the product documentation.</A></P><H3 id="toc-hId-1998706240"><STRONG><BR />SAP Concur</STRONG></H3><P>AI is only as good as the quality and breadth of the data it draws upon, and SAP Concur is the global market leader in travel and expense solutions, with more than 92 million end users booking travel and/or processing expenses. For a decade, we have been infusing AI into SAP Concur solutions including ExpenseIt, Verify, Intelligent Audit, and Concur Invoice.</P><P>This quarter, we are excited to debut new Business AI capabilities in SAP Concur solutions:</P><P>Concur Request:&nbsp;Now uses generative AI to provide intelligent cost estimates for trip planning, saving employees time and effort. When the user creates the request, they enter their trip details such as the length of the trip and the destination. They will have the option to select from the following services that they want cost estimates for: flight or train; hotel; taxi. Request Assistant uses generative AI and the trip details provided by the user to provide estimated costs with explanations for the pricing.</P><P>The user can adjust, based on their needs for the trip, such as flight class, number of connections, hotel ratings, and then regenerate the estimated cost. The estimated costs are automatically added to the request as expected expenses. Subsequently, the user can choose to add additional expected expenses if needed or submit the request for approval.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Intelligent Cost Estimates for Trip Planning in Concur Request" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87601iA89AC172B7B33580/image-size/large?v=v2&amp;px=999" role="button" title="Intelligent Cost Estimates for Trip Planning in Concur Request.png" alt="Intelligent Cost Estimates for Trip Planning in Concur Request" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Intelligent Cost Estimates for Trip Planning in Concur Request</span></span></P><P><SPAN>ExpenseIt:&nbsp;We’ve also brought capabilities from ExpenseIt on mobile to the web interface so customers can upload receipt images to ExpenseIt web, where it taps AI to automatically create a new expense with several key fields prepopulated.</SPAN></P><P>Expense itemizations for hotel folios are cumbersome for end users to manually enter, and inaccurate itemizations can cause returned expense reports and rework. In fact, the median time to complete a report with manual hotel itemizations entries is about 17 minutes longer than an expense report with no manual hotel itemizations.&nbsp;&nbsp;</P><P>Using ExpenseIt, hotel itemizations can be processed for the end user in under 30 seconds, saving employee time while increasing accuracy.&nbsp;The recent generative AI update to the traditional AI ExpenseIt models increases the accuracy of hotel itemizations by 30% (as measured by 100% accurate itemizations) in pre-production testing.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Hotel Itemization in Concur ExpenseIt" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/87602iA9745F1BAC8488DC/image-size/large?v=v2&amp;px=999" role="button" title="Hotel Itemizations in Concur ExpenseIt.jpg" alt="Hotel Itemization in Concur ExpenseIt" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Hotel Itemization in Concur ExpenseIt</span></span></P><P><A href="https://www.sap.com/products/artificial-intelligence/finance.html#travel" target="_blank" rel="noopener noreferrer">Learn more about travel and expense with SAP Business AI.</A><BR /><SPAN>Get started with the </SPAN><A href="https://help.sap.com/docs/CONCUR_EXPENSE?locale=en-US&amp;version=2024_03" target="_blank" rel="noopener noreferrer">Concur Expense</A><SPAN> and </SPAN><A href="https://help.sap.com/docs/CONCUR_REQUEST?locale=en-US" target="_blank" rel="noopener noreferrer">Concur Request</A><SPAN> product documentation pages.</SPAN></P><H2 id="toc-hId-2095595742"><STRONG><BR />SAP Business Technology Platform (SAP BTP)</STRONG></H2><H3 id="toc-hId-1605679230"><STRONG>Document Information Extraction, premium edition</STRONG></H3><P>The existing Document Information Extraction service on SAP BTP has been supercharged with generative AI capabilities, introducing Document Information Extraction, premium edition.<BR />Businesses can now process documents intelligently across their entire business, with:</P><UL><LI>The automatic extraction of unstructured data by simply describing the required fields that you need, and watching the solution do the heavy lifting for nearly every document type.</LI><LI>The multilingual support for over 40 languages, catering to global businesses with diverse document types.</LI></UL><P>With neither manual annotation nor resource-intensive machine learning training required, business document processing use cases can now be onboarded in days instead of weeks or months, reducing the time-to-value drastically.</P><P><div class="video-embed-center video-embed"><iframe class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FsYn339TVYiU%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DsYn339TVYiU&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FsYn339TVYiU%2Fhqdefault.jpg&amp;key=b0d40caa4f094c68be7c29880b16f56e&amp;type=text%2Fhtml&amp;schema=youtube" width="200" height="112" scrolling="no" title="Automate Business Document Processing Using the Power of Generative AI" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"></iframe></div></P><P><A href="https://discovery-center.cloud.sap/serviceCatalog/document-information-extraction?region=all" target="_blank" rel="noopener nofollow noreferrer">Learn more on the SAP Discovery Center.</A><BR /><A href="https://developers.sap.com/mission.gen-ai-process-business-documents.html" target="_blank" rel="noopener noreferrer">Get started with this tutorial.</A></P><H3 id="toc-hId-1577349416"><STRONG><BR />Generative AI Hub in SAP AI Core and SAP AI Launchpad</STRONG></H3><P>SAP developers can expedite their generative AI development of SAP BTP applications in a secure and trusted way with the new Generative AI hub. This new capability gives streamlined access to a broad range of large language models (LLMs) from different providers (such as GPT-4 by Azure OpenAI or OpenSource Falcon-40b), facilitated in a more secure, harmonized, and orchestrated manner; thereby boosting efficiency and productivity.</P><P>Developers can orchestrate multiple models, whether programmatically via&nbsp;<A href="https://help.sap.com/docs/sap-ai-core/sap-ai-core-service-guide/generative-ai-hub-in-sap-ai-core?locale=en-US" target="_blank" rel="noopener noreferrer">SAP AI Core</A>&nbsp;or via the playground within&nbsp;<A href="https://help.sap.com/docs/ai-launchpad/sap-ai-launchpad/generative-ai-hub?locale=en-US" target="_blank" rel="noopener noreferrer">SAP AI Launchpad</A>, and ensure high-quality output by choosing the large language model that best aligns with their unique use case. They can leverage all features while relying on a data privacy policy and robust measures, ensuring secure and trusted operations.</P><P>Each generative AI model yields unique qualities and strengths. To meet customers’ needs for their business, SAP has made a strategic move to provide enterprise-grade access to the most common models through its generative AI hub as part of SAP AI Core.&nbsp;This includes leading cloud vendors as well as SAP-managed third-party models deployed on SAP’s own infrastructure for highest compliance standards.&nbsp;<BR /><SPAN>All available and upcoming generative AI-powered capabilities from SAP are running on the generative AI hub.<STRONG><BR /></STRONG></SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Generative AI Hub via SAP AI Launchpad" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86749i4B38CB177B26EE86/image-size/large?v=v2&amp;px=999" role="button" title="Generative AI Hub via SAP AI Launchpad.gif" alt="Generative AI Hub via SAP AI Launchpad" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Generative AI Hub via SAP AI Launchpad</span></span></P><P><A href="https://discovery-center.cloud.sap/serviceCatalog/sap-ai-core?region=all" target="_blank" rel="noopener nofollow noreferrer">Learn more on the SAP Discovery Center.</A>&nbsp;<BR /><A href="https://developers.sap.com/tutorials/ai-core-generative-ai.html" target="_blank" rel="noopener noreferrer">Get started with this tutorial.</A><BR /><A href="https://community.sap.com/t5/technology-blogs-by-sap/how-sap-s-generative-ai-architecture-redefines-business-applications/ba-p/13580679" target="_blank">See why the generative AI hub plays a core role</A> in how SAP's generative AI architecture redefines business applications.</P><H3 id="toc-hId-1380835911"><STRONG><BR />Just ask feature in SAP Analytics Cloud</STRONG></H3><P>Just ask is a natural language query interface available in SAP Analytics Cloud used to retrieve data that applies generative AI to search-driven analytics. Users can quickly access trusted insights in their preferred language&nbsp;regardless of expertise, helping to increase data literacy and analytics adoption for more fact-based decision-making.</P><P>By providing knowledge workers with self-service access to timely analytics, companies can improve their productivity by up to 5%. Instead of spending hours searching for data, they can focus on more strategic tasks that move their business forward.</P><P>Jusk ask users can search data easily and efficiently using business terms they are familiar with, by simply asking questions using natural language. Just ask will instantly provide answers as simple charts and tables. Working with data from acquired models or SAP Datasphere, users can query just ask to get quick answers to questions and incorporate the results into a story, export to CSV or Excel files, or for further exploration using the Data Analyzer tool.&nbsp;</P><P><A href="https://www.sap.com/products/technology-platform/cloud-analytics/features/generative-ai.html?video=7c9c5bd1-a97e-0010-bca6-c68f7e60039b" target="_blank" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Just ask in SAP Analytics Cloud" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86720i6C30BFCAB1E2CECE/image-size/large?v=v2&amp;px=999" role="button" title="Just ask in SAP Analytics Cloud.png" alt="Just ask in SAP Analytics Cloud" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Just ask in SAP Analytics Cloud</span></span></A></P><P><A href="https://www.sap.com/products/technology-platform/cloud-analytics.html" target="_blank" rel="noopener noreferrer">Learn more on the product page.</A><BR /><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/95dbe296761940c2bf4e18d54a20f3df.html?locale=en-US" target="_blank" rel="noopener noreferrer">Get started with the product documentation.</A></P><H3 id="toc-hId-1184322406"><STRONG><BR />SAP Build Code</STRONG></H3><P>SAP Build Code, our generative AI-based code development solution, is now generally available.<BR />With its integration of Joule, optimized for Java and JavaScript application development, it provides a turn-key environment for coding, testing, integrations, and application lifecycle management.</P><P>Developers can use generative AI to generate code and app logic aligned with SAP-centric programming models from natural language descriptions, create data models and sample data conforming to apps with the help of Joule, and produce rapid unit tests with AI for existing code to increase quality and precision.</P><P>The solution is also tailored for SAP development and secure collaboration across SAP Build low-code solutions and ABAP Cloud. It provides rapid extensibility of SAP S/4HANA and other SAP as well as non-SAP systems. It prebuilds integrations, APIs, and business services via the service center. Furthermore, it ensures proven security from SAP BTP for authentication, authorization, and SAP data protection.</P><P>With up to 30% faster application development and up to 30% improvement in application development cost, this is a game-changer for your enterprise. Say goodbye to the days of spending endless hours on code development and maintenance. Say hello to a more efficient and productive future with SAP Build Code.</P><P><A href="https://www.sap.com/products/technology-platform/developer-tools.html?video=88676ab0-947e-0010-bca6-c68f7e60039b" target="_blank" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Pro-code App Development with SAP Build Code" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/86725iC74D1B644DA45B0F/image-size/large?v=v2&amp;px=999" role="button" title="Pro-code App Development with SAP Build Code.png" alt="Pro-code App Development with SAP Build Code" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Pro-code App Development with SAP Build Code</span></span></A></P><P><A href="https://www.sap.com/products/technology-platform/developer-tools.html" target="_blank" rel="noopener noreferrer">Take the product tour</A> to experience the next generation of application development.<BR /><A href="https://help.sap.com/docs/build_code?version=SHIP&amp;locale=en-US" target="_blank" rel="noopener noreferrer">Get started with the product documentation.</A><BR /><BR /></P><H3 id="toc-hId-987808901">SAP HANA Cloud vector engine</H3><P>SAP HANA Cloud vector engine can natively store and search vector embeddings, which are numerical representations of objects, along with business data as part of its industry-leading multi-model processing capabilities to power intelligent data applications.<BR /><BR />With these vector capabilities, SAP HANA Cloud will enable Retrieval Augmented Generation (RAG), facilitating the combination of LLMs with private business data. These applications learn and adapt to new information, enabling automated decision-making.</P><P>Key benefits of the SAP HANA Cloud vector engine include:</P><UL><LI><STRONG>Multi-model</STRONG>: Users can unify all types of data into a single database to build innovative applications using an efficient data architecture and in-memory performance. By adding vector storage and processing to the same database already storing relational, graph, spatial, and even JSON data, application developers can create next-generation solutions that interact more naturally with the user.</LI><LI><STRONG>Enhanced search and analysis</STRONG>: Businesses can now apply semantic and similarity search to business processes using documents like contracts, design specifications, and even service call notes.</LI><LI><STRONG>Personalized recommendations</STRONG>: Users can benefit from an improved overall experience with more accurate and personalized suggestions.</LI><LI><STRONG>Optimized large language models</STRONG>: The output of LLMs is augmented with more effective and contextual data.</LI></UL><P><A href="https://www.sap.com/assetdetail/2023/12/08854b59-9f7e-0010-bca6-c68f7e60039b.html" target="_blank" rel="noopener noreferrer"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Retrieval Augmented Generation (RAG) and GenAI with SAP HANA Cloud Vector Engine" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/89656i59BA0776639B8C28/image-size/large?v=v2&amp;px=999" role="button" title="Retrieval Augmented Generation (RAG) and GenAI with SAP HANA Cloud Vector Engine.png" alt="Retrieval Augmented Generation (RAG) and GenAI with SAP HANA Cloud Vector Engine" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Retrieval Augmented Generation (RAG) and GenAI with SAP HANA Cloud Vector Engine</span></span></A></P><P><A href="https://influence.sap.com/sap/ino/#campaign/3614" target="_blank" rel="noopener noreferrer">Register to the Early Adopter Care program.</A><BR /><A href="https://events.sap.com/eur/2024-0404-sap-hana-vector-engine-webinar-global/en/home" target="_blank" rel="noopener noreferrer">Watch the introductory webinar.</A><BR /><A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-vector-engine-guide/sap-hana-cloud-sap-hana-database-vector-engine-guide?locale=en-US&amp;version=2024_1_QRC" target="_blank" rel="noopener noreferrer">Get started with the product documentation.</A></P><H2 id="toc-hId-1084698403"><STRONG><BR />Succeed Now with SAP Business AI</STRONG></H2><P>AI plays a pivotal role in SAP’s commitment to enable every organization to become a network of intelligent and sustainable enterprises.</P><P>With a focus on ethical and responsible AI, we are not only driving efficiency and productivity, but also ensuring that AI is used for the betterment of society. Our uniquely holistic perspective on the demands of global businesses &nbsp;continues to inspire us as we define the future of business AI.&nbsp;</P><P>Accelerate your SAP Business AI journey today:</P><UL><LI>Visit <A href="https://www.sap.com/products/artificial-intelligence.html" target="_blank" rel="noopener noreferrer">SAP.com/AI</A> and our <A href="https://pages.community.sap.com/topics/machine-learning" target="_blank" rel="noopener noreferrer">AI SAP Community page</A>&nbsp;for all SAP Business AI updates and announcements.</LI><LI>Explore the <A href="https://roadmaps.sap.com/board?range=FIRST-LAST&amp;FT=AI&amp;FT=GEN_AI#Q1%202024" target="_blank" rel="noopener noreferrer">SAP Roadmap Explorer</A> for a detailed view of upcoming product innovations.</LI></UL> 2024-03-27T09:51:25.335000+01:00 https://community.sap.com/t5/technology-blogs-by-sap/unleashing-ai-and-machine-learning-in-sales-advanced-price-volume/ba-p/13656140 Unleashing AI and Machine Learning in Sales: Advanced Price-Volume Forecasting with SAP Analytics Cl 2024-04-02T16:11:26.655000+02:00 dirkpelz https://community.sap.com/t5/user/viewprofilepage/user-id/82038 <P><STRONG>Introduction:</STRONG></P><P>In the ever-changing world of sales, organizations face the challenge of not only accurately planning their sales volume and revenue forecasts, but also considering the impact of price changes on those forecasts. In this blog post, I will talk about how companies can optimize their sales volume price planning using SAP Analytics Cloud and the "Content for Corp FP&amp;A" Rapid Sales Planning package included in their SAP Analytics Cloud license.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2024-04-02_15-36-08 Content Page.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/89982i65ADBD394C977494/image-size/large?v=v2&amp;px=999" role="button" title="2024-04-02_15-36-08 Content Page.png" alt="2024-04-02_15-36-08 Content Page.png" /></span></P><P>&nbsp;</P><P>In addition to the planning options in the rapid package, we have also built in reports and analyses to better understand the price-volume mix and incorporate the findings into our planning. If you are interested, I will be happy to discuss these options in a future blog.</P><P>Today we will focus in particular on the use of predictive scenarios made possible by machine learning and the integration of prices as an important influencing factor in the forecasts.</P><P>Using this example, I will show how existing content in the SAP Analytics Cloud can be easily adapted to benefit from machine learning forecasts (predictive scenario).</P><P><STRONG>&nbsp;</STRONG></P><P><STRONG>Sales volume price planning with SAP Analytics Cloud:</STRONG><STRONG>&nbsp;</STRONG></P><P>SAP Analytics Cloud offers companies a powerful platform for analyzing and planning their sales activities. With the free "Content for Corp FP&amp;A" Rapid Sales Planning package, companies receive ready-made dashboards and models that help them to create their sales forecasts quickly and accurately, taking price changes into account. In the standard package, the planner can plan very flexibly for volume, price, discounts and other variables. I would like to expand these options in the package with the functions of the SAP Analytics Cloud to include machine-generated forecasts. This reduces the manual effort involved in planning, as a large part of the forecasts can be generated from the automatic forecast.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2024-04-02_15-29-09 Plan Versions used.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/89987i51C7486053D811DE/image-size/large?v=v2&amp;px=999" role="button" title="2024-04-02_15-29-09 Plan Versions used.png" alt="2024-04-02_15-29-09 Plan Versions used.png" /></span></P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2024-04-02_14-54-03 Plan Prices.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/89983i9FAF387FCC2F349C/image-size/large?v=v2&amp;px=999" role="button" title="2024-04-02_14-54-03 Plan Prices.png" alt="2024-04-02_14-54-03 Plan Prices.png" /></span></P><P><STRONG>Predictive scenarios and machine learning:</STRONG></P><P>A crucial aspect of sales volume price planning is the use of predictive scenarios enabled by machine learning. These predictive scenarios analyze historical sales data and other relevant factors to automatically generate future sales forecasts taking price changes into account. The price changes are the future variables that the planner enters as influencing factors on the machine forecast in the forecast period.</P><P><STRONG>Integration of prices as an influencing factor:</STRONG><STRONG>&nbsp;</STRONG></P><P>An important component of sales volume price planning is the consideration of prices as an influencing factor on sales forecasts. By integrating price data into the analysis, companies can better understand how price changes will affect their future sales figures. This information enables companies to make informed decisions about their pricing strategy and adjust their sales forecasts accordingly. Here too, manual effort can be significantly reduced as the system automatically includes prices as an influencing factor in the forecasts.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2024-04-02_15-02-48 Pred Scenarion explain.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/89985iA44B22023670CBCB/image-size/large?v=v2&amp;px=999" role="button" title="2024-04-02_15-02-48 Pred Scenarion explain.png" alt="2024-04-02_15-02-48 Pred Scenarion explain.png" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2024-04-02_15-03-00 Result Prediction and Influencer.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/89986i74C864CDBBCC4F4C/image-size/large?v=v2&amp;px=999" role="button" title="2024-04-02_15-03-00 Result Prediction and Influencer.png" alt="2024-04-02_15-03-00 Result Prediction and Influencer.png" /></span></P><P><STRONG>A look into the future:</STRONG></P><P><STRONG>&nbsp;</STRONG></P><P>To demonstrate the effect of price changes on future sales figures, in our example company we plan to set an extreme price for bicycles ("Mountain Bike") in the month of March (actual data up to Sep/2023 is available in the example). By including this extreme price in our forecasts, we can see how this change will affect sales figures and what impact it will have on the overall sales target.</P><P><STRONG>Structure of the sceanrio in SAP Analytics Cloud:</STRONG></P><P>We need the following versions (scenarios):</P><UL><LI>Actual (actual data until Septmber 2023)</LI><LI>Plan (plan scenario, in which the future prices are also planned)</LI><LI>Predictive_ML (scenario in which actual data and future prices are transferred).</LI></UL><P>The "Predictive Forecast Scenario" is executed on a private copy of the Predictive_ML version. After the forecast run, the forecast values are transferred to the private version and can then be copied back to the Predictive_ML version. The execution of these actions (data actions) is triggered by the embedded button in my SAP Analytics Cloud story.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2024-04-02_15-44-472 PlanscheduleWithButton.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/89989i914DE7C03E4CA8CC/image-size/large?v=v2&amp;px=999" role="button" title="2024-04-02_15-44-472 PlanscheduleWithButton.png" alt="2024-04-02_15-44-472 PlanscheduleWithButton.png" /></span></P><P><STRONG>Conclusion</STRONG>:</P><P>Sales volume price planning is a crucial aspect of many companies' sales success. By using SAP Analytics Cloud and Predictive Scenarios, companies can improve their sales forecasts and make informed decisions about their sales strategy. The integration of prices as an influencing factor enables companies to better understand the impact of price changes on their sales figures and adapt their strategy accordingly. With a clear view into the future and a reduction in manual effort, companies can achieve their sales targets more effectively and ensure long-term success in sales. SAP Analytics Cloud and content packages such as Rapid Sales Planning and Analysis help with this.</P><P>I hope you found this blog post insightful and informative. If you have any questions, feedback, or ideas to share, please don't hesitate to reach out. Your input is valuable in shaping future discussions and content. Thank you for reading, and may your sales planning endeavors with SAP Anayltics Cloud be prosperous. Live long and prosper!</P><P>&nbsp;</P> 2024-04-02T16:11:26.655000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/adversarial-machine-learning-is-your-ai-based-component-robust/ba-p/13655793 Adversarial Machine Learning: is your AI-based component robust? 2024-04-02T22:29:27.157000+02:00 Former Member <P>The epoch of AI is already in motion and it will be touching our everyday lives more and more. This very same blog may have been written by using some AI-based module. The source code underlying this blog platforms may have been implemented together with some AI companion.</P><P>All this triggers a lot of excitement, but also some concerns, for sure in people having some security background (you know, the usual mood breakers).</P><P>How do we ensure that these AI-components will not jeopardize the security and safety of the system in which they will be integrated? There are already many examples of real AI-components that have been easily fooled with simple attacks (face recognition, autonomous driving, malware classification, etc). How can we make these AI-components more secure, robust, and resilient against these attacks?</P><P><EM><STRONG>Adversarial machine learning </STRONG></EM>(AML, in short) is the process of extracting information about the behavior and characteristics of an ML system and/or learning how to manipulate the inputs into an ML system in order to obtain a preferred outcome. As explained very well in the document released by NIST in Jan 2024 "Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations" [1], studying AML enables understanding how the AI system can be compromised and therefore how it can also be better protected against adversarial manipulations. AML, as discussed in [1], has a very broad scope, touching different security and privacy aspects of AI components. In particular, four main types of attacks are considered: (1) evasion, (2) data and model poisoning, (3) data and model privacy, and (4) abuse.</P><P>In collaboration with the <A href="https://sites.unica.it/pralab/" target="_blank" rel="noopener nofollow noreferrer">University of Cagliari</A>, <A href="https://www.pluribus-one.it/" target="_blank" rel="noopener nofollow noreferrer">Pluribus one</A>, and <A href="https://www.eurecom.fr/en/research/networking-and-security-department" target="_blank" rel="noopener nofollow noreferrer">Eurecom</A>, we started a PhD subject in October 2022 focusing on "Security Testing for AI components", mainly targeting evasion attacks. The rest of this blog will introduce this line of study and mention what we have been done so far.</P><H2 id="toc-hId-990770941">Security Testing for AI components</H2><P>In our work we study <EM>evasion attacks</EM> in multiple industrial domains to understand how and at which extent these attacks can be mitigated. Concretely, we aim to contribute to the community effort toward an open-source testing platform for AI components. We are currently channeling our work into <A href="https://github.com/pralab/secml-torch" target="_blank" rel="noopener nofollow noreferrer">SecML-Torch</A>, an open-source Python library designed to evaluate the robustness of AI components. The ultimate goal for us is to build a feedback loop based on <EM>adversarial retraining</EM> to increase the robustness of the AI component under-test.</P><P>In an evasion attack, the adversary’s goal is to generate <EM>adversarial examples</EM> to alter AI model behavior, i.e., fool its classification result.</P><P>Depending on the situation, the adversary may have <EM>perfect</EM> (white-box), <EM>partial</EM> (gray-box), or <EM>very limited knowledge</EM> (black-box) of the AI system under-testing.&nbsp; In the first case, attackers can stage powerful gradient-based attacks, and they can easily guide the optimization of adversarial examples with the full observability of the victim AI model itself. A classical example of partial knowledge is when the attacker knows the learning algorithm and the feature representation, but not the model weights and training data. In black-box scenarios,&nbsp; the attacker does not know the AI system under-testing and can only access it via queries.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="LucaCompagna_1-1712075825295.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/90071i714FC74D8B240EC0/image-size/medium?v=v2&amp;px=400" role="button" title="LucaCompagna_1-1712075825295.png" alt="LucaCompagna_1-1712075825295.png" /></span></P><P>In our study, we focused so far on gray-box and black-box scenarios. As industrial domains we have been targeting Web Application Firewall (WAF) and Anti-Phishing classifiers. Both these domains are consuming more and more AI, with their classifiers getting advantage of complex AI models trained on many historical data (e.g., <A href="https://blog.cloudflare.com/waf-ml" target="_self" rel="nofollow noopener noreferrer">CloudFlare ML WAF</A>, <A href="https://www.vadesecure.com/en/solutions/anti-phishing-2/" target="_self" rel="nofollow noopener noreferrer"><SPAN><SPAN class="">Anti-phishing Vade Secure</SPAN></SPAN></A>). Creating adversarial examples for these industrial domains is more challenging than doing it for simpler domains such as image recognition. Indeed the input space the attacker can play with is more elaborated than adding noise to the different pixels of an image.</P><P>Our work on adversarial machine learning for WAF is already well explained in this <A href="https://medium.com/@ariudvd/the-rise-and-fall-of-modsecurity-and-the-owasp-core-rule-set-thanks-respectively-to-robust-and-f7fcd3e6d3e2" target="_self" rel="nofollow noopener noreferrer">blog</A> [2] written by Davide Ariu CEO at Pluribus One. For the reader interested to the full technical details, I can suggest our paper pre-print "Adversarial ModSecurity: Countering Adversarial SQL Injections with Robust Machine Learning" <A href="https://arxiv.org/abs/2308.04964" target="_blank" rel="noopener nofollow noreferrer">here</A> [3]. In summary we showed how</P><UL><LI>full rule-based WAF (e.g., ModSecurity and its Core Rule Set) are of little help in blocking SQL injections in complex WAF scenarios</LI><LI>ML and adversarial retraining can improve and significantly raise the security bar in those scenario</LI></UL><P>For our study on Anti-phishing, we will write a specific blog as continuation of this one. Full details are available in our paper "Raze to the Ground: Query-Efficient Adversarial HTML Attacks on Machine-Learning Phishing Webpage Detectors" available <A href="https://dl.acm.org/doi/10.1145/3605764.3623920" target="_self" rel="nofollow noopener noreferrer">here</A> [4]. The manipulations created for this work will be soon available in <A href="https://github.com/pralab/secml-torch" target="_blank" rel="noopener nofollow noreferrer">SecML-Torch</A>.</P><P>Let me finish by thanking the main leader of all this line of research: Biagio Montaruli, our fellow PhD candidate.</P><H2 id="toc-hId-794257436">References</H2><UL><LI>[1] NIST. Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations. Jan 2024.</LI><LI>[2] Davide Ariu. The rise and fall of ModSecurity and the OWASP Core Rule Set (thanks, respectively, to robust and adversarial machine learning). Medium. Oct 2023.</LI><LI>[3] Biagio Montaruli et al. Adversarial ModSecurity: Countering Adversarial SQL Injections with Robust Machine Learning. arXiv:2308.04964. Aug 2023.</LI><LI><SPAN class="">[4] </SPAN>Biagio Montaruli et al. Raze to the Ground: Query-Efficient Adversarial HTML Attacks on Machine-Learning Phishing Webpage Detectors. <SPAN class="">Artificial Intelligence and Security. Nov 2023.</SPAN></LI></UL> 2024-04-02T22:29:27.157000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/ai-foundation-on-sap-btp-q1-2024-release-highlights/ba-p/13639750 AI Foundation on SAP BTP: Q1 2024 Release Highlights 2024-04-05T09:47:35.574000+02:00 Paul_P https://community.sap.com/t5/user/viewprofilepage/user-id/64 <P style=" text-align : left; "><SPAN>AI Foundation is SAP’s all-in-one AI toolkit, offering developers AI that’s ready-to-use, customizable, grounded in business data, and supported by leading generative AI foundation models. It is also the basis for AI capabilities that SAP embeds across its portfolio.</SPAN></P><P style=" text-align : left; "><SPAN><SPAN>If you are not already familiar with the different capabilities of the AI Foundation stack represented below, read this introductory&nbsp;<A href="https://blogs.sap.com/2023/11/30/ai-foundation-saps-all-in-one-ai-toolkit-for-developers/" target="_blank" rel="noopener noreferrer">blog post.<BR /><BR /></A></SPAN></SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AI-Foundation-SAP-BTP.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/81465i6E1061D8322B1D6B/image-size/large?v=v2&amp;px=999" role="button" title="AI-Foundation-SAP-BTP.png" alt="AI-Foundation-SAP-BTP.png" /></span><SPAN><SPAN><BR /><SPAN>Let's delve into the Q1 2024 release highlights of the AI Foundation, including innovations for the Document Information Extraction service, SAP Translation Hub, SAP AI Core and SAP HANA Cloud.</SPAN>&nbsp;</SPAN></SPAN></P><H2 id="toc-hId-989042936"><STRONG><SPAN>AI Services<SPAN>&nbsp;</SPAN></SPAN></STRONG></H2><H3 id="toc-hId-921612150"><STRONG><SPAN>Document Processing -&nbsp;<A href="https://discovery-center.cloud.sap/index.html#/serviceCatalog/document-information-extraction?region=all" target="_self" rel="nofollow noopener noreferrer">Document Information Extraction<BR /></A></SPAN></STRONG></H3><P style=" text-align : left; "><STRONG><SPAN><SPAN><STRONG>New:&nbsp;<SPAN class=""><SPAN class="">Combine Different Setup Types When Adding Data Fields to Schemas</SPAN></SPAN></STRONG></SPAN></SPAN></STRONG></P><P style=" text-align : left; "><SPAN>Users can now combine header fields with different setup types in the same schema.<BR />They can add header fields with the following setup types to a schema created for a standard document type (e.g. invoice) or custom document type:&nbsp;<SPAN>&nbsp;</SPAN></SPAN></P><UL style=" text-align : left; "><LI><SPAN>auto (with and without a default extractor)<SPAN>&nbsp;</SPAN></SPAN></LI><LI><SPAN><SPAN>manual<SPAN>&nbsp;</SPAN></SPAN></SPAN></LI></UL><P>This extends the scope of the existing standard schemas from SAP, such as for the invoice document and reduce time to value for new business fields (key-value pairs) that need to be extracted from documents.<SPAN>&nbsp;</SPAN></P><P><STRONG>New:&nbsp;<SPAN class=""><SPAN class="">Conversion of Country Specific Unit of Measure Values to&nbsp;ISO&nbsp;Format</SPAN></SPAN></STRONG></P><P><SPAN>The conversion of country specific unit of measure values into ISO format for invoice documents has been improved.<SPAN>&nbsp;For instance, t<SPAN>he processing of certain locale-specific unit of measures (e.g. German 'Stk.' for 'Stück' / 'piece'). Users can expect improved quality of extraction and faster business process execution.<SPAN>&nbsp;</SPAN></SPAN></SPAN></SPAN></P><P><STRONG>New:&nbsp;Purchase order number extraction from line-item level&nbsp;</STRONG></P><P><SPAN>Users can extract purchase order numbers that are available on-line item field level from invoice documents.<SPAN>&nbsp;It allows a faster&nbsp;<SPAN>execution of accounts payable processes when there are multiple PO numbers listed in the tables of supplier invoices.</SPAN></SPAN></SPAN></P><P><STRONG>New:&nbsp;New Invoice Supported Language –&nbsp;Japanese</STRONG></P><P><SPAN>The Document Information Extraction service supports now the Japanese language for invoice documents, improving global coverage.</SPAN></P><P><STRONG>New: Better Models for the Extraction of Standard Document Types</STRONG></P><P>The machine learning models for the extraction of&nbsp;<EM><SPAN class="">invoice,&nbsp;<EM><SPAN class="">paymentAdvice, and&nbsp;<EM><SPAN class="">purchaseOrder&nbsp;</SPAN></EM></SPAN></EM></SPAN></EM><SPAN class=""><SPAN class=""><SPAN class="">documents have been improved.&nbsp;</SPAN></SPAN></SPAN><SPAN class=""><SPAN class=""><SPAN class="">Users can expect improvements in particular when extracting dates, amounts, tax ID, bank accounts.&nbsp;</SPAN></SPAN></SPAN></P><UL><LI><SPAN>Invoices: higher extraction accuracy can be expected for Japan, Hungary, Türkiye, and Romania.&nbsp;<SPAN>&nbsp;</SPAN></SPAN></LI><LI><SPAN>Purchase orders: improved extraction accuracy can be expected for Spanish purchase orders.</SPAN></LI><LI><SPAN><SPAN>Payment advice: more consistent column extraction and improved extraction of amounts in line-items.</SPAN></SPAN></LI></UL><P>Get started with <A href="https://discovery-center.cloud.sap/index.html#/serviceCatalog/document-information-extraction?region=all" target="_self" rel="nofollow noopener noreferrer">Document Information Extraction.</A></P><H3 id="toc-hId-725098645"><STRONG><SPAN>Machine Translation -&nbsp;<A href="https://discovery-center.cloud.sap/index.html#/serviceCatalog/sap-translation-hub?region=all" target="_self" rel="nofollow noopener noreferrer">SAP Translation Hub</A></SPAN></STRONG></H3><P><STRONG>New: User settings for the document translation UI&nbsp;</STRONG></P><P><SPAN>Users can define the preferred UI language and theme in the application, which will be carried over across software and document translation UIs, thus improving the overall user experience.<SPAN>&nbsp;<SPAN>They can also define the preferred source and target languages to translate content using the application, which will apply only while using the document translation UI. It automates the translation process by not having to define the source and target language every time the application opens.<SPAN>&nbsp;</SPAN></SPAN></SPAN></SPAN></P><P><STRONG>New: Updated tile in SAP BTP</STRONG></P><P><SPAN class=""><SPAN class="">As part of the efforts of migrating the application<SPAN class=""> for <SPAN class="">software <SPAN class="">translation<SPAN class=""> to the multi-cloud environment, the tile available on SAP Business Technology Platform has been renamed, from Document Translation to SAP Translation Hub. <SPAN class="">T<SPAN class="">hat’s <SPAN class="">one of the last steps towards completing the migration planned in Q2 2024.<STRONG><BR /></STRONG></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></P><P><SPAN class=""><SPAN class="">Get started with <A href="https://discovery-center.cloud.sap/index.html#/serviceCatalog/sap-translation-hub?region=all" target="_self" rel="nofollow noopener noreferrer">SAP Translation Hub.</A></SPAN></SPAN></P><H2 id="toc-hId-399502421">Generative AI Management &amp; AI Workload Management</H2><H3 id="toc-hId-332071635"><STRONG><SPAN class=""><A href="https://discovery-center.cloud.sap/index.html#/serviceCatalog/sap-ai-core?region=all" target="_self" rel="nofollow noopener noreferrer">SAP AI Core</A></SPAN></STRONG></H3><P><STRONG><SPAN class=""><SPAN class="">New:&nbsp;Availability of additional large language models in the generative AI hub</SPAN></SPAN></STRONG></P><P><SPAN>Integration of additional large language models (LLM):</SPAN></P><UL><LI>Google PaLM 2 for text (text-bison), PaLM 2 for chat (chat-bison), and embeddings for text (textembedding-gecko)</LI><LI>Google Gemini Pro</LI><LI>Updates to Microsoft Azure OpenAI model versions</LI></UL><P>You can now leverage a greater selection of "best-to-fit" LLMs for your use case, ease exploration over market-leading generative AI models, without the need to go through lengthy contractual, legal discussions and finally harmonize lifecycle management across models.</P><P>Find more information <A href="https://me.sap.com/notes/3437766" target="_blank" rel="noopener noreferrer">here</A>.</P><P><STRONG><SPAN class=""><SPAN class="">New: <SPAN class="">SDK for support of large language models<BR /></SPAN></SPAN></SPAN></STRONG></P><P><SPAN>We introduced a series of features in SAP AI Core:<SPAN>&nbsp;</SPAN></SPAN></P><UL><LI><SPAN>Technical libraries that simplify inference on large language models (LLMs) by automatically injecting the correct headers and paths into each request. It improves the extensibility, allowing users to add additional adaptations as needed.<SPAN>&nbsp;</SPAN></SPAN></LI><LI><SPAN>Tooling for the effective integration and use of LLMs with LangChain in the context of the generative AI hub. It simplifies the developer experience with ready-to-use libraries for access to LLMs deployed using the generative AI hub.<SPAN>&nbsp;</SPAN></SPAN></LI><LI><SPAN><SPAN>A new library, the </SPAN></SPAN><A href="https://pypi.org/project/generative-ai-hub-sdk/" target="_self" rel="nofollow noopener noreferrer">ai-core-llm-sdk</A>, in addition to enhancements to the existing <EM>ai-core-sdk</EM>, to accommodate the required changes to support LLM access. It boosts efficiency when working with various LLM models by streamlining the deployment of LLM models and the querying of available models.</LI></UL><P>Get started with <A href="https://discovery-center.cloud.sap/index.html#/serviceCatalog/sap-ai-core?region=all" target="_self" rel="nofollow noopener noreferrer">SAP AI Core.</A></P><H2 id="toc-hId-6475411"><STRONG><SPAN>Business Data &amp; Context<SPAN>&nbsp;</SPAN></SPAN></STRONG></H2><H3 id="toc-hId--60955375"><A href="https://discovery-center.cloud.sap/missiondetail/3643/3686/" target="_blank" rel="noopener nofollow noreferrer"><STRONG><SPAN>SAP HANA Cloud</SPAN></STRONG></A></H3><P><STRONG>New: Support for storage and retrieval of vector embeddings in SAP HANA Cloud, called SAP HANA Cloud vector engine&nbsp;<SPAN>&nbsp;</SPAN></STRONG></P><P><SPAN>A vector datastore manages unstructured data - such as text, images, or audio - in high-dimensional vector space as vector embeddings, to provide long-term memory and better context to AI models. This makes it easy to find and retrieve similar objects quickly, for example, by asking a question using natural language. This both simplifies interactions with large language models (LLMs) and empowers developers to securely implement generative AI in applications.<SPAN>&nbsp;</SPAN></SPAN></P><P>SAP HANA Cloud vector engine can now natively store and search vector embeddings, which are numerical representations of objects, along with business data as part of its industry-leading multi-model processing capabilities to power intelligent data applications.</P><P>With these vector capabilities, SAP HANA Cloud will enable Retrieval Augmented Generation (RAG), facilitating the combination of LLMs with private business data. These applications learn and adapt to new information, enabling automated decision-making.</P><P>Key benefits of the SAP HANA Cloud vector engine include:</P><UL><LI><STRONG>Multi-model</STRONG>: Users can unify all types of data into a single database to build innovative applications using an efficient data architecture and in-memory performance. By adding vector storage and processing to the same database already storing relational, graph, spatial, and even JSON data, application developers can create next-generation solutions that interact more naturally with the user.</LI><LI><STRONG>Enhanced search and analysis</STRONG>: Businesses can now apply semantic and similarity search to business processes using documents like contracts, design specifications, and even service call notes.</LI><LI><STRONG>Personalized recommendations</STRONG>: Users can benefit from an improved overall experience with more accurate and personalized suggestions.</LI><LI><STRONG>Optimized large language models</STRONG>: The output of LLMs is augmented with more effective and contextual data.</LI></UL><P>To deep dive into the&nbsp;<SPAN>SAP HANA Cloud Vector Engine, read these blog posts by our experts:</SPAN></P><UL><LI><A href="https://community.sap.com/t5/technology-blogs-by-sap/vectorize-your-data-sap-hana-cloud-s-vector-engine-for-unified-data/ba-p/13579558" target="_blank"><SPAN>Vectorize your Data: SAP HANA Cloud's Vector Engine for Unified Data Excellence</SPAN></A></LI><LI><A href="https://community.sap.com/t5/technology-blogs-by-sap/from-developer-s-desk-sap-hana-cloud-vector-engine/ba-p/13589792" target="_blank"><SPAN>From Developer's Desk: SAP HANA Cloud Vector Engine</SPAN></A></LI></UL><H2 id="toc-hId--386551599"><STRONG>Build business-ready AI applications with SAP and stay updated!&nbsp;</STRONG></H2><UL><LI><SPAN>Leverage the AI Foundation capabilities by visiting the <A href="https://discovery-center.cloud.sap/index.html#/viewServices?category=ai" target="_self" rel="nofollow noopener noreferrer">SAP Discovery Center</A>. Compare and select the service that fits most to your business needs. </SPAN></LI><LI><SPAN>Explore the <A href="https://roadmaps.sap.com/board?range=FIRST-LAST&amp;PRODUCT=73554900100800002858&amp;PRODUCT=73554900100800002861&amp;PRODUCT=73554900100800002881&amp;PRODUCT=73554900100800003641&amp;PRODUCT=73554900100800003847&amp;PRODUCT=73555000100800000086&amp;PRODUCT=73555000100800003283#Q4%202023" target="_self" rel="noopener noreferrer">AI Foundation roadmap</A> to discover past and upcoming innovations.&nbsp;</SPAN></LI><LI><SPAN><SPAN>Engage with our community of SAP experts through <A href="https://pages.community.sap.com/topics/machine-learning" target="_self" rel="noopener noreferrer">Q&amp;A and blog posts</A>.</SPAN></SPAN></LI></UL><P>See you next quarter for exciting innovations!</P> 2024-04-05T09:47:35.574000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/forecast-local-explanation-with-automated-predictive-apl/ba-p/13660583 Forecast Local Explanation with Automated Predictive (APL) 2024-04-05T15:42:30.582000+02:00 marc_daniau https://community.sap.com/t5/user/viewprofilepage/user-id/187920 <P>In HANA ML 2.20, APL introduces a new tab “Local Explanations” in the time series HTML report. This new tab includes a waterfall chart showing how each component of the time series model contributed to individual forecasts. Thanks to this visualization end users will be able to better understand how individual forecasts are generated by the predictive model. This feature requires APL 2325 or a later version.</P><P>Let’s create a Jupyter notebook to see how it works.</P><P>We will use a daily number of visits for a touristic site. This series has two candidate predictors, Weather and Temperature, that can help improve the forecast accuracy.</P><P>We first define the HANA dataframe for the input series:</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code>from hana_ml import dataframe as hd conn = hd.ConnectionContext(userkey='MLMDA_KEY') series_in = conn.table('DAILY_VISITS', schema='APL_SAMPLES') series_in.head(7).collect()</code></pre><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="IMG_01.png" style="width: 325px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91981i9542540DD8410491/image-dimensions/325x249?v=v2" width="325" height="249" role="button" title="IMG_01.png" alt="IMG_01.png" /></span></P><P>Then we fit the historical data and extrapolate 7 days ahead:</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code>from hana_ml.algorithms.apl.time_series import AutoTimeSeries apl_model = AutoTimeSeries(time_column_name= 'Day', target= 'Visits', horizon= 7, last_training_time_point='2023-12-17 00:00:00') series_out = apl_model.fit_predict(data = series_in, build_report=True) df_out = series_out.collect()</code></pre><P>&nbsp;</P><P>Last, we generate the HTML report:</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code>apl_model.generate_html_report('my_html') apl_model.generate_notebook_iframe_report()</code></pre><P>&nbsp;</P><P>Here are the 7 values in the horizon presented in a table:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="IMG_02.png" style="width: 616px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91982i2BFDC69AA6757287/image-dimensions/616x355?v=v2" width="616" height="355" role="button" title="IMG_02.png" alt="IMG_02.png" /></span></P><P>The forecasted value for December 19th is: 377. To see how this number is decomposed w<SPAN>e go to the Local Explanations tab:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="IMG_03.png" style="width: 724px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91984i16C940E047A6F180/image-dimensions/724x281?v=v2" width="724" height="281" role="button" title="IMG_03.png" alt="IMG_03.png" /></span></P><P>The data used to build the waterfall chart comes from the following tabular report:</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code>df = apl_model.get_debrief_report('TimeSeries_ForecastBreakdown').deselect('Oid').collect() df.style.hide(axis='index')</code></pre><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-left" image-alt="IMG_04.png" style="width: 492px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/91986iA4E47844A43F0DB7/image-dimensions/492x385?v=v2" width="492" height="385" role="button" title="IMG_04.png" alt="IMG_04.png" /></span></P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P style=" text-align : left; ">&nbsp;</P><P>&nbsp;</P><P><A href="https://help.sap.com/viewer/p/apl" target="_blank" rel="noopener noreferrer">To know more about APL</A></P> 2024-04-05T15:42:30.582000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/adversarial-machine-learning-is-your-ai-based-component-robust/ba-p/13664074 Adversarial Machine Learning: is your AI-based component robust? 2024-04-09T16:37:43.380000+02:00 LucaCompagna https://community.sap.com/t5/user/viewprofilepage/user-id/199108 <P>The epoch of AI is already in motion and it will be touching our everyday lives more and more. This very same blog may have been written by using some AI-based module. The source code underlying this blog platforms may have been implemented together with some AI companion.</P><P>All this triggers a lot of excitement, but also some concerns, for sure in people having some security background (you know, the usual mood breakers).</P><P>How do we ensure that these AI-components will not jeopardize the security and safety of the system in which they will be integrated? There are already many examples of real AI-components that have been easily fooled with simple attacks (face recognition, autonomous driving, malware classification, etc). How can we make these AI-components more secure, robust, and resilient against these attacks?</P><P><STRONG><EM>Adversarial machine learning </EM></STRONG>(AML, in short) is the process of extracting information about the behavior and characteristics of an ML system and/or learning how to manipulate the inputs into an ML system in order to obtain a preferred outcome. As explained very well in the document released by NIST in Jan 2024 "Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations" [1], studying AML enables understanding how the AI system can be compromised and therefore how it can also be better protected against adversarial manipulations. AML, as discussed in [1], has a very broad scope, touching different security and privacy aspects of AI components. In particular, four main types of attacks are considered: (1) evasion, (2) data and model poisoning, (3) data and model privacy, and (4) abuse.</P><P>In collaboration with the <A href="https://sites.unica.it/pralab/" target="_blank" rel="noopener nofollow noreferrer">University of Cagliari</A>, <A href="https://www.pluribus-one.it/" target="_blank" rel="noopener nofollow noreferrer">Pluribus one</A>, and <A href="https://www.eurecom.fr/en/research/networking-and-security-department" target="_blank" rel="noopener nofollow noreferrer">Eurecom</A>, we started a PhD subject in October 2022 focusing on "Security Testing for AI components", mainly targeting evasion attacks. The rest of this blog will introduce this line of study and mention what we have been done so far.</P><H2 id="toc-hId-991657883"><STRONG>Security Testing for AI components</STRONG></H2><P>In our work we study <EM>evasion attacks</EM> in multiple industrial domains to understand how and at which extent these attacks can be mitigated. Concretely, we aim to contribute to the community effort toward an open-source testing platform for AI components. We are currently channeling our work into <A href="https://github.com/pralab/secml-torch" target="_blank" rel="noopener nofollow noreferrer">SecML-Torch</A>, an open-source Python library designed to evaluate the robustness of AI components. The ultimate goal for us is to build a feedback loop based on <EM>adversarial retraining</EM> to increase the robustness of the AI component under-test.</P><P>In an evasion attack, the adversary’s goal is to generate <EM>adversarial examples</EM> to alter AI model behavior, i.e., fool its classification result.</P><P>Depending on the situation, the adversary may have <EM>perfect</EM> (white-box), <EM>partial</EM> (gray-box), or <EM>very limited knowledge</EM> (black-box) of the AI system under-testing.&nbsp; In the first case, attackers can stage powerful gradient-based attacks, and they can easily guide the optimization of adversarial examples with the full observability of the victim AI model itself. A classical example of partial knowledge is when the attacker knows the learning algorithm and the feature representation, but not the model weights and training data. In black-box scenarios,&nbsp; the attacker does not know the AI system under-testing and can only access it via queries.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="LucaCompagna_0-1712665239133.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/93705iF9F4333ADB5F5438/image-size/medium?v=v2&amp;px=400" role="button" title="LucaCompagna_0-1712665239133.png" alt="LucaCompagna_0-1712665239133.png" /></span></P><P>In our study, we focused so far on gray-box and black-box scenarios. As industrial domains we have been targeting Web Application Firewall (WAF) and Anti-Phishing classifiers. Both these domains are consuming more and more AI, with their classifiers getting advantage of complex AI models trained on many historical data (e.g., <A href="https://blog.cloudflare.com/waf-ml" target="_blank" rel="noopener nofollow noreferrer">CloudFlare ML WAF</A>, <A href="https://www.vadesecure.com/en/solutions/anti-phishing-2/" target="_blank" rel="noopener nofollow noreferrer">Anti-phishing Vade Secure</A>). Creating adversarial examples for these industrial domains is more challenging than doing it for simpler domains such as image recognition. Indeed the input space the attacker can play with is more elaborated than adding noise to the different pixels of an image.</P><P>Our work on adversarial machine learning for WAF is already well explained in this <A href="https://medium.com/@ariudvd/the-rise-and-fall-of-modsecurity-and-the-owasp-core-rule-set-thanks-respectively-to-robust-and-f7fcd3e6d3e2" target="_blank" rel="noopener nofollow noreferrer">blog</A> [2] written by Davide Ariu CEO at Pluribus One. For the reader interested to the full technical details, I can suggest our paper pre-print "Adversarial ModSecurity: Countering Adversarial SQL Injections with Robust Machine Learning" <A href="https://arxiv.org/abs/2308.04964" target="_blank" rel="noopener nofollow noreferrer">here</A> [3]. In summary we showed how</P><UL><LI>full rule-based WAF (e.g., ModSecurity and its Core Rule Set) are of little help in blocking SQL injections in complex WAF scenarios</LI><LI>ML and adversarial retraining can improve and significantly raise the security bar in those scenario</LI></UL><P>For our study on Anti-phishing, we will write a specific blog as continuation of this one. Full details are available in our paper "Raze to the Ground: Query-Efficient Adversarial HTML Attacks on Machine-Learning Phishing Webpage Detectors" available <A href="https://dl.acm.org/doi/10.1145/3605764.3623920" target="_blank" rel="noopener nofollow noreferrer">here</A> [4]. The manipulations created for this work will be soon available in <A href="https://github.com/pralab/secml-torch" target="_blank" rel="noopener nofollow noreferrer">SecML-Torch</A>.</P><P>Let me finish by thanking the main leader of all this line of research: Biagio Montaruli, our fellow PhD candidate.</P><H2 id="toc-hId-795144378"><STRONG>References</STRONG></H2><UL><LI>[1] NIST. Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations. Jan 2024.</LI><LI>[2] Davide Ariu. The rise and fall of ModSecurity and the OWASP Core Rule Set (thanks, respectively, to robust and adversarial machine learning). Medium. Oct 2023.</LI><LI>[3] Biagio Montaruli et al. Adversarial ModSecurity: Countering Adversarial SQL Injections with Robust Machine Learning. arXiv:2308.04964. Aug 2023.</LI><LI>[4] Biagio Montaruli et al. Raze to the Ground: Query-Efficient Adversarial HTML Attacks on Machine-Learning Phishing Webpage Detectors. Artificial Intelligence and Security. Nov 2023.</LI></UL> 2024-04-09T16:37:43.380000+02:00 https://community.sap.com/t5/spend-management-blogs-by-sap/ai-amp-external-workforce-a-new-technology-trend-that-unlocks-tremendous/ba-p/13670587 AI & External Workforce: A New Technology Trend that unlocks tremendous value to businesses. 2024-04-15T09:48:41.091000+02:00 djgchristian https://community.sap.com/t5/user/viewprofilepage/user-id/125323 <P>As companies continue to embrace the idea of digital transformation, integrating Artificial Intelligence into external workforce management offers them numerous chances to improve productivity and streamline processes. Thanks to modern technological advancements, particularly AI, tasks can now be completed more effectively and intelligently than ever before.</P><P>Through AI, companies can boost their organizations’ productivity and advance their talent strategies as it relates to the external workforce. This is business critical, as external workers provide a breadth of skills and contributions to a company’s total workforce. Let's take a closer look at some of these significant developments that artificial intelligence is revolutionizing and how they can work together to help both businesses and external workers&nbsp; reach their full potential:</P><P><STRONG>Boost Productivity through Process Excellence, powered by Artificial Intelligence</STRONG></P><P>The days of manually writing down job descriptions and establishing requirements for job roles in a solution are over.&nbsp; Recruitment operations for the external workforce have become smarter because of digital transformation and artificial intelligence. This has pushed organizations to digitize and optimize HR processes for both internal and external workers.</P><P>With SAP Fieldglass' Generative AI capabilities, you can now easily generate more effective Job Descriptions, populating specific and relevant skill sets required for Job Templates your organization&nbsp; frequently hires for.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="djgchristian_2-1713166894435.png" style="width: 691px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96449iAB9EECEFF0345AC2/image-dimensions/691x389?v=v2" width="691" height="389" role="button" title="djgchristian_2-1713166894435.png" alt="djgchristian_2-1713166894435.png" /></span></P><P>Fig. 1. <EM>Generative AI Enhancing Job Descriptions for Job Posting Templates</EM></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="djgchristian_3-1713166939573.png" style="width: 712px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96451iF84CD0D3B4E07D43/image-dimensions/712x399?v=v2" width="712" height="399" role="button" title="djgchristian_3-1713166939573.png" alt="djgchristian_3-1713166939573.png" /></span></P><P>Fig. 2. <EM>Generative AI Proposing an Enhanced Job Description for Job Posting Templates</EM></P><P><STRONG>Resourcing &amp; Workforce Optimization </STRONG></P><P>&nbsp;As the number of external workers increases, it becomes more and more important to ensure that organizations allocate resources optimally to support critical business operations and to fill in critical talent gaps. Businesses can learn about the availability of skills and business demand by utilizing data points and algorithms in resource planning and workforce scheduling.</P><P>This is where the value of an intelligent Vendor Management System such as SAP Fieldglass comes into play. You can be sure that your company operates at peak efficiency thanks to AI-powered Candidate Screening and Analysis and data-driven insights<SPAN>.</SPAN> SAP Fieldglass supports workforce planning and resource allocation to optimize existing workers and ensure availability of in-demand and relevant talent.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="djgchristian_4-1713167004017.png" style="width: 686px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96452iF91C5F447F0974E3/image-dimensions/686x385?v=v2" width="686" height="385" role="button" title="djgchristian_4-1713167004017.png" alt="djgchristian_4-1713167004017.png" /></span></P><P>Fig. 3. <EM>Smart Candidate Screening through Resume Ranking via Skill Analysis</EM></P><P><STRONG>Talent Management &amp; Succession Planning</STRONG></P><P>Having an integrated approach to your organizational talent management strategy is made easier by being aware of the strengths and opportunities for growth of your external workers. These resources have critical skill areas and often serve in-demand roles within your business. It becomes critical to comprehend which members of your External Workforce Talent Pool are most qualified to be retained and eventually converted into your full-time employees based on KPIs set to measure performance.</P><P>Through intelligent vendor management technology, SAP Fieldglass enables your company to view qualified external workers from your diverse talent pool and intelligently evaluate them to choose, hire, and retain the highest performing resources. Configurations for performance and criteria help guarantee that you choose and keep the best external workers who can help your business succeed.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="djgchristian_5-1713167140925.png" style="width: 664px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/96455iD0A76A685DE08808/image-dimensions/664x372?v=v2" width="664" height="372" role="button" title="djgchristian_5-1713167140925.png" alt="djgchristian_5-1713167140925.png" /></span></P><P>Fig. 4. <EM>Available External Worker Candidates from SAP Fieldglass’ Talent Pool</EM></P><P>Learn more about how SAP Fieldglass, empowered by Artificial Intelligence<SPAN>,</SPAN> helps your business and the External Workforce things done efficiently and intelligently.</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P> 2024-04-15T09:48:41.091000+02:00 https://community.sap.com/t5/artificial-intelligence-and-machine-learning-blogs/new-machine-learning-features-in-sap-hana-cloud-2024-q1/ba-p/13668386 New Machine Learning features in SAP HANA Cloud 2024 Q1 2024-04-18T08:14:50.590000+02:00 ChristophMorgen https://community.sap.com/t5/user/viewprofilepage/user-id/14106 <P>With the 2024 Q1 database release, several new features have been released the SAP HANA Cloud Predictive Analysis Library (PAL), an enhancement summary is available in the What’s new document for <SPAN><A href="https://help.sap.com/whats-new/2495b34492334456a49084831c2bea4e?Category=Predictive%20Analysis%20Library&amp;Valid_as_Of=2024-03-01%3A2024-03-31&amp;locale=en-US" target="_blank" rel="noopener noreferrer">SAP HANA Cloud database 2024.02 (QRC 1/2024)</A>.</SPAN></P><P>The feature highlights for the current release are described in more detail below</P><H2 id="toc-hId-991779963"><STRONG><FONT size="4">Classification and Regression enhancements</FONT></STRONG></H2><P><SPAN>Unified Regression along with Unified Classification and Time Series now supports <A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/permutation-importance-permutation-importance-regression" target="_blank" rel="noopener noreferrer"><STRONG>permu</STRONG></A><A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/permutation-importance-permutation-importance-regression" target="_blank" rel="noopener noreferrer"><STRONG>tation feature importance</STRONG></A>, a new and trending method in global explain-ability to evaluate the contribution of individual features to the overall predictive power of a model. This is achieved by measuring the decrease of a model’s performance when a feature‘s values are being shuffled around. A detailed explanation and examples are also given in this blog <A href="https://community.sap.com/t5/technology-blogs-by-sap/global-explanation-capabilities-in-sap-hana-machine-learning/ba-p/13620594" target="_blank">Global Explanation Capabilities in SAP HANA Machine Learning</A>.</SPAN></P><TABLE border="1" width="100%"><TBODY><TR><TD width="50%"><span class="lia-inline-image-display-wrapper lia-image-align-right" image-alt="ChristophMorgen_0-1712926457926.png" style="width: 323px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95625i9B4C3A48DA5FDA69/image-dimensions/323x195?v=v2" width="323" height="195" role="button" title="ChristophMorgen_0-1712926457926.png" alt="ChristophMorgen_0-1712926457926.png" /></span></TD><TD width="50%"><span class="lia-inline-image-display-wrapper lia-image-align-left" image-alt="ChristophMorgen_1-1712926457929.png" style="width: 397px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95624i5D7D158D9113A570/image-dimensions/397x194?v=v2" width="397" height="194" role="button" title="ChristophMorgen_1-1712926457929.png" alt="ChristophMorgen_1-1712926457929.png" /></span></TD></TR></TBODY></TABLE><P style=" text-align: center; "><FONT size="3">Classic feature importance vs permutation feature importance reports (see blog for details)</FONT></P><P><SPAN>The <STRONG>Hybrid Gradient Boosting Tree</STRONG> (<A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/hybrid-gradient-boosting-tree-hybrid-gradient-boosting-tree-ca5106c" target="_blank" rel="noopener noreferrer">HGBT</A>) now supports &nbsp;F1-scores, recall and precision as cross validation metric for improved, more targeted classification models. Furthermore, weight scaling of target values in classification is now supported to address imbalanced classes or weight scale target values in relation for example to different costs associated to the different class values.<BR />A new and trending regression model objective function “reweighted square” has been introduced, aiding to achieve more robust and regularized regression models.<BR />For improved early stopping during model optimization, the validation metric for early stopping can now be explicitly set.</SPAN></P><P><SPAN>The recently introduced <STRONG>multi-layer perceptron </STRONG><A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/mlp-recommender" target="_blank" rel="noopener noreferrer"><STRONG>MLP recommender</STRONG></A> function, now supports multiclass classification and regression recommender scenarios. This allows to reformulate the recommendation task as a classification or regression problem. The implementation employs a dual-stream framework where two sets of features representing &nbsp;for example user – and items features, respectively, are fed into a feature selection module. The outputs are streamed into MLP-neural networks and combined in a bilinear aggregation layer. This new and trending neural network framework can handle large-scale data volumes in recommendation scenarios very effectively.</SPAN></P><P><SPAN>The <STRONG>K-Nearest Neighbor (KNN)</STRONG> classification and regression functions has been enhanced with a new <STRONG>similarity search</STRONG> method, in addition to brute force and KD-tree searching a <A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/knn-knn-f2440c6" target="_blank" rel="noopener noreferrer"><STRONG>matrix enabled search</STRONG></A>-method has been introduced, allowing for much faster similarity search results especially with high-dimensional numeric feature data. </SPAN></P><H2 id="toc-hId-795266458"><STRONG><FONT size="4">Auto-ML and ML pipeline function improvements </FONT></STRONG></H2><P><SPAN>The Auto-ML functions for the Predictive Analysis Library (PAL) have been enhanced with</SPAN></P><UL><LI><SPAN>a new option to trigger deeper <A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/optimization-optimization?locale=en-US" target="_blank" rel="noopener noreferrer">finetuning of the best pipeline</A> found</SPAN></LI><LI><SPAN>the genetic algorithm-based Auto-ML optimization has been enriched with a <A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/optimization-optimization?locale=en-US" target="_blank" rel="noopener noreferrer">RANDOM SEARCH-based optimization</A>, suited especially for smaller configurations (e.g. simple time series) and yielding with faster results </SPAN></LI><LI><SPAN>new method to clear and initialize the Auto-ML log </SPAN></LI><LI><SPAN>Auto-ML and pipeline model explain-ability enhancement with a <A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/pipeline-pipeline-de96493?q=rocv&amp;locale=en-US" target="_blank" rel="noopener noreferrer">SHAP Global surrogate </A>light-weight model for faster global explanation model calculation and faster local prediction interpretability results</SPAN></LI></UL><H2 id="toc-hId-598752953"><STRONG><FONT size="4">Text Processing</FONT></STRONG></H2><UL><LI><SPAN>The <A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/text-mining-text-mining-96687ab" target="_blank" rel="noopener noreferrer">Text Mining</A> related document and term analysis function do now support massive parallel invocation, allowing for multiple input text to be analyzed in parallel.<BR /></SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ChristophMorgen_2-1712926848134.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95628iEAA3D29DC686BE11/image-size/medium?v=v2&amp;px=400" role="button" title="ChristophMorgen_2-1712926848134.png" alt="ChristophMorgen_2-1712926848134.png" /></span><BR /><P><FONT size="2">Multiple documents (here IDs 0 and 5) are searched in parallel for related documents</FONT></P></LI></UL><H2 id="toc-hId-402239448"><STRONG><FONT size="4">New financial data analysis functions </FONT></STRONG></H2><P>The newly implemented single-factor <SPAN><A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/hull-white" target="_blank" rel="noopener noreferrer">Hull-White</A></SPAN> procedure , can be used to model the time evolution of interest rates, which are required for price estimation of financial instruments based on interest rate derivatives.</P><P>To apply the Hull-White model it first needs to be adopted to match existing market conditions (interest rates). This is achieved &nbsp;by providing the values of the drift term of the Hull-White model as a time series as &nbsp;input table. The simulation will then provide the mean value for a given number of simulation paths (also specified as an input parameter), their variance, as well as the upper and lower bounds.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ChristophMorgen_3-1712926961869.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95629i117D1BBD66D975C5/image-size/medium?v=v2&amp;px=400" role="button" title="ChristophMorgen_3-1712926961869.png" alt="ChristophMorgen_3-1712926961869.png" /></span></P><P>&nbsp;</P><P>The chart above depicts the initial dataset used to calibrate the mode, mean and confidence interval of the Hull-White simulation.</P><P><SPAN>New <A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/benford-analysis" target="_blank" rel="noopener noreferrer">Benford’s </A><A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/benford-analysis" target="_blank" rel="noopener noreferrer">Law&nbsp;</A>function in PAL, a trending algorithm used to detect anomalies in numerical datasets like e.g. financial transactions.</SPAN></P><P><SPAN>One of the (not so) well-known statistical observations is the fact that in many datasets the leading significant digits are not equally distributed. If all digits were represented equally, then they would appear 11.1 percent (1/9TH) of the time. However, when analyzing real-world datasets, e.g. the population totals of the <A href="https://www.census.gov/data/tables/time-series/demo/popest/2020s-counties-total.html" target="_self" rel="nofollow noopener noreferrer">US census data</A>, it is revealed that the distribution of the leading digits follows the Bedford’s law, also known as the first-digit law.</SPAN></P><UL><LI>P(d) = log10 (1+ 1/d), where P(d) is the probability of the leading digit {1,2,....9} to occur.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ChristophMorgen_4-1712926961871.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95630i9E38144233BF8A78/image-size/medium?v=v2&amp;px=400" role="button" title="ChristophMorgen_4-1712926961871.png" alt="ChristophMorgen_4-1712926961871.png" /></span></P><P><SPAN>With the help of PAL’s new BENFORD analysis function it is now very easy to validate if a dataset obeys Bedford’s law or not. A first step means very commonly used in financial applications to detect unexpected value distribution and e.g. potential fraudulent transaction data.</SPAN></P><H2 id="toc-hId-205725943"><FONT size="4"><STRONG>Python ML client (Hana-ML) enhancements</STRONG></FONT></H2><P>The full list of new methods and enhancements with Hana-ML 2.20 is summarized in the <SPAN><A href="https://help.sap.com/doc/cd94b08fe2e041c2ba778374572ddba9/2024_1_QRC/en-US/change_log.html" target="_blank" rel="noopener noreferrer">changelog for Hana-ml 2.20.240319</A> </SPAN>as part of the documentation. The key enhancements in this release include</P><P><STRONG><SPAN>Time series analysis and forecasting methods</SPAN></STRONG></P><UL><LI>Time series permutation feature importance analysis</LI><LI>Time series outlier detection with voting</LI><LI>Segmented (massive) online Bayesian Change Point Detection</LI></UL><P><STRONG><SPAN>Auto-ML configuration and methods enhancements</SPAN></STRONG></P><UL><LI>Updated Auto-ML configuration dictionary-templates with new operators and random search optimization support for e.g. small time series configurations</LI><LI>Enhanced Auto-ML configuration option for setting connection constraints during optimization of multi-operator pipelines and visualization of pipeline connection scores between operators<BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ChristophMorgen_0-1712931648498.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95707iC8239A600237D73E/image-size/medium?v=v2&amp;px=400" role="button" title="ChristophMorgen_0-1712931648498.png" alt="ChristophMorgen_0-1712931648498.png" /></span></LI><LI>Support algorithm-specific parameters with Auto-ML predict-calls, relevant for both pipeline predict and Auto-ML methods.</LI><LI>Enhanced progress monitor for Auto-ML to display at anytime and log management methods, allowing to set log levels, persist progress logs clean up logs and more.</LI></UL><P><SPAN>Exploratory data analysis and visualization enhancements</SPAN></P><UL><LI>New Bubble Plot and Parallel Co-ordinate Plot<BR /><TABLE border="1" width="100%"><TBODY><TR><TD width="50%"><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ChristophMorgen_6-1712927665343.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95639i2F182370C8181F73/image-size/medium?v=v2&amp;px=400" role="button" title="ChristophMorgen_6-1712927665343.png" alt="ChristophMorgen_6-1712927665343.png" /></span></P></TD><TD width="50%"><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ChristophMorgen_7-1712927665362.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/95640iB263F0BEB877EF5F/image-size/medium?v=v2&amp;px=400" role="button" title="ChristophMorgen_7-1712927665362.png" alt="ChristophMorgen_7-1712927665362.png" /></span></P></TD></TR></TBODY></TABLE>&nbsp;</LI></UL><P>You can find an examples notebook illustrating the highlighted feature enhancements <A href="https://github.com/SAP-samples/hana-ml-samples/blob/main/Python-API/pal/notebooks/24QRC01_2.20.ipynb" target="_blank" rel="noopener nofollow noreferrer">here 24QRC01_2.20.ipynb</A>.</P><P><a href="https://community.sap.com/t5/c-khhcw49343/SAP+HANA+Cloud%25252C+SAP+HANA+database/pd-p/ada66f4e-5d7f-4e6d-a599-6b9a78023d84" class="lia-product-mention" data-product="40-1">SAP HANA Cloud, SAP HANA database</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/Python/pd-p/f220d74d-56e2-487e-8e6c-a8cb3def2378" class="lia-product-mention" data-product="126-1">Python</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/Machine+Learning/pd-p/240174591523510321507492941674121" class="lia-product-mention" data-product="2-1">Machine Learning</a>&nbsp;</P> 2024-04-18T08:14:50.590000+02:00 https://community.sap.com/t5/artificial-intelligence-and-machine-learning-blogs/unveiling-sap-business-ai-s-potential-at-the-upcoming-solution-experience/ba-p/13673555 Unveiling SAP Business AI's Potential at the Upcoming Solution Experience Live Session 2024-04-18T08:15:36.770000+02:00 arabella https://community.sap.com/t5/user/viewprofilepage/user-id/145342 <P><STRONG>Unveiling SAP Business AI's Potential at the Upcoming Solution Experience Live Session<BR /></STRONG>In an era of continuous innovation and heightened competitiveness, AI's ability to enable smarter decisions and efficiencies on monumental scales has become essential. One such solution that helps businesses to harness the power of AI is SAP Business AI.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-left" image-alt="LSC Solution Experience Live Session_Deliver Real-World Results with SAP Business AI_Apr 30_03.png" style="width: 200px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/97238i64338E031062AD27/image-size/small?v=v2&amp;px=200" role="button" title="LSC Solution Experience Live Session_Deliver Real-World Results with SAP Business AI_Apr 30_03.png" alt="LSC Solution Experience Live Session_Deliver Real-World Results with SAP Business AI_Apr 30_03.png" /></span>The upcoming <A href="https://learning.sap.com/products/business-technology-platform/artificial-intelligence?url_id=text-sapcommunity-prdteng-AI" target="_blank" rel="noopener noreferrer">Solution Experience Live Session: Deliver Real-World Results with SAP Business AI</A> presents a one-of-a-kind opportunity for everyone to grasp the countless benefits and applications of SAP Business AI. Led by Dr. Philipp Herzig, Chief AI Officer at SAP, this one-hour virtual session on Tuesday, April 30, 2024, from 1:30 p.m. to 2:30 p.m. CEST, will expand upon the innovative capabilities of <A href="https://www.sap.com/products/artificial-intelligence.html" target="_blank" rel="noopener noreferrer">SAP Business AI</A>.</P><P>&nbsp;</P><P><SPAN>The impact of AI on businesses today cannot be overstated. It is integral – not just in streamlining operational processes, but in offering insights and opportunities that were once unthinkable. Increasingly, businesses are making deeper strides into leveraging AI for corporate advantage – with SAP Business AI at the forefront of this change. With </SPAN><A href="https://www2.deloitte.com/content/dam/insights/us/articles/6546_talent-and-workforce-effects-in-the-age-of-ai/DI_Talent-and-workforce-effects-in-the-age-of-AI.pdf" target="_blank" rel="noopener nofollow noreferrer"><SPAN>AI-skilled experts being the most sought-after professionals in the workforce</SPAN></A><SPAN>, the challenge is to close the AI skills gap. SAP has made it it’s mission to make a variety of learning resources on the </SPAN><A href="https://learning.sap.com?url_id=text-sapcommunity-prdteng-LSC" target="_blank" rel="noopener noreferrer"><SPAN>SAP Learning site</SPAN></A>&nbsp;<SPAN>available to equip anyone with the right tools to navigate today's AI-driven business environment.</SPAN></P><P><SPAN>Join us for the virtual session, collectively debunk the mysteries of AI, and tap into the potentials of SAP Business AI. The free-of-charge solution experience live session is open to everyone — mark your calendars and prepare to journey into a AI-empowered future.</SPAN></P><P><A href="https://learning.sap.com/products/business-technology-platform/artificial-intelligence?url_id=text-sapcommunity-prdteng-AI" target="_blank" rel="noopener noreferrer">Make sure to sign up today.</A></P><P>&nbsp;</P><P><STRONG>Want to discover live sessions beyond AI?<BR /></STRONG>With a <A href="https://sap.com/learninghub" target="_blank" rel="noopener noreferrer">subscription to SAP Learning Hub</A>, you can unlock further live sessions in other in-demand topics, such as SAP BTP, ABAP Cloud development and how to build apps with SAP Build. <SPAN>You can explore the </SPAN><A href="https://learning.sap.com/live-sessions?page=1?url_id=text-sapcommunity-prdteng-LiveSessions" target="_blank" rel="noopener noreferrer"><SPAN>full live session schedule</SPAN></A><SPAN> and join the sessions of your liking with an <A href="https://sap.com/learninghub" target="_blank" rel="noopener noreferrer">SAP Learning Hub subscription</A>. </SPAN></P> 2024-04-18T08:15:36.770000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/new-machine-learning-features-in-sap-hana-cloud/ba-p/13671778 New Machine Learning features in SAP HANA Cloud 2024-04-19T14:39:25.280000+02:00 ChristophMorgen https://community.sap.com/t5/user/viewprofilepage/user-id/14106 <P>SAP HANA Cloud provides out of the box a rich set of embedded AI functions enabling SAP customers and partners to build Intelligent Data Applications, applications embedding AI scenarios like time series forecasting, classification, or regression and more, with applying the AI functions in the database directly on the application data.</P><P><STRONG>Each new release of SAP HANA Cloud includes a lot of exciting new embedded AI features</STRONG>, hence see the list of links below to get an overview about the continuous improvements in the <SPAN><A href="https://help.sap.com/viewer/319d36de4fd64ac3afbf91b1fb3ce8de/latest/en-US/c9eeed704f3f4ec39441434db8a874ad.html" target="_blank" rel="noopener noreferrer">Predictive Analysis Library (PAL)</A>, <A href="https://help.sap.com/viewer/product/apl/latest/en-US" target="_blank" rel="noopener noreferrer">Automated Predictive Library (APL)</A> and the <A href="https://help.sap.com/doc/cd94b08fe2e041c2ba778374572ddba9/latest/en-US/hana_ml.html" target="_blank" rel="noopener noreferrer">Python Machine Learning client (hana-ml)</A> across the past release versions: </SPAN></P><UL><LI><SPAN>Review all 81 newly released Machine Learning enhancements since the 2022 Q1-release on the <A href="https://help.sap.com/whats-new/2495b34492334456a49084831c2bea4e?locale=en-US&amp;Category=Automated%20Predictive%20Library%3BPredictive%20Analysis%20Library" target="_blank" rel="noopener noreferrer">What’s New feature page</A> for SAP HANA Cloud</SPAN></LI><LI><SPAN>Review planned feature on the SAP HANA Cloud <A href="https://roadmaps.sap.com/board?PRODUCT=73554900100800002881&amp;range=CURRENT-LAST" target="_blank" rel="noopener noreferrer">roadmap page</A></SPAN></LI><LI><SPAN>Review the Machine Learning enhancement details in SAP HANA Cloud releases</SPAN><UL class="lia-list-style-type-circle"><LI><SPAN><A href="https://help.sap.com/whats-new/2495b34492334456a49084831c2bea4e?Category=Automated%20Predictive%20Library%3BPredictive%20Analysis%20Library&amp;Valid_as_Of=2024-03-01%3A2024-04-07&amp;locale=en-US" target="_blank" rel="noopener noreferrer">2024_QRC1 (PAL, APL)</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="https://help.sap.com/doc/cd94b08fe2e041c2ba778374572ddba9/2024_1_QRC/en-US/change_log.html" target="_blank" rel="noopener noreferrer">2.20 (hana-ml)</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="https://community.sap.com/t5/artificial-intelligence-and-machine-learning-blogs/new-machine-learning-features-in-sap-hana-cloud-2024-q1/ba-p/13668386" target="_blank">blog</A></SPAN></LI><LI><SPAN><A href="https://help.sap.com/whats-new/2495b34492334456a49084831c2bea4e?Category=Automated%20Predictive%20Library%3BPredictive%20Analysis%20Library&amp;Valid_as_Of=2023-12-01%3A2024-01-07&amp;locale=en-US" target="_blank" rel="noopener noreferrer">2023_QRC4 (PAL, APL)</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="https://help.sap.com/doc/cd94b08fe2e041c2ba778374572ddba9/2023_4_QRC/en-US/change_log.html" target="_blank" rel="noopener noreferrer">2.19 (hana-ml)</A></SPAN></LI><LI><SPAN><A href="https://help.sap.com/whats-new/2495b34492334456a49084831c2bea4e?Category=Automated%20Predictive%20Library%3BPredictive%20Analysis%20Library&amp;Valid_as_Of=2023-09-01%3A2023-10-17&amp;locale=en-US" target="_blank" rel="noopener noreferrer">2023_QRC3 (PAL, APL)</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="https://help.sap.com/doc/cd94b08fe2e041c2ba778374572ddba9/2023_3_QRC/en-US/change_log.html" target="_blank" rel="noopener noreferrer">2.18 (hana-ml)</A></SPAN></LI><LI><SPAN><A href="https://help.sap.com/whats-new/2495b34492334456a49084831c2bea4e?Category=Automated%20Predictive%20Library%3BPredictive%20Analysis%20Library&amp;Valid_as_Of=2023-06-01%3A2023-07-07&amp;locale=en-US" target="_blank" rel="noopener noreferrer">2023_QRC2 (PAL, APL)</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="https://help.sap.com/doc/cd94b08fe2e041c2ba778374572ddba9/2023_2_QRC/en-US/change_log.html" target="_blank" rel="noopener noreferrer">2.17 (hana-ml)</A></SPAN></LI><LI><SPAN><A href="https://help.sap.com/whats-new/2495b34492334456a49084831c2bea4e?Category=Automated%20Predictive%20Library%3BPredictive%20Analysis%20Library&amp;Valid_as_Of=2023-03-01%3A2023-04-07&amp;locale=en-US" target="_blank" rel="noopener noreferrer">2023_QRC1 (PAL, APL)</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="https://help.sap.com/doc/cd94b08fe2e041c2ba778374572ddba9/2023_1_QRC/en-US/change_log.html" target="_blank" rel="noopener noreferrer">2.16 (hana-ml)</A></SPAN></LI><LI><SPAN><A href="https://help.sap.com/whats-new/2495b34492334456a49084831c2bea4e?Category=Automated%20Predictive%20Library%3BPredictive%20Analysis%20Library&amp;Valid_as_Of=2022-12-01%3A2023-01-07&amp;locale=en-US" target="_blank" rel="noopener noreferrer">2022_QRC4 (PAL, APL)</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="https://help.sap.com/doc/cd94b08fe2e041c2ba778374572ddba9/2022_4_QRC/en-US/change_log.html#changelog" target="_blank" rel="noopener noreferrer">2.15 (hana-ml)</A></SPAN></LI><LI><SPAN><A href="https://help.sap.com/whats-new/2495b34492334456a49084831c2bea4e?Category=Automated%20Predictive%20Library%3BPredictive%20Analysis%20Library&amp;Valid_as_Of=2022-09-01%3A2022-10-17&amp;locale=en-US" target="_blank" rel="noopener noreferrer">2022_QRC3 (PAL, APL)</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="https://help.sap.com/doc/cd94b08fe2e041c2ba778374572ddba9/2022_3_QRC/en-US/change_log.html#changelog" target="_blank" rel="noopener noreferrer">2.14 (hana-ml)</A></SPAN></LI><LI><SPAN><A href="https://help.sap.com/whats-new/2495b34492334456a49084831c2bea4e?Category=Automated%20Predictive%20Library%3BPredictive%20Analysis%20Library&amp;Valid_as_Of=2022-06-01%3A2022-07-07&amp;locale=en-US" target="_blank" rel="noopener noreferrer">2022_QRC2 (PAL, APL)</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="https://help.sap.com/doc/cd94b08fe2e041c2ba778374572ddba9/2022_2_QRC/en-US/change_log.html" target="_blank" rel="noopener noreferrer">2.13 (hana-ml)</A></SPAN></LI><LI><SPAN><A href="https://help.sap.com/whats-new/2495b34492334456a49084831c2bea4e?Category=Automated%20Predictive%20Library%3BPredictive%20Analysis%20Library&amp;Valid_as_Of=2022-03-01%3A2022-04-07&amp;locale=en-US" target="_blank" rel="noopener noreferrer">2022_QRC1 (PAL, APL)</A>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="https://help.sap.com/doc/cd94b08fe2e041c2ba778374572ddba9/2022_1_QRC/en-US/change_log.html" target="_blank" rel="noopener noreferrer">2.12 (hana-ml)</A></SPAN></LI></UL></LI></UL><P><SPAN>Here are some additional links to reference information introducing to and tutoring about <STRONG>how to get started using SAP HANA Cloud’s Machine Learning capabilities</STRONG></SPAN></P><UL><LI><SPAN>SAP Community Call:&nbsp;<A href="https://www.youtube.com/watch?v=bFv4n3smzQw" target="_blank" rel="noopener nofollow noreferrer">Intelligence out of the Box - Native Machine Learning in SAP HANA Cloud</A></SPAN></LI><LI><SPAN>Getting started blog posts </SPAN><UL class="lia-list-style-type-circle"><LI><SPAN><A href="https://blogs.sap.com/2021/02/25/hands-on-tutorial-leverage-sap-hana-machine-learning-in-the-cloud-through-the-predictive-analysis-library/" target="_blank" rel="noopener noreferrer">Hands-On Tutorial: Leverage SAP HANA Machine Learning in the Cloud through the Predictive Analysis Library (PAL)</A>, </SPAN></LI><LI><SPAN><A href="https://blogs.sap.com/2020/07/27/hands-on-tutorial-automated-predictive-apl-in-sap-hana-cloud/" target="_blank" rel="noopener noreferrer">Hands-On Tutorial: Automated Predictive (APL) in SAP HANA Cloud</A> and</SPAN></LI><LI><SPAN><A href="https://blogs.sap.com/2020/08/03/getting-started-with-sap-hana-cloud-vi-machine-learning/" target="_blank" rel="noopener noreferrer">Getting Started with SAP HANA Cloud | PAL and APL</A></SPAN></LI><LI><SPAN><A href="https://github.com/SAP-samples/hana-ml-py-codejam?tab=readme-ov-file" target="_blank" rel="noopener nofollow noreferrer">GitHub - SAP-samples/Getting started with Machine Learning using SAP HANA Cloud and Python</A></SPAN></LI></UL></LI></UL><P><SPAN><STRONG>Featured SAP HANA AI/ML capabilities</STRONG> are highlighted in the following resources:</SPAN></P><UL><LI><SPAN>Leverage data-parallel ML/AI, segmented forecasting from within SAP HANA Cloud utilizing </SPAN><UL class="lia-list-style-type-circle"><LI><A href="https://community.sap.com/t5/technology-blogs-by-sap/apl-time-series-forecast-using-a-segmented-measure/ba-p/13523243" target="_blank">APL Time Series Forecast using a Segmented Measure</A></LI><LI><SPAN>Segmented (massive) Forecasting applying PAL Additive Model Analysis (aka prophet) hands-on example here <A href="https://github.com/SAP-samples/teched2022-DA180/tree/main/exercises/ex5" target="_blank" rel="noopener nofollow noreferrer">SAP-samples/teched2022/Getting Started with Multi-Model Capabilities in SAP HANA Cloud/Forecasting</A><STRONG><BR /><BR /></STRONG></SPAN></LI></UL></LI><LI><SPAN>Leverage AutoML from the Predictive Analysis Library (PAL)</SPAN><UL class="lia-list-style-type-circle"><LI><SPAN><A href="https://blogs.sap.com/2022/11/23/hands-on-tutorial-leverage-automl-in-sap-hana-cloud-with-the-predictive-analysis-library/" target="_blank" rel="noopener noreferrer">Hands-On Tutorial: Leverage </A><A href="https://blogs.sap.com/2022/11/23/hands-on-tutorial-leverage-automl-in-sap-hana-cloud-with-the-predictive-analysis-library/" target="_blank" rel="noopener noreferrer">AutoML</A><A href="https://blogs.sap.com/2022/11/23/hands-on-tutorial-leverage-automl-in-sap-hana-cloud-with-the-predictive-analysis-library/" target="_blank" rel="noopener noreferrer"> in SAP HANA Cloud with the Predictive Analysis Library</A></SPAN></LI><LI><SPAN>SAP Community call | <A href="https://www.youtube.com/watch?v=mT5f6SPVpnk" target="_blank" rel="noopener nofollow noreferrer">Accelerate your Machine Learning efforts - benefit from SAP HANA Cloud </A><A href="https://www.youtube.com/watch?v=mT5f6SPVpnk" target="_blank" rel="noopener nofollow noreferrer">AutoML</A></SPAN></LI></UL></LI><LI>Integrating SAP HANA ML into your Application Code&nbsp;<UL class="lia-list-style-type-circle"><LI>re&gt;≡CAP 2023 conference presentation:<SPAN> "<U>Data Science handshake with CAP developer building an intelligent data app</U>“, <A href="https://www.js-soft.com/recordings-of-recap-2023/" target="_blank" rel="noopener nofollow noreferrer">Recordings of re&gt;≡CAP 2023 session</A></SPAN></LI><LI><SPAN><A href="https://blogs.sap.com/2023/06/22/auto-generating-hana-ml-cap-artifacts-from-python/" target="_blank" rel="noopener noreferrer">Auto-generating HANA ML CAP Artifacts from Python</A></SPAN></LI></UL></LI></UL><P><SPAN>&nbsp;</SPAN></P><UL><LI><SPAN>Blog collections and sample repository</SPAN><UL class="lia-list-style-type-circle"><LI>Rich collection of references in this&nbsp;blogs post&nbsp;<SPAN><A href="https://blogs.sap.com/2021/05/27/sap-hana-machine-learning-resources/" target="_blank" rel="noopener noreferrer">SAP HANA Machine Learning Resources</A></SPAN></LI><LI><SPAN>SAP HANA ML sample repository&nbsp;<A href="https://github.com/SAP-samples/hana-ml-samples" target="_blank" rel="noopener nofollow noreferrer">https://github.com/SAP-samples/hana-ml-samples</A> see <A href="https://github.com/SAP-samples/hana-ml-samples/tree/main/Python-API" target="_blank" rel="noopener nofollow noreferrer">Python samples</A>.</SPAN></LI></UL></LI></UL><P><SPAN>&nbsp;</SPAN></P><P><SPAN><STRONG>Setting up your Python environment for SAP HANA ML</STRONG><BR /></SPAN></P><P><SPAN>There are certainly numerous flavors of how to setup a local Python environment for Data Scientists to work with respective Python packages, in this case leveraging hana-ml and hdbcli to work with SAP HANA. The use of <A href="https://docs.anaconda.com/free/miniconda/index.html" target="_blank" rel="noopener nofollow noreferrer">Miniconda</A> or <A href="https://docs.python.org/3/library/venv.html" target="_blank" rel="noopener nofollow noreferrer">venv</A> with Jupyter Notebooks is a common practice. Moreover the following instructions give guidance on how to enrich your SAP Development tools with a Python environment</SPAN></P><UL><LI><SPAN><A href="https://blogs.sap.com/2023/06/01/persisting-python-environment-when-using-jupyter-in-sap-business-application-studio/?source=email-global-notification-bp-new-in-tag-followed" target="_blank" rel="noopener noreferrer">Persisting Python environment when using </A><A href="https://blogs.sap.com/2023/06/01/persisting-python-environment-when-using-jupyter-in-sap-business-application-studio/?source=email-global-notification-bp-new-in-tag-followed" target="_blank" rel="noopener noreferrer">Jupyter</A><A href="https://blogs.sap.com/2023/06/01/persisting-python-environment-when-using-jupyter-in-sap-business-application-studio/?source=email-global-notification-bp-new-in-tag-followed" target="_blank" rel="noopener noreferrer"> in SAP Business Application Studio | SAP Blogs</A></SPAN></LI><LI><SPAN><A href="https://www.youtube.com/watch?v=UFvW8DKWPSs" target="_blank" rel="noopener nofollow noreferrer">Running a </A><A href="https://www.youtube.com/watch?v=UFvW8DKWPSs" target="_blank" rel="noopener nofollow noreferrer">Jupyter</A><A href="https://www.youtube.com/watch?v=UFvW8DKWPSs" target="_blank" rel="noopener nofollow noreferrer"> notebook in SAP Business Application Studio (youtube.com)</A></SPAN></LI></UL><P><SPAN>Moreover, the following blog posts give indications how to leverage SAP HANA Machine Learning and <A href="https://pypi.org/project/hana-ml/" target="_self" rel="nofollow noopener noreferrer">hana-ml</A> from within 3rd party Data Science, Python expert environments</SPAN></P><UL><LI><SPAN><A href="https://blogs.sap.com/2022/08/17/databricks-triggering-calculations-ml-in-sap-data-warehouse-cloud/" target="_blank" rel="noopener noreferrer">Triggering ML calculations in SAP HANA Cloud and SAP Datasphere from Databricks</A><U><BR /></U></SPAN></LI><LI><SPAN><A href="https://blogs.sap.com/2022/08/03/azure-machine-learning-triggering-calculations-ml-in-sap-data-warehouse-cloud/" target="_blank" rel="noopener noreferrer">Azure Machine Learning triggering ML calculations in SAP HANA Cloud and&nbsp; SAP Datasphere</A></SPAN></LI><LI><SPAN><A href="https://blogs.sap.com/2023/01/09/google-vertex-ai-triggering-calculations-ml-in-sap-data-warehouse-cloud/" target="_blank" rel="noopener noreferrer">Triggering ML calculations in SAP HANA Cloud and SAP Datasphere from Google Vertex AI</A></SPAN></LI></UL><P><SPAN>Finally, reference information about the Python native SAP HANA database client can be found in SAP Note <A href="https://launchpad.support.sap.com/" target="_blank" rel="noopener noreferrer">2939501</A> and the <A href="https://help.sap.com/viewer/product/SAP_HANA_CLIENT/latest" target="_blank" rel="noopener noreferrer">SAP HANA Client documentation</A>. The database client software is available from <A href="https://tools.hana.ondemand.com/" target="_blank" rel="noopener nofollow noreferrer">tools.hana.ondemand.com/#hanatools</A>, while the Python client is also available via the pypi repository at <A href="https://pypi.org/project/hdbcli/" target="_blank" rel="noopener nofollow noreferrer">https://pypi.org/project/hdbcli/</A>.&nbsp;</SPAN><SPAN>Further installation instructions are documented in the section Machine Learning APIs in <A href="https://help.sap.com/docs/SAP_HANA_CLIENT/f1b440ded6144a54ada97ff95dac7adf/fa67e965aaca43ecbbaa69bbe13adf12.html?locale=en-US" target="_blank" rel="noopener noreferrer">SAP HANA Client Interface Programming Reference</A>.</SPAN></P><P><SPAN>&nbsp;The following&nbsp;</SPAN><A href="https://me.sap.com/notes/3220622" target="_self" rel="noopener noreferrer">SAP Note 3220622&nbsp;</A><SPAN>indicates which SAP HANA Cloud release is available with SAP Datasphere.</SPAN></P> 2024-04-19T14:39:25.280000+02:00 https://community.sap.com/t5/application-development-blog-posts/it-s-never-been-easier-to-invoke-machine-learning-and-generative-ai-from-an/ba-p/13687218 It's never been easier to invoke Machine Learning and Generative AI from an ABAP application 2024-05-03T08:34:43.224000+02:00 lpm https://community.sap.com/t5/user/viewprofilepage/user-id/1446391 <P>We have exciting news for SAP developers! You may remember that last year, IBM and SAP <A title="SAP to Embed IBM Watson Artificial Intelligence into SAP® Solutions" href="https://newsroom.ibm.com/2023-05-02-SAP-to-Embed-IBM-Watson-Artificial-Intelligence-into-SAP-R-Solutions" target="_blank" rel="noopener nofollow noreferrer">jointly announced</A>&nbsp; a milestone collaboration around embedding AI into SAP solutions. One visible outcome was the adoption of Watson technology in the SAP Start and SAP Joule digital assistants.</P><P>And at the same time, IBM's been working on creating a watsonx Software Development toolKit (SDK) for SAP ABAP, complementing the existing Watson SDK that was refreshed in 2023.</P><P>I am pleased to confirm that the watsonx ABAP SDK version 1.0.0 <STRONG>is now live</STRONG>. It was released late March 2024 by the IBM SAP Software Engineering Team as expected. It is a separate release from its relative, the Watson SDK, who released a version 2 in Q4 2023. Both SDKs are open source and downloadable from GitHub.</P><P>If you develop SAP apps or have clients doing so, this is big news. It is truly a revolution in easily integrating Machine Learning and Generative AI, in just a few clicks, into an SAP ABAP application. Literally in 10 minutes!</P><P>The watsonx SDK comes in two flavors, allowing SAP developers to easily access watsonx from an ABAP application in a traditional SAP NetWeaver environment, and also in the latest SAP Business Technology Platform (BTP):</P><UL class=""><LI><A href="https://github.com/IBM/abap-sdk-nwas-x/tree/1.0.0" target="_blank" rel="noopener nofollow noreferrer">watsonx ABAP SDK for SAP NetWeaver</A>&nbsp;</LI><LI><A href="https://github.com/IBM/abap-sdk-btp-x/tree/1.0.0" target="_blank" rel="noopener nofollow noreferrer">watsonx ABAP SDK for SAP BTP ABAP Environment</A>&nbsp;</LI></UL><P>The SDK natively supports both the <A href="https://cloud.ibm.com/apidocs/watsonx-ai" target="_blank" rel="noopener nofollow noreferrer">watsonx.ai</A> (V1) and the <A href="https://cloud.ibm.com/apidocs/machine-learning" target="_blank" rel="noopener nofollow noreferrer">Watson Machine Learning</A> (V4). To get developers up to speed quickly, <A href="https://github.com/IBM/abap-sdk-nwas-x/tree/1.0.0?tab=readme-ov-file#examples" target="_blank" rel="noopener nofollow noreferrer">comprehensive examples</A> are included in both of the APIs' documentation.</P><UL><LI>The sample code for the watsonx.ai sends a AI prompt to a generative AI model and collects the generated response. It uses the granite-13b-chat-v2 in the example but there are <A href="https://www.ibm.com/docs/en/watsonx-as-a-service?topic=solutions-supported-foundation-models" target="_blank" rel="noopener nofollow noreferrer">many other superb models</A> available through watsonx.</LI><LI>The sample code for the Watson Machine Learning API lets you unleash the full capability of Watson Machine Learning (ML):<UL><LI>Without going too far in the detail, to use watsonx ML you have to create a watsonx deployment space. This is where you will deploy your ML assets, which can be models, functions, or scripts.</LI><LI>Python is a popular language for functions, in fact most frameworks in Watson ML rely on Python (or R). With a Python function, you can perform any ML task like creating, training, and using models.<UL><LI>For instance you can <A href="https://dataplatform.cloud.ibm.com/exchange/public/entry/view/1eddc77b3a4340d68f762625d40b64f9?context=wx" target="_blank" rel="noopener nofollow noreferrer">recognize hand-written digits</A>, or to <A href="https://dataplatform.cloud.ibm.com/exchange/public/entry/view/61a8b600f1bb183e2c471e7a64299f0e?context=wx" target="_blank" rel="noopener nofollow noreferrer">predict business area for a car rental company</A>, etc.</LI><LI>You're welcome to write your own Python functions from scratch but in most cases you'd want to leverage <A href="https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/ml-deploy-py-function.html?context=wx" target="_blank" rel="noopener nofollow noreferrer">existing example notebooks</A> to save time</LI></UL></LI><LI>Going back to the watsonx ABAP SDK: in the supplied sample code, the ABAP application <SPAN class="">deploys arbitrary Python code </SPAN>as a Python function on a watsonx deployment space and calls the deployed function. It also supplies a CURL command that can be used to easily call the deployed function from the command line</LI><LI>So the SDK connects lets you use the full capabilities of watsonx ML with very little development effort.&nbsp; Then no further SAP programming knowledge is necessary, you can refer to the regular watsonx ML <A href="https://dataplatform.cloud.ibm.com/docs/content/wsj/analyze-data/ml-deploy-py-function-write.html?context=wx" target="_blank" rel="noopener nofollow noreferrer">documentation</A>. And of course, reuse the many examples of functions, models, and scripts provided by IBM and third parties.</LI></UL></LI></UL><P>See also the <A href="https://community.sap.com/t5/application-development-blog-posts/abap-sdk-for-ibm-watsonx-released/ba-p/13658514" target="_blank">post</A> by <a href="https://community.sap.com/t5/user/viewprofilepage/user-id/184450">@christian_bartels</a> on the same topic.</P> 2024-05-03T08:34:43.224000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/tracking-hana-machine-learning-experiments-with-mlflow-a-technical-deep/ba-p/13692481 Tracking HANA Machine Learning experiments with MLflow: A technical Deep Dive 2024-05-08T17:00:00.007000+02:00 martinboeckling https://community.sap.com/t5/user/viewprofilepage/user-id/43098 <H1 id="toc-hId-865290017">Introduction</H1><P><SPAN><SPAN class="">This blog post is part of a series describing the usage of MLflow with HANA Machine Learning co-authored by &nbsp;<a href="https://community.sap.com/t5/user/viewprofilepage/user-id/39047">@stojanm</a>&nbsp;and <a href="https://community.sap.com/t5/user/viewprofilepage/user-id/43098">@martinboeckling</a>.</SPAN> In this blog post we provide a more technical deep dive on the setup of a MLFlow instance and provide a general introduction how Machine Learning models trained with HANA ML can be logged with MLflow. The first blog post of the blog series is called&nbsp;<A href="https://community.sap.com/t5/technology-blogs-by-sap/tracking-hana-machine-learning-experiments-with-mlflow-a-conceptual-guide/ba-p/13688478" target="_self">Tracking HANA Machine Learning experiments with MLflow: A Conceptual Guide for MLOps</A>&nbsp;and gives an introduction to the topic of MLOps with MLflow.</SPAN></P><P>Starting with the python HANA ML package version 2.13, HANA Machine Learning added support for tracking of experiments with the MLflow package, which makes the incorporation of models developed using HANA Machine Learning into a comprehensive MLOps pipeline easy to achieve.&nbsp;</P><P>In this blog post we will provide an overview how MLflow can be used together with HANA ML. MLflow, which manages the experiment tracking and artefact management can run as a managed service at a hyperscaler platform, deployed locally or on a remote infrastructure. In the following we describe how to deploy MLflow on SAP Business Technology Platform &nbsp;and how to track your HANA machine learning experiments with MLFlow. In addition, we present which methods and algorithms in the hana ml package currently support the experiment tracking feature. Finally, we touch on the possibility to use logged models in MLflow for prediction.</P><H1 id="toc-hId-668776512">Prerequisites</H1><P>In this blog post we solely focus on the technical integration of HANA ML and MLflow as a logging platform. Generally, we assume that Python is already installed together with an already established development environment. Furthermore, we will not completely explain all details of docker and Cloud Foundry, but simply focus on the essential parts for HANA ML and MLFlow within this blog post.</P><H1 id="toc-hId-472263007">Set up MLFlow on BTP</H1><P><SPAN>MLFlow is leveraged and integrated in different solutions. For example Databricks as well Machine Learning in Microsoft Fabric integrate or provide a managed MLflow instance. In case MLFlow is not yet provided, we outline in this section a possibility to deploy MLflow in SAP BTP. We focus for simplicity reasons on the SQLite based deployment of MLflow. However, for productive environments it is recommended to separate the storage from the runtime of the MLFlow instance. A detailed explanation for setting up your own MLFlow server with alternatives to SQLite can be found under the following&nbsp;</SPAN><SPAN>link:&nbsp;<A href="https://mlflow.org/docs/latest/tracking/server.html" target="_blank" rel="noopener nofollow noreferrer">https://mlflow.org/docs/latest/tracking/server.html</A>. In the following paragraphs, we focus on a step by step overview to set up your own MLFlow instance using SQLite in BTP.</SPAN></P><P>As a first step we want to create a local docker file which can be used to upload it to our BTP environment. In the following code snippet, we provide the coding used to construct your own docker container locally. For that, paste the following code into a file called Dockerfile within your desired local folder.</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-bash"><code># Retrieve a python version as a base runtime for our docker container FROM python:3.10-slim # Run the pip install command for the package of mlflow RUN pip install mlflow # Create a temporary folder within our docker container to store our artifact RUN mkdir -p /mlflow # Expose the port 7000 to make our application which runs within docker accessable over the defined port EXPOSE 7000 # Define environment variables BACKEND_URI and ARTIFACT_ROOT to define the backend uri as also the # artifact root ENV BACKEND_URI sqlite:///mlflow//mlflow.db ENV ARTIFACT_ROOT /mlflow/artifacts # run the shell comand to setup our mlflow server within our docker container CMD mlflow server --backend-store-uri ${BACKEND_URI} --host 0.0.0.0 --port 7000</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>After creating successfully the Docker object, you can run&nbsp;<STRONG>docker build -t {tagname}.</STRONG>&nbsp;to construct your docker container. Afterwards, the local docker image is locally built. To expose the docker image, we push the image to a docker registry. In our example, we assume that you already have a docker registry set up where you can push your image to. For that step, you can run the following commands: <STRONG>docker tag {tagname} {dockerhub repository tag}</STRONG>,&nbsp;<STRONG>docker push {</STRONG>dockerhub repository tag<STRONG>&nbsp;}.&nbsp;</STRONG>After the successful run of the command, you see within your private docker hub the newly published docker container, which contains MLflow and all its dependencies inside of it.</P><P>After the successful publishing of your docker image to your registry, we can run the following command to create a BTP app based on the published docker image:</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-bash"><code>cf push APP-NAME --docker-image REPO/IMAGE:TAG</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>After successfully publishing the docker image on our BTP Cloud Foundry environment, we can find our published app within our BTP account and are able to access&nbsp;it under the published URL.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="MLFlow Initial UI.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/106232iB3F8015926221314/image-size/large?v=v2&amp;px=999" role="button" title="MLFlow Initial UI.png" alt="MLFlow Initial UI.png" /></span></P><H2 id="toc-hId-404832221"><SPAN>Set up tracking for MLflow</SPAN></H2><P>With MLflow users have the possibility to track their trained HANA ML models. In the following paragraph, we introduce the aspects that are needed to be able to log HANA ML models into MLflow itself.&nbsp;</P><P>To be able to use MLFlow together with HANA ML, we need to first install besides the HANA ML package also the MLFlow package. Therefore, you need to run the following command in your virtual environment, to be able to run the following scripts.</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-bash"><code>pip install mlflow hana-ml</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>As a general setup, we first need to run the following command to set up our tracking with MLFlow to our available MLFlow instance. Therefore, place into the following two lines first your personal MLFlow tracking URI and your own custom experiment. In case you do not want to create a separate experiment, the different runs together with the MLFlow model are stored under the default experiment.</P><P>The method that allows us to track HANA ML models is implemented in the HANA ML package and is called enable_mlflow_autologging(schema=None, meta=None, is_exported=False, registered_model_name=None). This method can be used for initialised HANA ML models that are under the following methods:</P><UL><LI><A href="https://help.sap.com/doc/1d0ebfe5e8dd44d09606814d83308d4b/2.0.07/en-US/pal/algorithms/hana_ml.algorithms.pal.auto_ml.AutomaticClassification.html#hana_ml.algorithms.pal.auto_ml.AutomaticClassification.enable_mlflow_autologging" target="_blank" rel="noopener noreferrer">AutomaticClassification</A></LI><LI><A href="https://help.sap.com/doc/1d0ebfe5e8dd44d09606814d83308d4b/2.0.07/en-US/pal/algorithms/hana_ml.algorithms.pal.auto_ml.AutomaticRegression.html#hana_ml.algorithms.pal.auto_ml.AutomaticRegression.enable_mlflow_autologging" target="_blank" rel="noopener noreferrer">AutomaticRegression</A></LI><LI><A href="https://help.sap.com/doc/1d0ebfe5e8dd44d09606814d83308d4b/2.0.07/en-US/pal/algorithms/hana_ml.algorithms.pal.auto_ml.AutomaticTimeSeries.html#hana_ml.algorithms.pal.auto_ml.AutomaticTimeSeries.enable_mlflow_autologging" target="_blank" rel="noopener noreferrer">AutomaticTimeSeries</A></LI><LI><A href="https://help.sap.com/doc/1d0ebfe5e8dd44d09606814d83308d4b/2.0.07/en-US/pal/algorithms/hana_ml.algorithms.pal.pipeline.Pipeline.html#hana_ml.algorithms.pal.pipeline.Pipeline.enable_mlflow_autologging" target="_blank" rel="noopener noreferrer">Pipeline</A></LI><LI><A href="https://help.sap.com/doc/1d0ebfe5e8dd44d09606814d83308d4b/2.0.07/en-US/pal/algorithms/hana_ml.algorithms.pal.unified_classification.UnifiedClassification.html#hana_ml.algorithms.pal.unified_classification.UnifiedClassification.enable_mlflow_autologging" target="_blank" rel="noopener noreferrer">Unified_Classification</A></LI><LI><A href="https://help.sap.com/doc/1d0ebfe5e8dd44d09606814d83308d4b/2.0.07/en-US/pal/algorithms/hana_ml.algorithms.pal.unified_regression.UnifiedRegression.html#hana_ml.algorithms.pal.unified_regression.UnifiedRegression.enable_mlflow_autologging" target="_blank" rel="noopener noreferrer">Unified_Regression</A></LI></UL><P>Within the method enable_mlflow_autologging the user has different keywords that can be filled that allows us to influence the behaviour of our MLFlow autologging in HANA ML.</P><UL><LI>schema: Defines the HANA database schema for MLFlow autologging where the MLflow logging table is stored</LI><LI>meta: Defines the name of the model storage table in HANA database</LI><LI>is_exported: Determines if the hana model binaries should be exported to MLflow</LI><LI>registered_model_name: Name of the model stored in MLflow</LI></UL><P>In the following section we provide an overview for the Unified Interface how the logging of MLflow can be used.</P><H1 id="toc-hId-79235997">Run HANA ML Algorithms with MLflow</H1><P>As we have explained and outlined in the sections above, we have created a MLFlow instance and have introduced the syntax that is needed for the logging of HANA ML models in MLflow. In the following sections we will provide based on an example how the logging of HANA ML models on MLflow is done.</P><H2 id="toc-hId-11805211">Model training of HANA ML with MLFlow</H2><P>For the training of HANA ML in combination with MLflow, we focus in this blog post on the Unified Method. We apply for the respective elements a Classification on the sample bank dataset which can be found under the&nbsp;<A href="https://github.com/SAP-samples/hana-ml-samples/blob/main/Python-API/pal/datasets/bank-additional-full-with-header.csv" target="_blank" rel="noopener nofollow noreferrer">HANA ML sample dataset folder on GitHub</A>.</P><P>The dataset can either be uploaded directly to the SAP HANA database or you could also use SAP Datasphere as your starting point. Generally, to use HANA ML directly you would need to store the dataset in a HANA database. However, HANA ML also provides methods to integrate third party files/ data structures. This involves Pandas, Spark as also shapefiles. In addition also HANA Data Lake file tables can be integrated with HANA ML functionalities. An overview of the different methods can be found under the&nbsp;<A href="https://help.sap.com/doc/1d0ebfe5e8dd44d09606814d83308d4b/2.0.07/en-US/hana_ml.dataframe.html" target="_blank" rel="noopener noreferrer">following page</A>. In the following paragraphs, we will go through the sample code that we have created to combine HANA ML and MLFlow.</P><H2 id="toc-hId--184708294">Connect to HANA database (Deployed under SAP Datasphere)</H2><P>To be able to connect to the HANA database instance, we first need to build up a connection to the HANA database. In our example, we load the data from the data samples provided by HANA ML. During the time of this blog post, the OpenSQL schema of Datasphere only supports Basic Authentication. Therefore, in this blog post we only elaborate how the connection is done over basic authentication. SAP HANA standalone supports however non-basic authentication, which are also supported in the HANA ML package to connect certificate based to the SAP HANA instance.</P><P>To establish the connection to the HANA database, we make use of the implemented HANA ML dataframe class and call the method ConnectionContext. We store the instance of the connection in the variable&nbsp;<STRONG>conn</STRONG>. To now be able to establish the connection to the HANA database view or table, we will need to specify over the method table the connection. The beautiful aspect is that overall, the dataset is not going to be loaded to the Python runtime, but will only be represented with a proxy to the actual table in the HANA database. All transformations, if done over the methods of HANA ML, are then pushed down to the database itself and executed there if the training is executed. In our case, we load the sample dataset into our database by making use of the provided methods of the HANA ML package.</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code>""" This script provides a short example how HANA ML and MLFlow can be integrated together. The credentials to the database are following the currently supported authentification (Basic) of the SAP Datasphere OpenSQL schema. Overall, HANA Cloud standalone is also able to support multiple other authentification methods. We have used an abstraction python file (constants) where we retrieve the securely stored authentification properties. To get more details about the exact method structure needed, please have a look at the documentation: https://help.sap.com/doc/1d0ebfe5e8dd44d09606814d83308d4b/2.0.07/en-US/hana_ml.dataframe.html#hana_ml.dataframe.ConnectionContext """ from hana_ml import dataframe from hana_ml.algorithms.pal.unified_classification import UnifiedClassification from hana_ml.algorithms.pal.auto_ml import AutomaticClassification import mlflow from hana_ml.algorithms.pal.auto_ml import Preprocessing from hana_ml.algorithms.pal.partition import train_test_val_split from constants import db_url, db_user, db_password # dataset retrieval conn = dataframe.ConnectionContext(address=db_url, port=443, user=db_user, password=db_password) dataset_data, training_data, _, test_data = DataSets.load_bank_data(connection=conn, schema=schema_name, train_percentage=0.7, valid_percentage=0, test_percentage=0.3, seed=43)</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>After connecting to the database, the user is able to use the preprocessing methods implemented in HANA ML. Generally, the different changes are pushed down to the HANA database and are not executed within the Python runtime. In our use case, we do not need to use the data preprocessing as we directly retrieve a sample dataset which we can directly use for our ML training.</P><P>After finishing the potentially needed transformations, we are now able to implement the tracking of our HANA ML runs with the possibility of MLFlow. Similar to the normal usage of MLFlow, we set up first our tracking uri under which we want to store our HANA ML runs and models. In your case you would need to change the keyword <STRONG>mlflow_tracking_uri</STRONG> with your respective MLflow tracking URL. Furthermore, we then are able to specify the experiment name under which the runs are tracked. If we do not specify a specific experiment, the runs are tracked under the Default experiment.</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code># set up MLFlow mlflow.set_tracking_uri(mlflow_tracking_uri) mlflow.set_experiment("HANA ML Experiment")</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>In the following chapters, we will provide an outline how the exact training is performed and what components are logged to MLflow.</P><H3 id="toc-hId--252139080">Unified Method</H3><P>For the example we use the implemented Hybrid Gradient Boosting Tree as a classification algorithm for our Classification. In order to perform the classification, we use the Unified Classification in order to be able to run our algorithm. On the defined variable, we then use the implemented enable_mlflow_autologging method. This allows us to directly log the model using implemented auto logging behaviour.</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code>uc = UnifiedClassification(func="HybridGradientBoostingTree") uc.enable_mlflow_autologging() uc.fit(training_data, key="ID", label="responded")</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>We call the fit method once we have initiated the HANA ML model variable and the associated autologging for MLflow. For the fit method, we have in total two different options. Firstly, the non-partitioned training dataset where we only use the training dataset. If we decide to partition our training dataset, we allow to create a validation dataset for which we can log metrics automatically during training.</P><P>If we do not define for our fit function the partitioning, we will not log metrics within MLFlow. In the following image, you can see how a potential HANA ML tracked run looks like in MLFlow together with the stored HANA ML model in MLflow.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="MLflow Initial Model.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107009i7D8C6FCD09145880/image-size/large?v=v2&amp;px=999" role="button" title="MLflow Initial Model.png" alt="MLflow Initial Model.png" /></span></P><P><SPAN>If we decide to partition our dataset, here for instance to partition the dataset along the defined primary key, we are able to directly log evaluation metrics relevant for the Classification we have used. This includes the following metrics: AUC, Recall, Precision, F1 Score, Accuracy, Kappa coefficient and the Mathews Correlation Coefficient (MCC). This would directly allow us to compare multiple runs within our MLFlow project to one another and measure the different performances.</SPAN></P><P><FONT face="inherit"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="MLFlow Metric Model.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107015i7FB44324969988A4/image-size/large?v=v2&amp;px=999" role="button" title="MLFlow Metric Model.png" alt="MLFlow Metric Model.png" /></span></FONT></P><P><FONT face="inherit">&nbsp;In addition to the general run, HANA ML also logs the model to MLflow. What is logged to MLflow depends on the parameters set&nbsp;for the method </FONT><STRONG>enable_mlflow_autologging</STRONG><FONT face="inherit">. If for instance everything is set to the default settings, we will see the following yaml file to be logged </FONT>to MLflow.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="MLflow model.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107027i73AC9FF7204BAD74/image-size/large?v=v2&amp;px=999" role="button" title="MLflow model.png" alt="MLflow model.png" /></span></P><P>&nbsp;<SPAN>If within the method&nbsp;</SPAN><STRONG>enable_mlflow_autologging </STRONG><FONT face="inherit">the parameter is set to is_exported, the model binaries stored in the model storage on HANA are exported to MLflow. This setting would allow us to </FONT>retrieve<FONT face="inherit">&nbsp;the trained model from MLflow and use it in a different HANA database for prediction purposes. In addition to the yaml file containing the metadata we now can see a created subfolder called models which contains the necessary model </FONT>artefacts<FONT face="inherit">&nbsp;normally stored in the HANA database now in MLflow.</FONT></P><P><FONT face="inherit"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="MLflow exported model.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107028i5B476B0754A68F6C/image-size/large?v=v2&amp;px=999" role="button" title="MLflow exported model.png" alt="MLflow exported model.png" /></span></FONT></P><P><FONT face="inherit">After the training is finished, we have </FONT><SPAN>besides the auto logging capabilities of HANA ML for MLflow the possibility to track further artefacts in MLflow. In the following section we will outline a few possibilities that exist with the additional tracking.</SPAN></P><H2 id="toc-hId--577735304">Additional logging possibilities</H2><P>Besides the outlined auto logging capabilities, we can track with MLFlow additional artefacts to the respective run. In the following chapters, we outline selected possibilities to further enrich the auto logging for HANA ML runs tracked in MLFlow.</P><H3 id="toc-hId--645166090">Adding run and experiment description</H3><P><SPAN>The description in the experiment section can be handy once the number of your experiments grows in the repository. In addition, mlflow allows to also add individual description to each run of an experiment. Using the following methods you can set up both:</SPAN></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code>from mlflow.tracking import MlflowClient current_experiment=dict(mlflow.get_experiment_by_name("HANA ML Experiment")) experiment_id=current_experiment['experiment_id'] run = mlflow.active_run() MlflowClient().set_experiment_tag(experiment_id,"mlflow.note.content", "This experiment shows the automated methods of HANA machine learning and how to track them with MLFLOW") MlflowClient().set_tag(run.info.run_id, "mlflow.note.content", "This is a run tracked with Unified Classification from HANA Machine Learning")</code></pre><P>&nbsp;</P><P>&nbsp;</P><H3 id="toc-hId--916910964">Logging input datasets</H3><P><SPAN>Sometimes it is important to keep the input dataset also as part of the tracking with MLflow. Since HANA machine learning datasets are located in HANA, they need to be converted to pandas DataFrames to be tracked as shown in the following code:</SPAN></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code># Store training dataset in MLFlow itself pandas_training_dataset = training_data.collect() mlflow_dataset = mlflow.data.from_pandas(pandas_training_dataset, name="Customer data", targets="LABEL") mlflow.log_input(mlflow_dataset, context='training')</code></pre><P>&nbsp;</P><P>&nbsp;</P><P><SPAN>This results in the change, that the respective state of the training data is logged to the current run. The logged dataset can be found in the associated MLflow run, where the schema of the dataset is provided together with some metadata information about the number of rows and number of elements. In addition, also the provided context is marked in the UI of MLflow.</SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="2024-05-07_16-02-25.png" style="width: 799px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/106929iF8F82FDDFDF435A7/image-size/large?v=v2&amp;px=999" role="button" title="2024-05-07_16-02-25.png" alt="2024-05-07_16-02-25.png" /></span></SPAN></P><H3 id="toc-hId--1113424469"><SPAN>Logging a model report</SPAN></H3><P><SPAN>In addition to the logging of the dataset, it might also be important to add a model report to MLFlow. HANA ML generally provides different interactive visualisations for the trained model artefact, which can be stored as an HTML file. After the storing of the model report to your local repository, we can log the input of the model report to our current run. This allows us to interactively explore the model report automatically generated by HANA ML and make it accessible in MLFlow. To log the HANA ML model report, you can use the following code snippet.</SPAN></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code># create additional model report in MLFlow UnifiedReport(uc).display(save_html="UnifiedReport") mlflow.log_artifact("UnifiedReport_unified_classification_model_report.html")</code></pre><P>&nbsp;</P><P>&nbsp;</P><P><SPAN>After the Model report is stored successfully under the current run, we can see in the artefact&nbsp;tab in MLFlow the interactive model report:</SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="artifact_mlflow.gif" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107064i48983C52AA76D768/image-size/large?v=v2&amp;px=999" role="button" title="artifact_mlflow.gif" alt="artifact_mlflow.gif" /></span></SPAN></P><P>&nbsp;<SPAN>The complete script used for this section can be found in the following code snippet:</SPAN></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code>from hana_ml import dataframe from hana_ml.algorithms.pal.unified_classification import UnifiedClassification from hana_ml.visualizers.unified_report import UnifiedReport import mlflow from hana_ml.algorithms.pal.utility import DataSets from constants import db_url, db_user, db_password # dataset retrieval conn = dataframe.ConnectionContext(address=db_url, port=443, user=db_user, password=db_password) dataset_data, training_data, _, test_data = DataSets.load_bank_data(connection=conn, schema=schema_name, train_percentage=0.7, valid_percentage=0, test_percentage=0.3, seed=43) # set up MLflow mlflow.set_tracking_uri(tracking_uri) mlflow.set_experiment("HANA ML Experiment") # set up classification uc = UnifiedClassification(func="HybridGradientBoostingTree") uc.enable_mlflow_autologging(is_exported=True) # train model uc.fit(training_data, key="ID", label="LABEL", partition_method="stratified", stratified_column="ID", partition_random_state=43, build_report=True) # create additional model report in MLFlow UnifiedReport(uc).display(save_html="UnifiedReport") mlflow.log_artifact("UnifiedReport_unified_classification_model_report.html") # Store training dataset in MLFlow itself pandas_training_dataset = training_data.collect() mlflow_dataset = mlflow.data.from_pandas(pandas_training_dataset, name="Customer data", targets="LABEL") mlflow.log_input(mlflow_dataset, context='training')</code></pre><P>&nbsp;</P><P>&nbsp;</P><H2 id="toc-hId--1016534967">Apply of trained model</H2><P>After we have finished our training, we are able with HANA ML to retrieve the model from MLFLow and use it for our prediction purposes. For this purpose, we will create a separate Python script where we will provide an overview to retrieve the trained MLflow model.</P><P>Similar to our training script, we first set up our connection to the HANA database and establish the connection to our table. In our case, we simply use the sample dataset provided by HANA ML.</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code>from hana_ml import dataframe from hana_ml.algorithms.pal.unified_classification import UnifiedClassification from hana_ml.visualizers.unified_report import UnifiedReport import mlflow from hana_ml.algorithms.pal.utility import DataSets from constants import db_url, db_user, db_password # dataset retrieval conn = dataframe.ConnectionContext(address=db_url, port=443, user=db_user, password=db_password) dataset_data, training_data, _, test_data = DataSets.load_bank_data(connection=conn, schema=schema_name, train_percentage=0.7, valid_percentage=0, test_percentage=0.3, seed=43)</code></pre><P>&nbsp;</P><P>&nbsp;</P><P><SPAN>Similar to our training script, we need to set the tracking url for MLflow and need to initiate the model storage of HANA. If we have decided to not export the HANA ML model to MLflow, we need to specify the same schema for the model storage where our HANA ML model is stored after the successful run. In case we have exported our model, we are able to specify a different schema. In the following, you can see the necessary script in order to retrieve the logged HANA ML model from MLflow.</SPAN></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code># set up MLFlow and model storage mlflow.set_tracking_uri(tracking_url) model_storage = ModelStorage(connection_context=conn, schema=schema_name)</code></pre><P>&nbsp;</P><P>&nbsp;</P><P>After the model storage has been initiated, we are able to retrieve the stored HANA ML model from MLflow. In order to select the correct model, you need to extract the correct run id associated to the model you would like to apply for your prediction dataset. In our case, this is the test dataset we have received from the sample dataset method. The model_uri needed for the model retrieval is consisting of the following pattern 'runs:/{run id}/model', in which you would need to exchange the run id with your respective run. For the actual retrieval of the model, we use the initiated model storage, in our case called <STRONG>model_storage</STRONG>&nbsp;and call the method <STRONG>load_mlflow_model</STRONG> to load the MLflow model to our HANA database and assign the respective proxy to our variable <STRONG>mymodel</STRONG>. The variable <STRONG>mymodel</STRONG> is then used to call the predict method in order to apply our model to our dataset. In the end we transform our prediction dataset into a Pandas DataFrame to look at the content of the created DataFrame. Normally, we could directly persist the created temporary table with the <A href="https://help.sap.com/doc/1d0ebfe5e8dd44d09606814d83308d4b/2.0.07/en-US/hana_ml.dataframe.html#hana_ml.dataframe.DataFrame.save" target="_self" rel="noopener noreferrer">save method</A> and therefore make the dataset available for further processing.</P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code># load logged run from MLflow to HANA ML logged_model = 'runs:/d8a763b7b81940598633605e447cd880/model' mymodel = model_storage.load_mlflow_model(connection_context=conn, model_uri=logged_model) dataset_data_predict = mymodel.predict(data=test_data, key="ID") # collect the predicted dataset to see content in dataframe print(dataset_data_predict.collect())</code></pre><P>&nbsp;</P><P>&nbsp;</P><P><SPAN>After running the script, you should be able to see the following terminal output, for which we can see the download of the artefact stored in MLflow and the created prediction dataset, which consists in our case of 4 columns: ID (primary key), SCORE (predicted label), CONFIDENCE (prediction confidence for applied row) and REASON_CODE (influence of individual variables to prediction output). </SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Terminal output MLflow HANA model.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107043i774317219AD52360/image-size/large?v=v2&amp;px=999" role="button" title="Terminal output MLflow HANA model.png" alt="Terminal output MLflow HANA model.png" /></span></SPAN></P><P>&nbsp;<SPAN>In case we have exported our model, the output of our terminal look slightly different indicating that we also download the respective model artefacts stored additionally to the yaml file. In the following you see the complete script used for applying the model to a new dataset.</SPAN></P><P>&nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-python"><code>from hana_ml import dataframe from hana_ml.model_storage import ModelStorage from hana_ml.algorithms.pal.utility import DataSets import mlflow from constants import db_url, db_user, db_password conn = dataframe.ConnectionContext(address=db_url, port=443, user=db_user, password=db_password) # full_set, diabetes_train, diabetes_test, _ = DataSets.load_diabetes_data(conn) dataset_data, training_data, _, test_data = DataSets.load_bank_data(connection=conn, schema=schema_name, train_percentage=0.7, valid_percentage=0, test_percentage=0.3, seed=43) # set up MLFlow and model storage mlflow.set_tracking_uri(tracking_uri) model_storage = ModelStorage(connection_context=conn, schema=schema_name) # load logged run from MLflow to HANA ML logged_model = 'runs:/ed7b8d4734cb42ca90c417f932957b40/model' mymodel = model_storage.load_mlflow_model(connection_context=conn, model_uri=logged_model) dataset_data_predict = mymodel.predict(data=test_data, key="ID") # collect the predicted dataset to see content in dataframe print(dataset_data_predict.collect())</code></pre><P>&nbsp;</P><P>&nbsp;</P><H1 id="toc-hId--919645465"><SPAN>Key take aways</SPAN></H1><P><SPAN>In this blog post we have showcased an end to end example how MLflow can be integrated in your HANA ML workload by providing the possibility to share and compare multiple tracked runs in MLflow. If the data is already stored in HANA, this allows you to directly interact with MLflow while being able to run your Machine Learning algorithms on data stored in the HANA database without the need to transfer your data between multiple systems. This blog covered an essential part of the automated logging capabilities of HANA ML models into MLflow.&nbsp;</SPAN></P><P>We highly appreciate your thoughts, comments and questions under this blog post. In case you want to reach out for general questions around HANA, or specifically HANA ML, don't hesitate to use the <A href="https://community.sap.com/t5/technology-q-a/qa-p/technology-questions" target="_self">Q&amp;A tool</A>&nbsp;with the respective tags that describe your question.</P> 2024-05-08T17:00:00.007000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/tracking-hana-machine-learning-experiments-with-mlflow-a-conceptual-guide/ba-p/13688478 Tracking HANA Machine Learning experiments with MLflow: A conceptual guide for MLOps 2024-05-08T19:17:01.849000+02:00 stojanm https://community.sap.com/t5/user/viewprofilepage/user-id/39047 <H2 id="toc-hId-993627937">Introduction</H2><P>MLflow is an open-source platform, which is the de facto standard, when it comes to managing and streamlining machine learning lifecycles, including experimentation, reproducibility, and deployment. It offers a centralized repository to track experiments, share projects, and collaborate effectively, making it a common choice among data scientists and can be used with most open-source machine learning frameworks (e.g. scikit-learn, Tensorflow, etc.).</P><P>Some providers offer MLflow as a managed service (e.g. Databricks) or integrate it (e.g. Azure ML). In addition, it is possible for the user to deploy the service manually on their platform of choice (e.g. on SAP Business Technology Platform).</P><P>Starting with version 2.13 HANA Machine Learning added support for tracking of experiments with the mlflow package. This makes models, which were developed using hanaml, easily incorporated into an extensive MLOps pipeline.</P><P><SPAN>This blog post is part of a series describing the usage of MLflow with HANA Machine Learning co-authored by <a href="https://community.sap.com/t5/user/viewprofilepage/user-id/43098">@martinboeckling</a>&nbsp;and <a href="https://community.sap.com/t5/user/viewprofilepage/user-id/39047">@stojanm</a>. In the first part</SPAN><SPAN> we present an conceptual guide on how to use MLflow with SAP Datasphere and HANA Machine Learning (through the hanaml package). The objective is to provide to the reader a high level template for machine learning operations (MLOps) for HANA ML specifically with MLflow. In the second part of the series, called <A href="https://community.sap.com/t5/technology-blogs-by-sap/tracking-hana-machine-learning-experiments-with-mlflow-a-technical-deep/ba-p/13692481" target="_blank">Tracking HANA Machine Learning experiments with MLflow: A technical Deep Dive</A>, we provide a more technical deep dive on how to setup an MLflow instance and a general introduction on how Machine Learning models trained with HANA ML can be logged with MLflow.</SPAN></P><P><SPAN>It is important to mention that SAP offers an extensive MLOps platform for managing ML experiments, AI Core / AI Launchpad, which is out of the scope of this post. For more information on AI Core please refer to the <A href="https://community.sap.com/t5/technology-blogs-by-sap/ai-foundation-sap-s-all-in-one-ai-toolkit-for-developers/ba-p/13581014" target="_blank">blog post here</A>. </SPAN></P><P>Ok, let's start reviewing our example. We will work our way along a simplified Machine Learning pipeline as shown below and will comment on the architectural patterns for each task.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="PipelineV3.png" style="width: 707px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/105718i25B379A47143C54A/image-dimensions/707x67?v=v2" width="707" height="67" role="button" title="PipelineV3.png" alt="PipelineV3.png" /></span></P><P>To simplify the use case, we will assume that the<SPAN>&nbsp;gravity of the data required for our model lies within SAP. This means that majority of the data used for model training is in an SAP application either on-premise or in the cloud. </SPAN></P><H3 id="toc-hId-926197151"><SPAN>Data Modeling</SPAN></H3><P><SPAN>Typically&nbsp;data landscapes in enterprises are quite complex and data is distributed across numerous systems. So, even though the majority of the data for our example comes from an SAP source, it is realistic to assume that for the modeling a portion of that data could come from another system. It is the task of a Data Engineer to connect to the data and to prepare it for the algorithm training (e.g. feature engineering). As shown in the picture below SAP Datasphere can help unify data sources in a central repository either via federation or, where not supported, via replication.&nbsp;</SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="DataModeling.jpg" style="width: 614px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107828i0DD1F43F1EC03698/image-dimensions/614x268?v=v2" width="614" height="268" role="button" title="DataModeling.jpg" alt="DataModeling.jpg" /></span></SPAN></P><P><SPAN>In addition to the data modeling features, SAP Datasphere also</SPAN>&nbsp;offers<SPAN>&nbsp;a runtime for Machine Learning tasks thanks to the embedded HANA Cloud instance. This runtime can be utilized by Data Scientists and since it is embedded it allows to perform ML without the need for data movement and replication. This brings several benefits related to security, execution speed, business context preservation and compliance aspects. For more information about those benefits&nbsp;check out&nbsp;</SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-datasphere-seamless-extraction-of-business-insights-in-multi-cloud/ba-p/13563518" target="_blank">this blog post.</A></P><P><SPAN>Ok, let's move to the data science tasks and model training.</SPAN></P><H3 id="toc-hId-729683646">Model Training</H3><P>During this phase Data Scientists experiment and iteratively develop the ML model. Most Data Science experts have their preferred platform for ML prototyping. The HANA Machine Learning Python package, called hana-ml, can be used with any Python IDE available. The development environment can be either deployed manually by the Data Scientist or hosted centrally on a dedicated platform. The following blog posts show examples how HANA Machine Learning code can be developed using different platforms: <A href="https://community.sap.com/t5/technology-blogs-by-sap/azure-machine-learning-triggering-calculations-ml-in-sap-data-warehouse/ba-p/13523316" target="_blank">Azure ML</A> and <A href="https://community.sap.com/t5/technology-blogs-by-sap/databricks-triggering-calculations-ml-in-sap-data-warehouse-cloud/ba-p/13540177" target="_blank">Databricks</A>.&nbsp;</P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ModelTraining.jpg" style="width: 624px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107829i4F918A3F5D5FF3B1/image-dimensions/624x254?v=v2" width="624" height="254" role="button" title="ModelTraining.jpg" alt="ModelTraining.jpg" /></span></SPAN></P><P>&nbsp;<SPAN>Already during training and experimentation, MLflow plays an important role. It helps evaluate the progress and log the details of each experiment run for later reference. Several algorithms from the hana-ml package (e.g. Automated* or Unified* methods) support the automatic logging of model key performance indicators during training.&nbsp;This is seamless for the user and uses the same interface as open source frameworks. It allows to track hyper parameters, model performance KPIs and also log training activities with usernames and timestamps for auditibility. For more technical details about these features please refer to the </SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/tracking-hana-machine-learning-experiments-with-mlflow-a-technical-deep/ba-p/13692481" target="_self">second part</A><SPAN> of our blog post.</SPAN></P><H3 id="toc-hId-533170141">Model Deployment</H3><P>Once a suitable model has been selected and trained, it needs to be deployed. For our example with HANA Machine Learning, we will do this in two steps. In the first step, hana-ml is used to store the artifacts into the built-in model repository of SAP HANA Cloud. In the second step the model is exposed via an API to be consumed by other applications. This can be achieved in several ways, but a lean approach is to use a deployed Flask application (e.g. on SAP Business Technology Platform). To see the details on this process please refer to <A href="https://community.sap.com/t5/technology-blogs-by-sap/scheduling-python-code-on-cloud-foundry/ba-p/13503697" target="_blank">this blog post</A>.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ModelDeployment.jpg" style="width: 622px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107830iFD1AC1F838D1E95C/image-dimensions/622x276?v=v2" width="622" height="276" role="button" title="ModelDeployment.jpg" alt="ModelDeployment.jpg" /></span></P><P>&nbsp;<SPAN>Model Performance Tracking</SPAN></P><P>In addition to being able to track experiments while training the model, also tracking of the model performance after deployment is important - e.g. in order to track prediction quality and also detect effects like data drift, etc. Some information about those concepts can be found in <A href="https://community.sap.com/t5/technology-blogs-by-sap/sap-data-intelligence-as-an-mlops-platform/ba-p/13441314" target="_blank">this blog post</A>.</P><P>In our example we will achive the monitoring of the model during operations as follows: Since our model is deployed and exposed via a Flask application, as proposed above, in the application code we use the mlflow package to log incoming data as well as predictions. This allows us to run validation tests (compare actual vs. predicted) once validation data becomes available.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ModelPerformanceTracking.jpg" style="width: 629px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107831iD540D3392AA56977/image-dimensions/629x256?v=v2" width="629" height="256" role="button" title="ModelPerformanceTracking.jpg" alt="ModelPerformanceTracking.jpg" /></span></P><P>&nbsp;<SPAN>Let's now review how to detect deterioration in model performance and how to perform retraining.&nbsp;</SPAN></P><H3 id="toc-hId-336656636">Model Re-Training</H3><P>Model retraining could be either scheduled or triggered based on a condition or an event. There are several ways how this can be achieved, including automation flows, like SAP Build Process Automation, AirFlow (<A href="https://airflow.apache.org/" target="_blank" rel="noopener nofollow noreferrer">https://airflow.apache.org/</A>) or Kubeflow (<A href="https://www.kubeflow.org/" target="_blank" rel="noopener nofollow noreferrer">https://www.kubeflow.org/</A>), or by simple helper applications deployed by the user.</P><P>For the sake of simplicity in our case we use a simple application deployed on SAP Business Technology Platform (e.g. on Cloud Foundry), which can schedule model retraining runs (e.g. if new training data becomes available regularly). This same application can periodically run a check on the model performance via the APIs from mlflow as described in the previous section. And if there is any performance deterioration (e.g. there is a high deviation in predicted vs actuals) a new retraining run can be performed. And as discussed already, during the new training run the model parameters will be logged via hana-ml and mlflow. In addition, the model will be updated in the model repository in SAP HANA Cloud.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="ModelRetraining.jpg" style="width: 630px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107832i01B06E252BF6ED67/image-dimensions/630x314?v=v2" width="630" height="314" role="button" title="ModelRetraining.jpg" alt="ModelRetraining.jpg" /></span></P><P>&nbsp;<SPAN>This closes the cycle for the example ML pipeline in the first section. Let's put all pieces together to see the big picture.</SPAN></P><H3 id="toc-hId-140143131">Key takeaways</H3><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Overview.jpg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107833iE812F4DCDFFACB49/image-size/large?v=v2&amp;px=999" role="button" title="Overview.jpg" alt="Overview.jpg" /></span></P><P>&nbsp;<SPAN>In this blog post we showcased an example conceptual and architectural blueprint on how to realize MLOps pipelines using SAP HANA Machine Learning and the open-source framework MLflow. We discussed the end-to-end process and the advantages of integrating these tools to streamline the machine learning lifecycle, especially in the part of model lifecycle management. To see the technical details and example code to achieve the described steps please refer to the second part of the blog series </SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/tracking-hana-machine-learning-experiments-with-mlflow-a-technical-deep/ba-p/13692481" target="_blank">here</A><SPAN>. Happy reading!</SPAN></P> 2024-05-08T19:17:01.849000+02:00 https://community.sap.com/t5/sap-codejam-blog-posts/sap-codejam-hana-ml-in-pozna%C5%84-2024-04-recap/ba-p/13696447 SAP CodeJam HANA ML In Poznań 2024-04 Recap 2024-05-09T16:09:45.370000+02:00 Vitaliy-R https://community.sap.com/t5/user/viewprofilepage/user-id/183 <P>This week, we had the Getting Started with Machine Learning using SAP HANA and <a href="https://community.sap.com/t5/c-khhcw49343/Python/pd-p/f220d74d-56e2-487e-8e6c-a8cb3def2378" class="lia-product-mention" data-product="126-1">Python</a>&nbsp;in Poznań, Poland, kindly hosted by All-for-One Poland and organized by&nbsp;<a href="https://community.sap.com/t5/user/viewprofilepage/user-id/122064">@JulianG</a>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="1715250588532.jpeg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108053i68825F50D863896E/image-size/medium?v=v2&amp;px=400" role="button" title="1715250588532.jpeg" alt="1715250588532.jpeg" /></span></P><P>We got participants not only from Poznań, but as well from Polkowice and Warsaw.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="1715250588980.jpeg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108059i36D5A1C90F714463/image-size/medium?v=v2&amp;px=400" role="button" title="1715250588980.jpeg" alt="1715250588980.jpeg" /></span></P><P>&nbsp;I would like to thank Gabriela, Danka, and Julian for the organization!</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="1715250588605.jpeg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108062iFEF6B4426803561C/image-size/medium?v=v2&amp;px=400" role="button" title="1715250588605.jpeg" alt="1715250588605.jpeg" /></span></P><P>And, as always, it was great to catch up with local SAP community veterans&nbsp;<a href="https://community.sap.com/t5/user/viewprofilepage/user-id/141029">@DominikTylczyn</a>&nbsp;and&nbsp;<a href="https://community.sap.com/t5/user/viewprofilepage/user-id/739">@GregMalewski</a>&nbsp;during a spontaneous SAP Stammtisch the night before <span class="lia-unicode-emoji" title=":clinking_beer_mugs:">🍻</span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="IMG_0226.jpeg" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108063i81879B0D99F6BBF1/image-size/medium?v=v2&amp;px=400" role="button" title="IMG_0226.jpeg" alt="IMG_0226.jpeg" /></span></P><P>&nbsp;</P><DIV class=""><DIV class=""><DIV class=""><P>If you want to host the SAP CodeJam on this topic, then please check:&nbsp;<A href="https://community.sap.com/t5/technology-blogs-by-sap/quot-getting-started-with-machine-learning-using-sap-hana-quot-as-a-new-sap/ba-p/13574098" target="_blank">https://community.sap.com/t5/technology-blogs-by-sap/quot-getting-started-with-machine-learning-using-sap-hana-quot-as-a-new-sap/ba-p/13574098</A></P><P>&nbsp;</P></DIV></DIV></DIV> 2024-05-09T16:09:45.370000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/exploring-ml-explainability-in-sap-hana-pal-classification-and-regression/ba-p/13681514 Exploring ML Explainability in SAP HANA PAL – Classification and Regression 2024-05-10T08:45:44.156000+02:00 xinchen https://community.sap.com/t5/user/viewprofilepage/user-id/712820 <H1 id="toc-hId-864337452">1. Introduction</H1><P style=" text-align : justify; ">In this blog post, we will delve into the concept of Machine Learning (ML) Explainabilityin SAP HANA Predictive Analysis Library (PAL) and showcase how HANA PAL has seamlessly integrated this feature into various classification and regression algorithms, providing an effective tool for understanding predictive modeling.&nbsp;ML explainability are integral to achieving SAP's ethical AI goals, ensuring fairness, transparency, and trustworthiness in AI systems.</P><P>Upon completing this article, your key takeaways will be:</P><UL><LI>An understanding of the concept of ML Explainability.</LI><LI>How to utilize HANA PAL for ML Explainability in classification and regression tasks.</LI><LI>Hands-on experience with Python Machine Learning Client for SAP HANA (hana-ml) through an example.</LI></UL><P>Please note that ML explainability in HANA PAL is not just confined to classification and regression tasks but also extends to time series analysis. We will explore these topics in the following blog post. Stay tuned!</P><P>&nbsp;</P><H1 id="toc-hId-667823947">2. ML Explainability</H1><P style=" text-align : justify; ">ML Explainability, often intertwined with the concepts of transparency and interpretability, refers to the ability to understand and explain the predictions and decisions made by ML models. It aims to clarify which key features or patterns in the data contribute to specific outcomes.</P><P style=" text-align : justify; ">The necessity for explainability escalates with AI's expanding role in critical sectors of society, where obscure decision-making processes can have significant ramifications. It is essential for fostering trust, advocating fairness, and complying with regulatory standards.</P><P style=" text-align : justify; ">The field of ML explainability is rapidly evolving as researchers in both academia and industry strive to make AI smarter and more reliable. Currently, several techniques are widely employed to enhance the comprehensibility of ML models. These methods are generally divided into two categories: <STRONG>global</STRONG> and <STRONG>local</STRONG>.</P><P><STRONG>Global explainability methods</STRONG> seek to reveal the average behavior of ML models and the overall impact of features. This category encompasses both:</P><UL class="lia-list-style-type-circle"><LI><STRONG>Model-Specific </STRONG>approaches, utilize inherently interpretable models like linear regression, logistic regression, and decision trees, which are designed to be understandable. For instance, feature importance scores in tree-based models assess how often features are used to make decisions within the tree structure.</LI><LI><STRONG>Model-Agnostic </STRONG>approaches&nbsp;that offer flexibility by detaching the explanation from the model itself, utilizing techniques like permutation importance, functional decomposition, and global surrogate models.</LI></UL><P style=" text-align : justify; ">In contrast, <STRONG>local explainability methods</STRONG> focus on explaining individual predictions. These methods include Individual Conditional Expectation, Local Surrogate Models (such as LIME, which stands for Local Interpretable Model-agnostic Explanations), SHAP values (SHapley Additive exPlanations), and Counterfactual Explanations.</P><P>&nbsp;</P><H1 id="toc-hId-471310442">3.&nbsp;ML Explainability in PAL</H1><P style=" text-align : justify; ">PAL, a key component of SAP HANA's Embedded ML, is designed for data scientists and developers to execute out-of-box ML algorithms within HANA SQL Script procedures. This eliminates the need to export data in another environment for processing, thereby reducing data redundancy and enhancing the performance of analytics applications.</P><P style=" text-align : justify; ">In terms of explainability, PAL offers a variety of robust methods for both classification and regression tasks through its Unified Classification, Unified Regression, and AutoML functions. The model explainability is made accessible via the standard AFL SQL interface and the Python/R machine learning client for SAP HANA (hana_ml and hana.ml.r).&nbsp;By offering both local and global explainability methods, PAL ensures that users can choose the level of detail that best suits their needs.</P><UL><LI><STRONG>Local Explainability Methods</STRONG><BR /><UL class="lia-list-style-type-square"><LI>SHAP (SHapley Additive exPlanations values), inspired by game theory, serve as a measure to explain the contribution of each feature towards a model's prediction for a specific instance. PAL implements various SHAP computation methods, including linear, kernel, and tree SHAP, tailored for different functions. For example, in tree algorithms such as Decision Tree (DT), RDT, and HGBT, PAL also provides tree SHAP and Saabaas for computation.&nbsp; PAL also implements kernel SHAP in the context of AutoML pipelines to enhance the interpretability of model outputs.</LI></UL></LI></UL><P>&nbsp;</P><UL><LI><STRONG>Global&nbsp;Explainability Methods</STRONG><UL class="lia-list-style-type-square"><LI>Permutation Importance: A global model-agnostic method that involves randomly shuffling the values of each feature and measuring the impact on the model's performance during the model training phase. A significant drop in performance after shuffling indicates the importance of a feature. For more detailed exploration and examples, one can refer to the blog post on <A href="https://community.sap.com/t5/technology-blogs-by-sap/global-explanation-capabilities-in-sap-hana-machine-learning/ba-p/13620594" target="_self">permutation importance.</A></LI><LI>Global Surrogate: Within AutoML, after identifying the best pipeline, PAL also provides a Global Surrogate model to explain the pipeline's behavior.</LI><LI>A native method to tree-based models like RDT and HGBT that quantifies the importance of features based on their frequency of use in splitting nodes within the tree or by the reduction in impurity they achieve.&nbsp;</LI></UL></LI></UL><H1 id="toc-hId-274796937">&nbsp;</H1><H1 id="toc-hId-78283432">4.&nbsp;Explainability Example</H1><H2 id="toc-hId-10852646">4.1&nbsp;Use case and data</H2><P style=" text-align : justify; ">In this section, we will use a publicly accessible synthetic recruiting dataset which is derived from an example at the <A href="https://cdeiuk.github.io/bias-mitigation/recruiting/" target="_self" rel="nofollow noopener noreferrer">[Centre for Data Ethics and Innovation]</A> as a case study to explore HANA PAL ML explainability. All source code will use Python Machine Learning Client for SAP HANA(hana_ml). Please note that the example code use in this section is only intended to better explain and visualize ML explainability in SAP HANA PAL, not for productive use.&nbsp;</P><P style=" text-align : justify; ">This artificial dataset represents individual job applicants, featuring attributes that relate to their experience, qualifications, and demographics. This same dataset is also used in my another blog post on <A href="http://Fairness%20in Machine Learning - A New Feature in SAP HANA Cloud PAL" target="_self" rel="nofollow noopener noreferrer">PAL ML fairness</A>. We have identified the following 13 variables (from Column 2 to Column 14) to be potentially relevant in an automated recruitment setting. The first column includes IDs, and the last one is the target variable, 'employed_yes',&nbsp;hence the model shall predict if an applicant will or shall be employed or not.</P><OL><LI><FONT face="arial,helvetica,sans-serif"><SPAN>ID: ID column</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>gender : Femail and male,&nbsp;identified as 0 (Female) and 1 (Male)</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>ethical_group : Two ethic groups,&nbsp;identified as 0 (ethical group X) and 1 (ethical group Y)</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>years_experience : Number of career years relevant to the job</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>referred : Did the candidate get referred for this position</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>gcse : GCSE results</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>a_level : A-level results</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>russell_group : Did the candidate attend a Russell Group university</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>honours : Did the candidate graduate with an honours degree</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>years_volunteer : Years of volunteering experience</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>income : Current income</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>it_skills : Level of IT skills</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>years_gaps : Years of gaps in the CV</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><SPAN>quality_cv : Quality of written CV</SPAN></FONT></LI><LI><FONT face="arial,helvetica,sans-serif"><FONT face="arial,helvetica,sans-serif"><SPAN>employed_yes : Whether currently employed or not (<STRONG>target variable)</STRONG></SPAN></FONT></FONT></LI></OL><P style=" text-align : justify; ">A total of 10,000 instances have been generated and the dataset has been divided into two dataframes: employ_train_df (80%) and employ_test_df (20%). The first 5 rows of <SPAN>employ_train_df is shown in Fig.1.</SPAN></P><H3 id="toc-hId--56578140"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Fig. 1 The first 5 rows of training dataset" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102863i2E7A0A809FC9DD7C/image-size/large?v=v2&amp;px=999" role="button" title="train_df_sample.png" alt="Fig. 1 The first 5 rows of training dataset" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Fig. 1 The first 5 rows of training dataset</span></span></H3><H2 id="toc-hId--382174364">4.2 Fitting the Classification ML Model</H2><P style=" text-align : justify; ">In the following paragraphs, we will utilize the UnifiedClassification and select the "<STRONG>r</STRONG>andom<STRONG>d</STRONG>ecision<STRONG>t</STRONG>ree" (<STRONG>RDT</STRONG>) algorithm to showcase the various methods PAL offers for model explainability.</P><P style=" text-align : justify; ">Firstly, we instantiate a 'UnifiedClassification' object "<FONT color="#808080">urdt</FONT>" and train a random decision trees model using a training dataframe employ_train_df. Following this, we employ the score() function to evaluate the model's performance. As shown in Fig.2, the model's overall performance is satisfactory, as indicated by its AUC, accuracy, and precision-recall rates for both classes 0 and 1 in the model report .</P><P><FONT color="#808080"><EM>&gt;&gt;&gt; from hana_ml.algorithms.pal.unified_classification import UnifiedClassification</EM></FONT></P><P><FONT color="#808080"><EM>&gt;&gt;&gt; features = employ_train_df.columns # obtain the name of columns in training dataset</EM></FONT><BR /><FONT color="#808080"><EM>&gt;&gt;&gt; features.remove('ID') # delete key column name</EM></FONT><BR /><FONT color="#808080"><EM>&gt;&gt;&gt; features.remove('employed_yes') # delete label column name</EM></FONT><BR /><FONT color="#808080"><EM>&gt;&gt;&gt; urdt = UnifiedClassification(func='randomdecisiontree', random_state=2024)</EM></FONT><BR /><FONT color="#808080"><EM>&gt;&gt;&gt; urdt.fit(data=employ_train_df, key="ID", label='employed_yes')</EM></FONT><BR /><FONT color="#808080"><EM>&gt;&gt;&gt; score_result = urdt.score(data=employ_test_df, key="ID", top_k_attributions=20, random_state=1)</EM></FONT></P><P><FONT color="#808080"><EM>&gt;&gt;&gt; from hana_ml.visualizers.unified_report import UnifiedReport</EM></FONT><BR /><FONT color="#808080"><EM>&gt;&gt;&gt; UnifiedReport(urdt).build().display()</EM></FONT></P><P><FONT color="#808080"><EM><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Fig.2 Model Report" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103565i40FAD88CACF2DF12/image-size/medium?v=v2&amp;px=400" role="button" title="model_report.png" alt="Fig.2 Model Report" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Fig.2 Model Report</span></span></EM></FONT></P><H2 id="toc-hId--578687869">4.3 Local ML Model Explainability</H2><P style=" text-align : justify; ">SHAP values can be easily obtained through the predict() and score() functions. The following code demonstrates the use of the predict() method with 'urdt' to obtain the predictive result "predict_result". Figure 3 displays the first two rows of the results, which include a 'SCORE' column for the predicted outcomes and a 'CONFIDENCE' column representing the probability of the predictions. The 'REASON_CODE' column contains a JSON string that details the specific contribution of each feature value, including "attr" for the attribution name, "val" for the SHAP value, and "pct" for the percentage, which represents the contribution's proportion.</P><P style=" text-align : justify; ">When working with tree-based models, the 'attribution_method' parameter offers three options for calculating SHAP values: the default 'tree-shap',&nbsp; 'saabas' designed for large datasets and can provide faster computation, and 'no' to disable explanation calculation to save computation time as needed.</P><P><FONT color="#808080"><EM>&gt;&gt;&gt; predict_result = urdt.predict(data=employ_test_df.deselect("employed_yes"), key="ID",</EM></FONT><BR /><FONT color="#808080"><EM>top_k_attributions=20, attribution_method='tree-shap',&nbsp;</EM><EM>random_state=1, verbose=True)</EM></FONT><BR /><FONT color="#808080"><EM>&gt;&gt;&gt; predict_result.head(2).collect()</EM></FONT></P><H3 id="toc-hId--646118655"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Fig. 3 Predict Result Dataframe" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102977iB6867C6A9BCA24D7/image-size/medium?v=v2&amp;px=400" role="button" title="reason_code.png" alt="Fig. 3 Predict Result Dataframe" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Fig. 3 Predict Result Dataframe</span></span></H3><P style=" text-align : justify; ">For a more convenient examination of SHAP values, we provide a tool - the force plot, which offers a clear visualization of the impact of individual features on a specific prediction. Taking the first row of the prediction data as an example, we can observe that being female (gender = 0), having 3 years of experience (years_experience = 3), and not being referred (referred = 0), all contribute negatively to the likelihood of being hired. Furthermore, by clicking on the '+' sign in front of each row, you can expand to view the detailed force plot for that particular instance (as shown in Figure 4).</P><P><FONT color="#808080"><EM>&gt;&gt;&gt; from hana_ml.visualizers.shap import ShapleyExplainer</EM></FONT><BR /><FONT color="#808080"><EM>&gt;&gt;&gt; shapley_explainer = ShapleyExplainer(feature_data=employ_test_df.sort('ID').select(features),</EM></FONT><BR /><FONT color="#808080"><EM>reason_code_data=predict_result.filter('SCORE=1').sort('ID').select('REASON_CODE'))</EM></FONT><BR /><FONT color="#808080"><EM>&gt;&gt;&gt; shapley_explainer.force_plot()</EM></FONT></P><H3 id="toc-hId--917863529"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Fig. 4 Force Plot" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/107789iF9083749B87913F8/image-size/large?v=v2&amp;px=999" role="button" title="expand_force_plot.png" alt="Fig. 4 Force Plot" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Fig. 4 Force Plot</span></span></H3><P>&nbsp;</P><H2 id="toc-hId--820974027">4.4 Global ML Model Explainability</H2><H3 id="toc-hId--1310890539">4.4.1 Permutation Importance&nbsp;<STRONG>Explanations</STRONG></H3><P style=" text-align : justify; "><SPAN>To compute permutation importance, you need to set the&nbsp;</SPAN>parameter <EM><SPAN>permutation_importance&nbsp;</SPAN><SPAN>=&nbsp;</SPAN><SPAN>True</SPAN></EM><SPAN>&nbsp;when fitting the model. </SPAN><SPAN>The results of the permutation importance scores can be directly extracted from the&nbsp;</SPAN><SPAN>importance_</SPAN><SPAN>&nbsp;attribute of the&nbsp;</SPAN><SPAN>UnifiedClassification</SPAN><SPAN>&nbsp;object, with each feature name suffixed by&nbsp;</SPAN><SPAN>PERMUTATION_IMP in Fig. 5 and the scores are visualized in Fig. 6.</SPAN></P><P><FONT color="#808080"><EM>&gt;&gt;&gt; urdt_per = UnifiedClassification(func='randomdecisiontree', random_state=2024)</EM></FONT><BR /><FONT color="#808080"><EM>&gt;&gt;&gt; urdt_per.fit(data=employ_train_df, key='ID', label='employed_yes', partition_method='stratified',</EM></FONT><BR /><FONT color="#808080"><EM>stratified_column='employed_yes', training_percent=0.8, ntiles=2, permutation_importance=True, permutation_evaluation_metric='accuracy',&nbsp;</EM></FONT><FONT color="#808080"><EM>permutation_n_repeats=10, permutation_seed=2024)</EM></FONT><BR /><FONT color="#808080"><EM>&gt;&gt;&gt; print(urdt_per.importance_.sort('IMPORTANCE', desc=True).collect())</EM></FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Fig. 5 Permutation Importance Scores" style="width: 357px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/103674i6F87EE580443D789/image-size/large?v=v2&amp;px=999" role="button" title="10_permutation_result.png" alt="Fig. 5 Permutation Importance Scores" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Fig. 5 Permutation Importance Scores</span></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Fig. 6 Bar Plot of Permutation Importance Scores" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102988i054B7F930FE8BE29/image-size/medium?v=v2&amp;px=400" role="button" title="permutation.png" alt="Fig. 6 Bar Plot of Permutation Importance Scores" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Fig. 6 Bar Plot of Permutation Importance Scores</span></span></P><P style=" text-align : justify; ">In Fig. 6, we can see the top three features in terms of importance, are 'years_experience', 'referred', and 'gcse'. This indicates that these features have the most significant impact on the model's predictions when their values are randomly shuffled, leading to a measurable decrease in the model's performance metric.</P><H3 id="toc-hId--1507404044">4.4.2 SHAP Summary Report</H3><P style=" text-align : justify; ">The ShapleyExplainer also provides a comprehensive summary report that includes a suite of visualizations such as the beeswarm plot, bar plot, dependence plot, and enhanced dependence plot. Specifically, the beeswarm plot and bar plot offer a global perspective, illustrating the impact of different features on the outcome across the entire dataset.</P><P style=" text-align : justify; "><FONT color="#808080"><EM>&gt;&gt;&gt; shapley_explainer.summary_plot()</EM></FONT></P><P style=" text-align : justify; ">The <STRONG>beeswarm plot </STRONG>(shownin Fig. 7), which visually illustrate the distribution of SHAP values for features across all instances. Point colors indicate feature value magnitude, with red for larger and blue for smaller values. For instance, the color distribution of 'years_experience' suggests that longer work experience increase hiring chance while the 'years_gaps' spread implies a longer gap negative affects hire likelihood.</P><H3 id="toc-hId--1703917549"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Fig. 7 Beeswarm Plot" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102980i0999147B6E2D687D/image-size/medium?v=v2&amp;px=400" role="button" title="SHAP_Beeswarm.png" alt="Fig. 7 Beeswarm Plot" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Fig. 7 Beeswarm Plot</span></span></H3><P style=" text-align : justify; "><SPAN>The order of features in the beeswarm plot is often determined by their importance, as can be more explicitly seen in the </SPAN><STRONG>bar plot </STRONG><SPAN>shown in Fig. 8.&nbsp; which ranks features based on the sum of the absolute values of their SHAP values, providing a clear hierarchy of feature importance. For example, the top 3 influential features are 'years_experience', 'referred', and 'ethical_group'.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Fig. 8 Bar Plot" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102981i5B3BAA6226C2DD1C/image-size/medium?v=v2&amp;px=400" role="button" title="SHAP_bar.png" alt="Fig. 8 Bar Plot" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Fig. 8 Bar Plot</span></span></P><P style=" text-align : justify; ">For a more granular understanding of the impact of each feature on the target variable, we can refer to the <STRONG>dependence plot</STRONG> shown in Fig. 9. This plot illustrates the relationship between a feature and the SHAP values. For instance, a dependence plot for 'years_experience' might show that shorter work experience corresponds to negative SHAP values, with a turning point around 6 years of experience, after which the contribution becomes positive.&nbsp;Additionally, the report includes an <STRONG>enhanced dependence plot</STRONG> that examines the relationship between pairs of features. This can provide insights into how feature interactions affect the model's predictions.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Fig. 9 Dependence Plot" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102982i64E36FCD91007F8B/image-size/medium?v=v2&amp;px=400" role="button" title="SAHP_dependent.png" alt="Fig. 9 Dependence Plot" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Fig. 9 Dependence Plot</span></span></P><H3 id="toc-hId--1900431054">&nbsp;<SPAN>4.4.3. Tree-Based Feature Important</SPAN></H3><P style=" text-align : justify; ">The feature important for tree-based models is currently supported by RDT and HGBT in PAL. The feature importance scores can be directly extracted from the importance_ attribute of the 'UnifiedClassification' object "urdt". Below is a code snippet that demonstrates how to obtain and rank these feature importance scores in descending order. The result is shown in Fig. 9 and these scores can then be visualized using a bar plot (as shown in Fig. 10). I<SPAN>t is clear that the top three features in terms of importance are 'years_experience', 'income', and 'gcse'.</SPAN></P><P>&gt;&gt;&gt;&nbsp;urdt.importance_.sort('IMPORTANCE', desc=True).collect()</P><H3 id="toc-hId--2096944559"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Fig. 10 Feature Importance Scores" style="width: 200px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102989iB5E81632CB717BFD/image-size/small?v=v2&amp;px=200" role="button" title="tree_feature_imp.png" alt="Fig. 10 Feature Importance Scores" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Fig. 10 Feature Importance Scores</span></span></H3><H3 id="toc-hId-2001509232"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Fig. 11 Bar Plot of Feature Importance Scores" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/102984iA91C07512EEFF466/image-size/medium?v=v2&amp;px=400" role="button" title="tree_model.png" alt="Fig. 11 Bar Plot of Feature Importance Scores" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Fig. 11 Bar Plot of Feature Importance Scores</span></span></H3><P style=" text-align : justify; "><SPAN>Figures 6, 8, and 11 present feature importance scores from 3 different methods, consistently identifying 'years_experience' as the most critical factor. However, the ranking of importance of other features varies across methods. This fluctuation stems from each method's unique approach to assessing feature contributions and the dataset's inherent characteristics. SHAP values are based on a game-theoretic approach that assigns each feature an importance score reflecting its average impact on the model output across all possible feature combinations. In contrast, tree-based models' feature importance scores reflect how frequently a feature is used for data splits within the tree, which may not capture the nuanced interactions between features. Permutation importance, on the other hand, can reveal nonlinear relationships and interactions that are not explicitly modeled.&nbsp;</SPAN><SPAN>Thus, interpreting the model requires a multifaceted approach, considering the strengths and limitations of each method to inform decision-making.</SPAN></P><P style=" text-align : justify; ">&nbsp;</P><H1 id="toc-hId--1903165555">5. Summary</H1><P style=" text-align : justify; ">The blog post introduces ML explainability in SAP HANA PAL, showcasing the use of varous local and global methods like SHAP values, permutation importance, and tree-based feature importance to analyze a synthetic recruiting dataset using Python Client. It emphasizes the necessity for a multifaceted approach to model interpretation, considering the strengths and limitations of each method for informed decision-making.&nbsp;This feature is crucial for SAP's ethical AI objectives, aiming to ensure fairness, transparency, and trustworthiness in AI applications.</P><H3 id="toc-hId-1608482222">&nbsp;</H3><H3 id="toc-hId-1580152408">Other Useful Links:</H3><P style=" text-align : justify; ">Install the Python Machine Learning client from the pypi public repository:&nbsp;<A href="https://pypi.org/project/hana-ml/" target="_blank" rel="noopener nofollow noreferrer">hana-ml<BR /></A></P><P style=" text-align : justify; "><A href="https://help.sap.com/docs/hana-cloud-database/sap-hana-cloud-sap-hana-database-predictive-analysis-library/sap-hana-cloud-sap-hana-database-predictive-analysis-library-pal-sap-hana-cloud-sap-hana-database-predictive-analysis-library-pal-c9eeed7" target="_self" rel="noopener noreferrer">HANA PAL documentation</A></P><P style=" text-align : justify; ">For other blog posts on hana-ml:&nbsp;</P><OL><LI><A href="https://community.sap.com/t5/technology-blogs-by-sap/identification-of-seasonality-in-time-series-with-python-machine-learning/ba-p/13472664" target="_self">Global Explanation Capabilities in SAP HANA Machine Learning</A></LI><LI><A class="" href="https://community.sap.com/t5/technology-blogs-by-sap/fairness-in-machine-learning-a-new-feature-in-sap-hana-cloud-pal/ba-p/13580185" target="_self">Fairness in Machine Learning - A New Feature in SAP HANA Cloud PAL</A></LI><LI><A href="https://community.sap.com/t5/technology-blogs-by-sap/a-multivariate-time-series-modeling-and-forecasting-guide-with-python/ba-p/13517004" target="_blank">A Multivariate Time Series Modeling and Forecasting Guide with Python Machine Learning Client for SA...</A></LI><LI><A href="https://blogs.sap.com/2020/12/11/outlier-detection-using-statistical-tests-in-python-machine-learning-client-for-sap-hana/" target="_blank" rel="noopener noreferrer">Outlier Detection using Statistical Tests in Python Machine Learning Client for SAP HANA</A></LI><LI><A href="https://blogs.sap.com/2020/12/16/outlier-detection-by-clustering/" target="_blank" rel="noopener noreferrer">Outlier Detection by Clustering using Python Machine Learning Client for SAP HANA</A></LI><LI><A href="https://blogs.sap.com/2020/12/21/anomaly-detection-in-time-series-using-seasonal-decomposition-in-python-machine-learning-client-for-sap-hana/" target="_blank" rel="noopener noreferrer">Anomaly Detection in Time-Series using Seasonal Decomposition in Python Machine Learning Client for ...</A></LI><LI><A href="https://blogs.sap.com/2020/12/29/outlier-detection-with-one-class-classification-using-python-machine-learning-client-for-sap-hana/" target="_blank" rel="noopener noreferrer">Outlier Detection with One-class Classification using Python Machine Learning Client for SAP HANA</A></LI><LI><A href="https://blogs.sap.com/2020/12/31/learning-from-labeled-anomalies-for-efficient-anomaly-detection-using-python-machine-learning-client-for-sap-hana/" target="_blank" rel="noopener noreferrer">Learning from Labeled Anomalies for Efficient Anomaly Detection using Python Machine Learning Client...</A></LI><LI><A href="https://blogs.sap.com/2021/01/07/time-series-modeling-and-analysis-using-sap-hana-predictive-analysis-librarypal-through-python-machine-learning-client-for-sap-hana/" target="_blank" rel="noopener noreferrer">Python Machine Learning Client for SAP HANA</A></LI><LI><A href="https://blogs.sap.com/2020/12/17/import-multiple-excel-files-into-a-single-sap-hana-table/" target="_blank" rel="noopener noreferrer">Import multiple excel files into a single SAP HANA table</A></LI><LI><A href="https://blogs.sap.com/2020/12/16/copd-study-explanation-and-interpretability-with-python-machine-learning-client-for-sap-hana/" target="_blank" rel="noopener noreferrer">COPD study, explanation and interpretability with Python machine learning client for SAP HANA</A></LI><LI><A href="https://community.sap.com/t5/technology-blogs-by-sap/model-storage-with-python-machine-learning-client-for-sap-hana/ba-p/13483099" target="_blank">Model Storage with Python Machine Learning Client for SAP HANA</A></LI><LI><A href="https://blogs.sap.com/2020/12/18/identification-of-seasonality-in-time-series-with-python-machine-learning-client-for-sap-hana/" target="_blank" rel="noopener noreferrer">Identification of Seasonality in Time Series with Python Machine Learning Client for SAP HANA</A></LI></OL> 2024-05-10T08:45:44.156000+02:00 https://community.sap.com/t5/supply-chain-management-blogs-by-sap/4-lessons-from-moms-in-risk-resiliency-for-supply-chain-professionals/ba-p/13697553 4 Lessons from Moms in Risk-Resiliency for Supply Chain Professionals 2024-05-10T13:36:56.541000+02:00 Oyku_Ilgar https://community.sap.com/t5/user/viewprofilepage/user-id/140157 <P>This Sunday is Mother’s Day! It is a beautiful day to show our moms, grandmas, or nanas how much we care and appreciate all the things they do for us. They are our first real-time superheroes, setting an amazing example in every aspect of life. So, why not take a cue from moms and incorporate their best practices into our supply chain strategies?&nbsp;</P><P>Let's get inspired and see how we can learn from our very first supply chain managers of all time: our moms!</P><H3 id="toc-hId-1123605280"><SPAN>&nbsp;</SPAN></H3><H3 id="toc-hId-927091775"><STRONG>#1 She is the dictionary definition of risk-resiliency.</STRONG></H3><P><SPAN>When I was a kid, each time I tripped and scraped my knee, like a superhero, my mom would come rushing to my rescue with a napkin and band-aid in hand. Or whenever I mentioned I was hungry or thirsty, she'd pull out a magical purse filled with snacks and water. They are constantly one step ahead, knowing our needs and ready for any kind of shenanigans.</SPAN></P><P><SPAN>Just like how moms, supply chain professionals need to have their special tools in their toolbox to predict, anticipate, and act with agility toward any issues that may arise. If anyone knows how often the <A href="https://www.forbes.com/sites/sap/2024/04/26/on-national-supply-chain-day-ship-happens-to-make-a-better-world/" target="_blank" rel="noopener nofollow noreferrer">ship hits the fan</A>, it's supply chain managers.</SPAN></P><P><SPAN>One of the most <A href="https://www.sap.com/products/scm.html?campaigncode=crm-ya22-int-1517076&amp;source=ppc-de-googleads-search-71700000118286853-58700008698457606-dsc_dsc-x-x-x&amp;dfa=1&amp;gad_source=1&amp;gclid=Cj0KCQjw6PGxBhCVARIsAIumnWbFnI_wQOgXqB8Axz-vIoIZYMV93O45GJ-MoTVW_KfDMZ_1JEMXuYgaAswcEALw_wcB&amp;gclsrc=aw.ds" target="_blank" rel="noopener noreferrer">important tools in the supply chain managers</A>’ toolbox is having full visibility to thrive instead of just surviving in the business world. Breaking down silos and sharing real-time information with each stakeholder in the supply chain operations enables businesses to make informed decisions with an agile reflex.</SPAN></P><P><SPAN>&nbsp;</SPAN></P><H3 id="toc-hId-730578270"><STRONG>#2 She leverages Momtifical Analysis capabilities.</STRONG></H3><P><SPAN>Let’s be honest, moms never seem to forget a single detail – this is a dad-approved statement by the way - and they are always ready to give us the guidance and support we need to make the optimal decision in seconds.</SPAN></P><P>Much like moms’ ability to make quick decisions, supply chain professionals need the tools to do the same. <SPAN>Incorporating <A href="https://www.sap.com/products/artificial-intelligence.html" target="_blank" rel="noopener noreferrer">business AI</A> into operations is like the supermom senses of real-time data and insights, enabling supply chain managers to make quick and resolute decisions and guiding businesses through the complexities. </SPAN></P><P><SPAN>By harnessing the power of data analytics and <A href="https://www.sap.com/products/artificial-intelligence/what-is-machine-learning.html" target="_blank" rel="noopener noreferrer">machine learning</A> algorithms, organizations can pinpoint and address issues in real time, reduce wastage, and improve overall production quality. They prevent potential equipment malfunctions before they occur, schedule maintenance, and safeguard against costly breakdowns and production chokepoints, which enables them to increase efficiency and maximize profitability.</SPAN></P><P><SPAN>&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><H3 id="toc-hId-534064765"><STRONG>#3 She can effectively alternate sourcing strategies.</STRONG></H3><P><SPAN>Shopping with mom is like embarking on a wild scavenger hunt through the aisles of multiple stores. She knows where to buy the freshest groceries, and always knows when to get them. Moms’ knowledge of suppliers - including the <A href="https://www.sap.com/products/business-network/supply-chain-collaboration.html" target="_blank" rel="noopener noreferrer">network&nbsp;</A>amongst the local stores and other moms - is so extensive that she is always prepared and alternates sourcing strategies in case their supplier cannot provide what they need.</SPAN></P><P><SPAN>In today's digital age, an interconnected, transparent, and versatile <A href="https://www.sap.com/products/business-network/supply-chain-collaboration.html" target="_blank" rel="noopener noreferrer">network&nbsp;</A>is a must for businesses to establish strong connections with their partners and suppliers along the supply chain. Connecting the partners, suppliers, and logistics data in a single centralized environment eliminates the need for individual integrations with each trading partner. This streamlined and centralized network improves risk management and enhances trust, therefore, enhancing customer satisfaction.</SPAN></P><P><STRONG>&nbsp;</STRONG></P><H3 id="toc-hId-337551260"><STRONG>#4 She shapes a greener future.</STRONG></H3><P><SPAN>Back in the day, my schoolbag and pockets were like a treasure trove of empty snack packs and wrappers, as my mom taught me to throw away my trash only in the bin. &nbsp;Fast forward to adulthood, I still find myself hoarding trash in my bags, as her voice still rings in my head. The fact is moms are shaping the future by teaching generations to be eco-conscious by instilling habits like repurposing items and cutting down on waste. </SPAN></P><P><SPAN>Just as mothers are instrumental in making this change, supply chains, as great contributors to waste in the world, are also essential drivers of change and innovation in creating a more sustainable future for our planet.&nbsp; </SPAN></P><P><SPAN>By implementing sustainable methodologies and <A href="https://www.sap.com/products/scm/sustainability-control-tower.html" target="_blank" rel="noopener noreferrer">tools</A>, the supply chain can become a valuable asset in not only profitable growth but also positive environmental change.&nbsp; </SPAN></P><P><SPAN>In a world where we are consistently looking for alternative ways to run supply chains more efficiently, why not draw inspiration from our very first supply chain managers we know: our mothers?</SPAN></P><P>&nbsp;</P><H4 id="toc-hId-270120474"><STRONG><SPAN>To learn more about enabling a risk-resilient and sustainable supply chain, please join us at the upcoming&nbsp;</SPAN></STRONG><SPAN><A href="https://www.sap.com/registration/event.1061d787-58b8-44e5-bda2-aa18fc0019c5.html" target="_blank" rel="noopener noreferrer"><STRONG>SAP Sapphire &amp; ASUG Annual Conference</STRONG></A><STRONG>, from June 3-5, 2024 in Orlando.</STRONG></SPAN></H4> 2024-05-10T13:36:56.541000+02:00 https://community.sap.com/t5/technology-blogs-by-members/installing-saprouter-on-linux-a-step-by-step-guide/ba-p/13698342 Installing SAPRouter on Linux: A Step-by-Step Guide 2024-05-11T15:55:48.753000+02:00 Muthumayandi https://community.sap.com/t5/user/viewprofilepage/user-id/10779 <P><STRONG>What is SAP Router ?</STRONG></P><P>SAPRouter is a software component used to secure communication between SAP systems and the internet. Installing SAPRouter on Linux is a crucial step in ensuring secure communication for your SAP landscape. This step-by-step guide will walk you through the installation process.</P><P><STRONG>Prerequisites</STRONG>:</P><P>- Linux server (e.g., CentOS, Ubuntu)</P><P>- Root access to the server</P><P>- SAPRouter software package downloaded from the SAP Support Portal</P><P><STRONG>Step 1: Download SAPRouter:</STRONG></P><P>Download the SAPRouter software package from the SAP Support Portal. Ensure that you download the correct version for your operating system.</P><P><STRONG>Step 2: Extract the SAPRouter Package:</STRONG></P><P>Transfer the downloaded SAPRouter package to your Linux server. Use the following command to extract the package:</P><P>tar -xvf saprouter_&lt;version&gt;_linux_x86_64.tar.gz</P><P><STRONG>Step 3: Create a Directory for SAPRouter:</STRONG></P><P>Create a directory to store the SAPRouter files. You can use the following command to create the directory:</P><P>mkdir /usr/sap/saprouter</P><P><STRONG>Step 4: Copy SAPRouter Files:</STRONG></P><P>Copy the extracted SAPRouter files to the newly created directory:</P><P>cp -R &lt;path_to_extracted_files&gt;/saprouter /usr/sap/saprouter</P><P><STRONG>Step 5: Create a Configuration File:</STRONG></P><P>Create a configuration file named `saprouter.ini` in the `/usr/sap/saprouter` directory. Here's a basic example of the configuration file:</P><P># SAProuter Configuration File</P><P>version = 39</P><P>httpport = 81</P><P>tracefile = /usr/sap/saprouter/saprouter.trc</P><P>authid = *</P><P>permit = *</P><P><STRONG>Step 6: Set Permissions:</STRONG></P><P>Ensure that the SAPRouter binary and configuration files have the correct permissions:</P><P>chmod 755 /usr/sap/saprouter/saprouter</P><P>chmod 644 /usr/sap/saprouter/saprouter.ini</P><P>&nbsp;</P><P><STRONG>Step 7: Start SAPRouter:</STRONG></P><P>Start the SAPRouter using the following command:</P><P>/usr/sap/saprouter/saprouter -r -R /usr/sap/saprouter/saprouter.ini</P><P><STRONG>Step 8: Verify SAPRouter Status:</STRONG></P><P>Verify that SAPRouter is running and listening on the specified port (e.g., 81):</P><P>netstat -tuln | grep 81</P><P><STRONG>Step 9: Configure Firewall:</STRONG></P><P>Configure your firewall to allow incoming and outgoing traffic on the SAPRouter port (e.g., 81) to ensure proper communication.</P><P><STRONG>Step 10: Configure SAP Systems:</STRONG></P><P>Update the `secinfo` file of your SAP systems to include the SAPRouter details for communication through the SAPRouter.</P><P><STRONG>Overall information</STRONG>:</P><P>By following these steps, you can successfully install SAPRouter on your Linux server. This will help secure communication between your SAP systems and the internet, ensuring the integrity and confidentiality of your SAP la<SPAN>ndscape.</SPAN></P><P>#SAP #SAPRouter #Linux #Installation <a href="https://community.sap.com/t5/c-khhcw49343/SAP+Young+Thinkers/pd-p/7491a8e4-2c34-4d6b-bf69-b91db9291a90" class="lia-product-mention" data-product="1159-1">SAP Young Thinkers</a>&nbsp;#<a href="https://community.sap.com/t5/c-khhcw49343/Red+Hat+Enterprise+Linux/pd-p/566117836046276697184412662459974" class="lia-product-mention" data-product="304-1">Red Hat Enterprise Linux</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SUSE+Linux+Enterprise+Server/pd-p/68020287236497694019600446793069" class="lia-product-mention" data-product="305-1">SUSE Linux Enterprise Server</a>&nbsp;<a href="https://community.sap.com/t5/c-khhcw49343/SAP+Women+in+Tech/pd-p/5e61e027-661e-4c66-91ef-4e6fa20c40f6" class="lia-product-mention" data-product="1164-1">SAP Women in Tech</a><SPAN>&nbsp;</SPAN><a href="https://community.sap.com/t5/c-khhcw49343/SAP+Integration+Suite/pd-p/73554900100800003241" class="lia-product-mention" data-product="23-1">SAP Integration Suite</a><SPAN>&nbsp;</SPAN><a href="https://community.sap.com/t5/c-khhcw49343/SAP+Business+Application+Studio/pd-p/67837800100800007077" class="lia-product-mention" data-product="13-1">SAP Business Application Studio</a><SPAN>&nbsp;</SPAN><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/10779">@Muthumayandi</a><SPAN>&nbsp;</SPAN><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/39302">@Subramanian</a><SPAN>&nbsp;</SPAN><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/1387241">@Sap</a><SPAN>&nbsp;</SPAN><a href="https://community.sap.com/t5/user/viewprofilepage/user-id/121481">@sapsapsap</a><SPAN>&nbsp;</SPAN></P> 2024-05-11T15:55:48.753000+02:00 https://community.sap.com/t5/crm-and-cx-blogs-by-sap/welcome-to-the-product-inspiration-series-for-industries-amp-cx/ba-p/13697877 Welcome to the Product Inspiration Series for Industries & CX 2024-05-13T15:20:57.917000+02:00 SvenFeurer https://community.sap.com/t5/user/viewprofilepage/user-id/210 <P><EM><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="GetReadyAndExperienceICXfrom SAP.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/108782i8595B5B493A2E75B/image-size/large?v=v2&amp;px=999" role="button" title="GetReadyAndExperienceICXfrom SAP.png" alt="GetReadyAndExperienceICXfrom SAP.png" /></span></EM></P><P><EM>Curious to learn more about SAP Industries &amp; Customer Experience product innovations and seeing them in action? Then what we've prepared is exactly made for you. </EM></P><P>According to the motto "<STRONG>Get Ready and Experience Intelligent CX from SAP</STRONG>" we from the SAP product team are happy to invite you to the <STRONG>Industries &amp; CX Product Inspiration Series 2024</STRONG>.&nbsp;Starting in May we are planning to release multiple deep-dive videos made specifically for you, our dear customers, partners, colleagues and all SAP industries &amp; CX enthusiasts out there.</P><P>Each&nbsp;<STRONG>product inspiration video<SPAN>&nbsp;</SPAN></STRONG><SPAN>covers a specific domain of the&nbsp;</SPAN><SPAN class=""><STRONG>Intelligence CX</STRONG>&nbsp;portfolio by highlighting latest innovations and technologies used e.g.&nbsp;<STRONG>SAP Business AI </STRONG>powered scenarios&nbsp;along with&nbsp;<STRONG>Generative AI</STRONG> and <STRONG>SAP Joule</STRONG>.</SPAN></P><P><SPAN class="">By definition each video...</SPAN></P><UL><LI>does not contain any slides (<STRONG>zero slides rule</STRONG>),</LI><LI>covers specific <STRONG>innovations</STRONG> as part of the Intelligent CX portfolio,</LI><LI>is made from <STRONG>product and/or industry experts</STRONG> for experts,</LI><LI>typically starts with a short <STRONG>Q&amp;A</STRONG> at the beginning (why, what, how),</LI><LI>consists of <STRONG>deep-dive </STRONG>and/or <STRONG>process demos</STRONG>,</LI><LI>wants to <STRONG>inspire you&nbsp;</STRONG>by showcasing real software,</LI><LI>is produced in <STRONG>high quality</STRONG> to offer a jaw-dropping viewing experience,</LI><LI>helps you to understand the Industries &amp; CX <STRONG>product strategy</STRONG>,&nbsp;</LI><LI>and ultimately is <STRONG>made with love and dedication</STRONG> for you.</LI></UL><P>And here's the list of the first videos which made it through the finish line...</P><OL><LI><A href="https://www.sap.com/assetdetail/2024/04/404d571e-ba7e-0010-bca6-c68f7e60039b.html" target="_blank" rel="noopener noreferrer"><SPAN class="">Introduction to the Video Series</SPAN></A><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="V0001 Thumbnail.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111686iC018DE9CB8A4924E/image-dimensions/400x225?v=v2" width="400" height="225" role="button" title="V0001 Thumbnail.png" alt="V0001 Thumbnail.png" /></span><BR /><BR /></LI><LI><A href="https://www.sap.com/assetdetail/2024/05/3609bcb6-ba7e-0010-bca6-c68f7e60039b.html" target="_blank" rel="noopener noreferrer"><SPAN class="">SAP Business AI powered SAP Sales and Service Cloud Version 2</SPAN></A><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="V1002 Thumbnail.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111687i6021C31C92E0F0D0/image-dimensions/400x225?v=v2" width="400" height="225" role="button" title="V1002 Thumbnail.png" alt="V1002 Thumbnail.png" /></span></LI><LI><A href="https://www.sap.com/assetdetail/2024/05/4affbbb6-ba7e-0010-bca6-c68f7e60039b.html" target="_blank" rel="noopener noreferrer"><SPAN class="">SAP Business AI powered SAP Emarsys Customer Engagement</SPAN></A><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="V1003 Thumbnail.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111688iD40D1C88E647C1BD/image-dimensions/400x225?v=v2" width="400" height="225" role="button" title="V1003 Thumbnail.png" alt="V1003 Thumbnail.png" /></span><BR /><BR /></LI><LI><A href="https://www.sap.com/assetdetail/2024/05/b090b0b6-ba7e-0010-bca6-c68f7e60039b.html" target="_blank" rel="noopener noreferrer"><SPAN class="">SAP Sales and Service Cloud Version 2 with SAP S/4HANA in Action</SPAN></A><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="V1301 Thumbnail.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111689iBA4D86695F5B541B/image-dimensions/400x225?v=v2" width="400" height="225" role="button" title="V1301 Thumbnail.png" alt="V1301 Thumbnail.png" /></span><BR /><BR /></LI><LI><A href="https://www.sap.com/assetdetail/2024/05/4cd6b0b6-ba7e-0010-bca6-c68f7e60039b.html" target="_blank" rel="noopener noreferrer"><SPAN class="">SAP CX AI Toolkit for Commerce</SPAN></A><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="V1007 Thumbnail.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/111690i6EB5525B2DDCD633/image-dimensions/400x225?v=v2" width="400" height="225" role="button" title="V1007 Thumbnail.png" alt="V1007 Thumbnail.png" /></span><BR /><BR /></LI><LI><A href="https://www.sap.com/assetdetail/2024/05/7c58ec57-bd7e-0010-bca6-c68f7e60039b.html" target="_self" rel="noopener noreferrer">SAP Business AI powered SAP Intelligent Product Recommendation</A><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="V1005 Thumbnail.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112181i40E2ED63539FE86C/image-dimensions/400x225?v=v2" width="400" height="225" role="button" title="V1005 Thumbnail.png" alt="V1005 Thumbnail.png" /></span><BR /><BR /></LI><LI><A href="https://www.sap.com/assetdetail/2024/05/5e12ff58-bd7e-0010-bca6-c68f7e60039b.html" target="_self" rel="noopener noreferrer">SAP Customer Data Platform and SAP Emarsys Integration Deep Dive</A><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="V1201 Thumbnail.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112182i80A084EF394710EF/image-dimensions/400x225?v=v2" width="400" height="225" role="button" title="V1201 Thumbnail.png" alt="V1201 Thumbnail.png" /></span><BR /><BR /></LI></OL><P>We hope you like it and you're as excited as we are…</P><P>Enjoy and have fun!</P> 2024-05-13T15:20:57.917000+02:00 https://community.sap.com/t5/technology-blogs-by-sap/expert-systems-in-ai-bridging-human-expertise-and-machine-intelligence/ba-p/13705873 Expert Systems in AI: Bridging Human Expertise and Machine Intelligence 2024-05-18T19:46:44.716000+02:00 ArunKumar_Balakrishnan https://community.sap.com/t5/user/viewprofilepage/user-id/11312 <P><FONT size="4">Artificial Intelligence (AI) is a broad field focused on creating intelligent machines capable of emulating human intelligence. AI expert systems specifically aim to replicate human expertise and decision-making processes within specific domains. These systems leverage knowledge bases, rule sets and inference mechanisms to provide recommendations or make decisions, imitating the problem-solving capabilities of human experts.</FONT></P><P><FONT size="6">Need for an AI Expert System:</FONT></P><UL><LI><FONT size="4">AI expert systems offer consistent decision-making and problem-solving processes, ensuring a high level of expertise is <STRONG>consistently</STRONG> applied across various scenarios eliminating bias.&nbsp; This reliability enhances the quality of outcomes.</FONT></LI><LI><FONT size="4">These systems excel at handling complex problems involving vast amounts of data. They can analyze intricate situations and derive <STRONG>rule-based</STRONG> insights that may be challenging for humans to process manually.</FONT></LI><LI><FONT size="4">Expert systems automate routine tasks, decision-making processes and problem-solving activities, leading to reduced errors, time savings and increased productivity within organizations.</FONT></LI><LI><FONT size="4">They also play a crucial role in retaining and preserving valuable knowledge and expertise within an organization, even as experts retire or leave the organization.</FONT></LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Architecture diagram.jpg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112630i0AE5C56AA5E25332/image-size/large?v=v2&amp;px=999" role="button" title="Architecture diagram.jpg" alt="Architecture diagram.jpg" /></span></P><UL><LI><FONT size="4"><STRONG>Inference Engine</STRONG> - crucial component of AI expert system. An inference engine is the component that processes logical rules and knowledge stored in the knowledge base to make inferences to derive conclusions.</FONT></LI><LI><FONT size="4"><STRONG>Knowledge Base</STRONG> - core component of an expert system, containing information, facts, rules and heuristics related to the domain of expertise.</FONT></LI><LI><FONT size="4"><STRONG>Knowledge Acquisition Module</STRONG>&nbsp;- responsible for acquiring knowledge from domain experts and translating it into a format that the expert system can understand.</FONT></LI><LI><FONT size="4"><STRONG>Explanation Facility</STRONG> - expert systems include an explanation facility that can explain the reasoning process behind the system's recommendations or decisions. This transparency helps users understand why a particular solution or suggestion was provided.</FONT></LI></UL><P><FONT size="6">How is an AI expert system different from ML Model?</FONT></P><P><FONT size="6"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AI Expert Systems Vs ML Model.jpg" style="width: 602px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112631i35EA873A7A9F184B/image-size/large?v=v2&amp;px=999" role="button" title="AI Expert Systems Vs ML Model.jpg" alt="AI Expert Systems Vs ML Model.jpg" /></span></FONT></P><P><FONT size="4">The key difference between a machine learning model and an expert system is the expert systems rely on explicit domain knowledge and rules provided by experts, while machine learning models learn patterns and relationships directly from data through training. Machine learning models are completely data driven, whereas an expert system is rules, facts, objectives and domain-specific knowledge provided by human experts.</FONT></P><P><FONT size="4">Expert systems are often used when human expertise is critical and rules are well-understood, while machine learning excels in tasks where large amounts of data can provide insights and predictions.</FONT></P><P><FONT size="6">How to build an expert system?</FONT></P><P><FONT size="6"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Build an AI Expert System.jpg" style="width: 602px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112632iF9352D81D83E9940/image-size/large?v=v2&amp;px=999" role="button" title="Build an AI Expert System.jpg" alt="Build an AI Expert System.jpg" /></span></FONT></P><UL><LI><FONT size="4">Define the problem statement the expert system will address. Identify the specific tasks, decisions, or problems that the system will help with.</FONT></LI><LI><FONT size="4">Next is the Knowledge Acquisition from domain experts. This can involve document reviews, expert interviews and extracting rules, facts and heuristics that experts use to make decisions in the domain.</FONT></LI><LI><FONT size="4">Choose an appropriate knowledge representation method which could be rule-based or case-based (storing and retrieving past cases) or a combination of these approaches.</FONT></LI><LI><FONT size="4">Develop the inference engine which is responsible for applying the knowledge rules to the input data or user queries to derive conclusions or make recommendations.</FONT></LI><LI><FONT size="4">Last step is to design a user interface through which users can interact with the expert system.</FONT></LI></UL><P><FONT size="6">Can we fine-tune a Large-Language Model to an expert system?</FONT></P><P><FONT size="4">While it's theoretically possible to convert a large-language model into an expert system, the process is complex and the resulting system may not fully capture the richness and nuances of human-provided expert knowledge.&nbsp;It's more practical to use LLMs for tasks where their strengths are like natural language understanding and content generation</FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AI Expert Systems Vs LLM.jpg" style="width: 623px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/112633iCF783EFE7994F766/image-size/large?v=v2&amp;px=999" role="button" title="AI Expert Systems Vs LLM.jpg" alt="AI Expert Systems Vs LLM.jpg" /></span></P><UL><LI><FONT size="4">Large language models learn implicit knowledge from vast amounts of data and then derive patterns and relationships. This may not capture human-provided rules in an expert system. Converting the learned representations of a large language model to use structured knowledge representation such as rules, facts and ontologies can be crucial and may require significant effort.</FONT></LI><LI><FONT size="4">Large language models are general-purpose models trained on diverse data, whereas expert systems focus on domain-specific data.&nbsp;</FONT></LI><LI><FONT size="4">Bigger large language models like GPT-3 have complex internal structures that are not easily interpretable or explainable. Whereas expert systems are designed with transparency and interpretability as key features</FONT></LI></UL><P><FONT size="6">Applications of AI Expert Systems:</FONT></P><UL><LI><FONT size="4">Medical Diagnosis - AI Expert Systems are used extensively in healthcare for diagnosing diseases, interpreting medical images like X-rays and MRIs to provide decision support to healthcare professionals.&nbsp;</FONT></LI><LI><FONT size="4">Financial Services - In the financial sector expert systems assist in risk assessment, fraud detection, investment advisory, credit scoring and portfolio management based on market trends and economic indicators.&nbsp;</FONT></LI><LI><FONT size="4">Manufacturing and Quality Control - In manufacturing and quality control expert systems help optimize the manufacturing processes, monitor quality control, schedule maintenance tasks and improve overall operational efficiency</FONT></LI><LI><FONT size="4">Education and Training - Expert systems are used in e-learning platforms to create intelligent tutoring systems and personalized educational content tailored to learning styles.</FONT></LI><LI><FONT size="4">Customer Support and Chatbots - Chatbots powered by expert systems provide personalized customer support, answer queries, troubleshoot technical issues, recommend products or services and handle routine tasks through natural language processing (NLP) and machine learning.</FONT></LI></UL><P><FONT size="6">Tools and Platforms:</FONT></P><UL><LI><FONT size="4">Java Expert System (Jess)</FONT></LI><LI><FONT size="4">CLIPS (C Language Integrated Production System)</FONT></LI><LI><FONT size="4">PyKnow</FONT></LI><LI><FONT size="4">Prolog</FONT></LI></UL><P><FONT size="6">Conclusion:</FONT></P><P><FONT size="4">Overall, AI expert systems leverage domain knowledge, logical reasoning and inference capabilities to emulate human expertise and provide valuable insights and solutions in complex problem-solving scenarios. They are a powerful tool for augmenting human decision-making, improving efficiency and addressing challenges in diverse fields.</FONT></P><P>Regards,</P><P>ArunKumar Balakrishnan</P> 2024-05-18T19:46:44.716000+02:00