{"id":2983,"date":"2024-03-01T20:41:25","date_gmt":"2024-03-01T19:41:25","guid":{"rendered":"https:\/\/newdatalabs.com\/en\/?p=2983"},"modified":"2024-01-28T14:20:09","modified_gmt":"2024-01-28T13:20:09","slug":"machine-learning-and-tableau","status":"publish","type":"post","link":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/","title":{"rendered":"Machine Learning and Tableau"},"content":{"rendered":"\n<p>Machine Learning is a data science domain that has been rapidly developing in the recent years. In addition to the increasing range of applications, ML has also become more accessible. Several years ago, it was mainly the domain of scientists, then developers; but nowadays it is also becoming accessible for analysts. The development of Python or R programming languages support this trend. Currently, the analysts, even without the advanced knowledge of mathematics or statistics, are able to create Machine Learning models with the help of Scikit-learn packages and make financial profits from their implementation. How to use Tableau in this puzzle? I will try to explain it in the below post.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Exploring data in Tableau<\/h2>\n\n\n\n<p>When starting any project using machine learning, the first step is to explore the data. Tableau will be helpful here, as it allows you to quickly analyze the data using the drag&amp;drop method. In the simplest approach, you have the target variable, category (descriptive) properties and numerical properties. Before creating a ML model, first you need to understand what the data tells you and what the issue is (in other words: what question you are trying to answer). Let\u2019s start by exploring the target variable: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"789\" height=\"487\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/1-3.png\" alt=\"\" class=\"wp-image-2987 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/1-3.png 789w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/1-3-300x185.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/1-3-768x474.png 768w\" data-sizes=\"(max-width: 789px) 100vw, 789px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 789px; --smush-placeholder-aspect-ratio: 789\/487;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>You can clearly see that your dataset is quite balanced \u2013 the target variable is rather evenly distributed. A pie chart will also be suitable \u2013 when you have two categories and want to present part in the whole \u2013 it will be an excellent choice.<\/p>\n\n\n\n<p>The variables are another area of exploration \u2013 both category and numerical. Bar charts are the recommended solution for categories. The below example shows the distribution of passengers according to the gender and class of travel: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"611\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/2-3.png\" alt=\"\" class=\"wp-image-2988 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/2-3.png 1024w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/2-3-300x179.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/2-3-768x458.png 768w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/2-3-360x216.png 360w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/611;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Histograms will be the best option for the numerical data. You can access this chart from Show Me \u2013 all you need is the measure that you want to analyze: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"644\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/3-3.png\" alt=\"\" class=\"wp-image-2989 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/3-3.png 1024w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/3-3-300x189.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/3-3-768x483.png 768w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/644;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Is that all? Of course not. You can combine the variables, for example, to build a heat map: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"727\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/4-3.png\" alt=\"\" class=\"wp-image-2990 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/4-3.png 1024w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/4-3-300x213.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/4-3-768x545.png 768w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/727;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Or a scatter plot: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"633\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/5-3.png\" alt=\"\" class=\"wp-image-2991 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/5-3.png 1024w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/5-3-300x185.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/5-3-768x475.png 768w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/633;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>By using the Tableau interface, you can quickly visualize the required data. This way you are able to build the knowledge about the information that will be used to create your machine learning model. As a result, your analytical process will be shorter.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configuring the environment to connect Tableau with Python<\/h2>\n\n\n\n<p>The theoretical aspects of building ML models are far beyond the scope of this post; however, I will demonstrate how to use a ready model &#8211; in the form of the script &#8211; directly in Tableau. To be able to use this model, you need to instal the Python environment on your computer (for example, a free Anaconda package). You will also need such packages as Pandas, Numpy and Scikit-learn. In addition, you will need the TabPy library for the integration with Tableau. The easiest way to install the packages is to do that by the commands pip install <em>name_of_package<\/em>. Once the Tabpy package is installed, you can run it by entering Tabpy in the Anaconda commands row: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"989\" height=\"68\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/6-2.png\" alt=\"\" class=\"wp-image-2992 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/6-2.png 989w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/6-2-300x21.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/6-2-768x53.png 768w\" data-sizes=\"(max-width: 989px) 100vw, 989px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 989px; --smush-placeholder-aspect-ratio: 989\/68;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>After clicking Enter, the Tabpy server will be launched on your computer (localhost): <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"973\" height=\"460\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/7-2.png\" alt=\"\" class=\"wp-image-2993 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/7-2.png 973w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/7-2-300x142.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/7-2-768x363.png 768w\" data-sizes=\"(max-width: 973px) 100vw, 973px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 973px; --smush-placeholder-aspect-ratio: 973\/460;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>The next step is to connect to this server from Tableau. To do that, select\u00a0<em>Help<\/em>\u00a0>\u00a0<em>Settings and Performance<\/em>\u00a0>\u00a0<em>Manage Analytics Extension Connection<\/em>: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"546\" height=\"471\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/8-2.png\" alt=\"\" class=\"wp-image-2994 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/8-2.png 546w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/8-2-300x259.png 300w\" data-sizes=\"(max-width: 546px) 100vw, 546px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 546px; --smush-placeholder-aspect-ratio: 546\/471;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Next, a prompt will appear to select the type of connection \u2013 in addition to connecting TabPy (Python language), you can also connect RServe (R language), Einstein Discovery or another extension. Select TabPy: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"440\" height=\"555\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/9-2.png\" alt=\"\" class=\"wp-image-2995 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/9-2.png 440w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/9-2-238x300.png 238w\" data-sizes=\"(max-width: 440px) 100vw, 440px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 440px; --smush-placeholder-aspect-ratio: 440\/555;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>A connection configuration window will appear. If you launched TabPy on your computer, enter the localhost as Hostname and 9004 in Port. If you are using the external server to host Tabpy, you must enter the connection details here. It is also possible to configurate TabPy in Tableau Online. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"442\" height=\"471\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/11-2.png\" alt=\"\" class=\"wp-image-2997 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/11-2.png 442w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/11-2-282x300.png 282w\" data-sizes=\"(max-width: 442px) 100vw, 442px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 442px; --smush-placeholder-aspect-ratio: 442\/471;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>If everything worked well, after clicking Test Connect, you would get the following message: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"537\" height=\"109\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/12-2.png\" alt=\"\" class=\"wp-image-2998 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/12-2.png 537w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/12-2-300x61.png 300w\" data-sizes=\"(max-width: 537px) 100vw, 537px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 537px; --smush-placeholder-aspect-ratio: 537\/109;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Now, you are ready to work with the model in Tableau.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Using Machine Learning module in Tableau<\/h2>\n\n\n\n<p>When your environment and Tabpy server are configured, you can start integrating the machine learning models with Tableau. There are two options of using Python scripts in Tableau:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Insert the script directly in Tableau<\/li>\n\n\n\n<li>Create the model (script) in Jupyter Notebook or similar, then enter the reference to the model in Tableau.<\/li>\n<\/ol>\n\n\n\n<p>Let\u2019s start with the first case. To insert the script, create the SCRIPT_REAL calculated field: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"817\" height=\"602\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/13-1.png\" alt=\"\" class=\"wp-image-2999 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/13-1.png 817w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/13-1-300x221.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/13-1-768x566.png 768w\" data-sizes=\"(max-width: 817px) 100vw, 817px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 817px; --smush-placeholder-aspect-ratio: 817\/602;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>The script itself should be inserted between the quotes (\u201c \u201c). The code is a little different that the code you would use when creating the script outside of Tableau. To understand it, let\u2019s break down the code into elements.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The first element is to import the libraries \u2013 this step is identical: <\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"423\" height=\"74\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/14-2.png\" alt=\"\" class=\"wp-image-3001 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/14-2.png 423w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/14-2-300x52.png 300w\" data-sizes=\"(max-width: 423px) 100vw, 423px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 423px; --smush-placeholder-aspect-ratio: 423\/74;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>2. Next you need to load the data \u2013 this step is different. When creating a script in e.g., Jupyter, in this step you would load data from the file. In Tableau, the data is already there. All you need to do, is to provide the list of arguments, name them and create a Dataframe: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"574\" height=\"63\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/15-1.png\" alt=\"\" class=\"wp-image-3002 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/15-1.png 574w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/15-1-300x33.png 300w\" data-sizes=\"(max-width: 574px) 100vw, 574px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 574px; --smush-placeholder-aspect-ratio: 574\/63;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>3. The next step is to create a ML model. In the below example, we are using a very simple model. The structure of the code is the same both in Tableau and Jupyter: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"257\" height=\"103\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/17.png\" alt=\"\" class=\"wp-image-3003 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 257px; --smush-placeholder-aspect-ratio: 257\/103;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>4. The last step is to return the prediction value \u2013 when doing this in Tableau, it\u2019s important to return the results as a list: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"262\" height=\"82\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/18.png\" alt=\"\" class=\"wp-image-3004 lazyload\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 262px; --smush-placeholder-aspect-ratio: 262\/82;\" \/><\/figure>\n\n\n\n<p>5. The final element is the second argument of the SCRIPT_REAL function, where you specify what arguments should be used by the model from the data fed into Tableau in place of the arguments provided previously (_arg1 and _arg2 from point 2). <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"309\" height=\"87\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/19.png\" alt=\"\" class=\"wp-image-3005 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/19.png 309w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/19-300x84.png 300w\" data-sizes=\"(max-width: 309px) 100vw, 309px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 309px; --smush-placeholder-aspect-ratio: 309\/87;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>The calculation field created in this way is an array function that returns the prediction value for the specified arguments.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Integration of more advanced models<\/h2>\n\n\n\n<p>The second technique of integrating the ML model with Tableau is to use a different environment to create the code and to connect it to Tableau. Writing the code directly in Tableau can be problematic, in particular when you need to use such tools as Jupyter. In this approach, your development is carried out in a separate environment, where you use Tableau as the access point. To do so, you need to create a machine learning model, and then use this code to create the function returning the prediction in a notebook, followed by deploying this function in the Tabpy server. Step by step:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Create the model in Jupyter Notebook: <\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"434\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/20.png\" alt=\"\" class=\"wp-image-3006 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/20.png 1024w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/20-300x127.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/20-768x326.png 768w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/434;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>2. Create the function returning prediction from the model trained in point 1. It\u2019s worthwhile to note that this function is similar to the code that you entered in the SCRIPT_REAL function in the previous paragraph: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"176\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/21.png\" alt=\"\" class=\"wp-image-3007 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/21.png 1024w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/21-300x52.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/21-768x132.png 768w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/176;\" \/><\/figure>\n\n\n\n<p>3. Deploy the function from point 2 in the Tabpy server: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"127\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/22.png\" alt=\"\" class=\"wp-image-3008 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/22.png 1024w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/22-300x37.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/22-768x95.png 768w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/127;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>When all of the above steps are completed, you need to use the SCRIPT_REAL function to be able to use prediction in Tableau, however, its composition is different: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"933\" height=\"279\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/23.png\" alt=\"\" class=\"wp-image-3009 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/23.png 933w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/23-300x90.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/23-768x230.png 768w\" data-sizes=\"(max-width: 933px) 100vw, 933px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 933px; --smush-placeholder-aspect-ratio: 933\/279;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>This way you can access prediction from the model directly in Tableau. You can use it the following way:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Simulation of the prediction result depending on the variables \u2013 to do that, you can modify the Advanced_prediction function by replacing the values of arguments with the values of parameters that can be managed. This ways, by setting the relevant values, you will obtain the prediction of the target variable from the model: <\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"934\" height=\"241\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/24.png\" alt=\"\" class=\"wp-image-3010 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/24.png 934w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/24-300x77.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/24-768x198.png 768w\" data-sizes=\"(max-width: 934px) 100vw, 934px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 934px; --smush-placeholder-aspect-ratio: 934\/241;\" \/><\/figure>\n\n\n\n<p>As a result, you will get a simulator of the prediction result: <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"789\" height=\"394\" data-src=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/25.png\" alt=\"\" class=\"wp-image-3011 lazyload\" data-srcset=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/25.png 789w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/25-300x150.png 300w, https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/25-768x384.png 768w\" data-sizes=\"(max-width: 789px) 100vw, 789px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 789px; --smush-placeholder-aspect-ratio: 789\/394;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li>Prediction for a dataset \u2013 if your model has been trained on the historical data, you can feed the actual or prognosed data into Tableau and use the model to create prediction for this data.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Tableau and Machine Learning are an excellent match<\/h2>\n\n\n\n<p>By integrating Python (or R) scripts with Tableau, you can create a particularly useful analytical tool. Tableau is excellent in visual data analysis, which helps you easily interpret the data. It also provides enhanced interactivity, making data exploration much easier than in the case of using visual libraries in Python (Plotly or Matplotlib). Moreover, by using Tabpy and Tableau Server, Tableau can be a very practical framework, in which you can share the ML models with users within your organization, thus making them more accessible.<\/p>\n\n\n\n<p>Mateusz Karmalski, Tableau Author<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Machine Learning is a data science domain that has been rapidly developing in the recent years. In addition to the increasing range of applications, ML has also become more accessible. Several years ago, it was mainly the domain of scientists, then developers; but nowadays it is also becoming accessible for analysts. The development of Python [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2984,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"content-sidebar","footnotes":""},"categories":[9,5],"tags":[],"class_list":{"0":"post-2983","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-blog","8":"category-tableau","9":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Machine Learning and Tableau - NewDataLabs<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Machine Learning and Tableau - NewDataLabs\" \/>\n<meta property=\"og:description\" content=\"Machine Learning is a data science domain that has been rapidly developing in the recent years. In addition to the increasing range of applications, ML has also become more accessible. Several years ago, it was mainly the domain of scientists, then developers; but nowadays it is also becoming accessible for analysts. The development of Python [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/\" \/>\n<meta property=\"og:site_name\" content=\"NewDataLabs\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-01T19:41:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/wpis-12334.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"360\" \/>\n\t<meta property=\"og:image:height\" content=\"216\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Barbara\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Barbara\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/\"},\"author\":{\"name\":\"Barbara\",\"@id\":\"https:\/\/newdatalabs.com\/en\/#\/schema\/person\/dfa2df2f2fb6fcecdd8f69f00cffba29\"},\"headline\":\"Machine Learning and Tableau\",\"datePublished\":\"2024-03-01T19:41:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/\"},\"wordCount\":1350,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/wpis-12334.jpg\",\"articleSection\":[\"Blog\",\"Tableau\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/\",\"url\":\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/\",\"name\":\"Machine Learning and Tableau - NewDataLabs\",\"isPartOf\":{\"@id\":\"https:\/\/newdatalabs.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/wpis-12334.jpg\",\"datePublished\":\"2024-03-01T19:41:25+00:00\",\"author\":{\"@id\":\"https:\/\/newdatalabs.com\/en\/#\/schema\/person\/dfa2df2f2fb6fcecdd8f69f00cffba29\"},\"breadcrumb\":{\"@id\":\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#primaryimage\",\"url\":\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/wpis-12334.jpg\",\"contentUrl\":\"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/wpis-12334.jpg\",\"width\":360,\"height\":216},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/newdatalabs.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Machine Learning and Tableau\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/newdatalabs.com\/en\/#website\",\"url\":\"https:\/\/newdatalabs.com\/en\/\",\"name\":\"NewDataLabs\",\"description\":\"Tableau - Business Intelligence Tools\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/newdatalabs.com\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/newdatalabs.com\/en\/#\/schema\/person\/dfa2df2f2fb6fcecdd8f69f00cffba29\",\"name\":\"Barbara\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/newdatalabs.com\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8805976098f215eb8413b85141c17705f7ac9d91ccc0f83881d7eae1eab8c7f1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8805976098f215eb8413b85141c17705f7ac9d91ccc0f83881d7eae1eab8c7f1?s=96&d=mm&r=g\",\"caption\":\"Barbara\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Machine Learning and Tableau - NewDataLabs","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/","og_locale":"en_US","og_type":"article","og_title":"Machine Learning and Tableau - NewDataLabs","og_description":"Machine Learning is a data science domain that has been rapidly developing in the recent years. In addition to the increasing range of applications, ML has also become more accessible. Several years ago, it was mainly the domain of scientists, then developers; but nowadays it is also becoming accessible for analysts. The development of Python [&hellip;]","og_url":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/","og_site_name":"NewDataLabs","article_published_time":"2024-03-01T19:41:25+00:00","og_image":[{"width":360,"height":216,"url":"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/wpis-12334.jpg","type":"image\/jpeg"}],"author":"Barbara","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Barbara","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#article","isPartOf":{"@id":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/"},"author":{"name":"Barbara","@id":"https:\/\/newdatalabs.com\/en\/#\/schema\/person\/dfa2df2f2fb6fcecdd8f69f00cffba29"},"headline":"Machine Learning and Tableau","datePublished":"2024-03-01T19:41:25+00:00","mainEntityOfPage":{"@id":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/"},"wordCount":1350,"commentCount":0,"image":{"@id":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#primaryimage"},"thumbnailUrl":"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/wpis-12334.jpg","articleSection":["Blog","Tableau"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/","url":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/","name":"Machine Learning and Tableau - NewDataLabs","isPartOf":{"@id":"https:\/\/newdatalabs.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#primaryimage"},"image":{"@id":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#primaryimage"},"thumbnailUrl":"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/wpis-12334.jpg","datePublished":"2024-03-01T19:41:25+00:00","author":{"@id":"https:\/\/newdatalabs.com\/en\/#\/schema\/person\/dfa2df2f2fb6fcecdd8f69f00cffba29"},"breadcrumb":{"@id":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#primaryimage","url":"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/wpis-12334.jpg","contentUrl":"https:\/\/newdatalabs.com\/en\/wp-content\/uploads\/2024\/01\/wpis-12334.jpg","width":360,"height":216},{"@type":"BreadcrumbList","@id":"https:\/\/newdatalabs.com\/en\/machine-learning-and-tableau\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/newdatalabs.com\/en\/"},{"@type":"ListItem","position":2,"name":"Machine Learning and Tableau"}]},{"@type":"WebSite","@id":"https:\/\/newdatalabs.com\/en\/#website","url":"https:\/\/newdatalabs.com\/en\/","name":"NewDataLabs","description":"Tableau - Business Intelligence Tools","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/newdatalabs.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/newdatalabs.com\/en\/#\/schema\/person\/dfa2df2f2fb6fcecdd8f69f00cffba29","name":"Barbara","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/newdatalabs.com\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8805976098f215eb8413b85141c17705f7ac9d91ccc0f83881d7eae1eab8c7f1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8805976098f215eb8413b85141c17705f7ac9d91ccc0f83881d7eae1eab8c7f1?s=96&d=mm&r=g","caption":"Barbara"}}]}},"_links":{"self":[{"href":"https:\/\/newdatalabs.com\/en\/wp-json\/wp\/v2\/posts\/2983","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/newdatalabs.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/newdatalabs.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/newdatalabs.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/newdatalabs.com\/en\/wp-json\/wp\/v2\/comments?post=2983"}],"version-history":[{"count":3,"href":"https:\/\/newdatalabs.com\/en\/wp-json\/wp\/v2\/posts\/2983\/revisions"}],"predecessor-version":[{"id":3013,"href":"https:\/\/newdatalabs.com\/en\/wp-json\/wp\/v2\/posts\/2983\/revisions\/3013"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/newdatalabs.com\/en\/wp-json\/wp\/v2\/media\/2984"}],"wp:attachment":[{"href":"https:\/\/newdatalabs.com\/en\/wp-json\/wp\/v2\/media?parent=2983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/newdatalabs.com\/en\/wp-json\/wp\/v2\/categories?post=2983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/newdatalabs.com\/en\/wp-json\/wp\/v2\/tags?post=2983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}