diff --git a/VantageCloud_Lake/Getting_Started/Demo_XGB_Scoring.py b/VantageCloud_Lake/Getting_Started/Demo_XGB_Scoring.py
new file mode 100644
index 00000000..3760fd5e
--- /dev/null
+++ b/VantageCloud_Lake/Getting_Started/Demo_XGB_Scoring.py
@@ -0,0 +1,71 @@
+# Load dependency packages
+import sys
+import csv
+import numpy as np
+import pandas as pd
+from xgboost import XGBClassifier, Booster
+import warnings
+
+# pickle will issue a caution warning, if model pickling was done with
+# different library version than used here. The following disables any warnings
+# that might otherwise show in the scriptlog files on the Advanced SQL Engine
+# nodes in this case. Yet, do keep an eye for incompatible pickle versions.
+warnings.filterwarnings('ignore')
+
+# Know your data: You must know in advance the number and data types of the
+# incoming columns from the SQL Engine database!
+# For this script, the input expected format is:
+colNames = ['txn_id',
+ 'txn_type_CASH_OUT',
+ 'txn_type_CASH_IN',
+ 'txn_type_TRANSFER',
+ 'txn_type_DEBIT',
+ 'txn_type_PAYMENT',
+ 'txn_type_other',
+ 'amount',
+ 'oldbalanceOrig',
+ 'newbalanceOrig',
+ 'oldbalanceDest',
+ 'newbalanceDest',
+ 'isFraud']
+
+
+
+model = XGBClassifier()
+booster = Booster()
+booster.load_model('xgb_model')
+model._Booster = booster
+
+
+d = csv.DictReader(sys.stdin.readlines(), fieldnames = colNames)
+
+df = pd.DataFrame(d, columns = colNames)
+
+# Use try...except to produce an error if something goes wrong in the try block
+try:
+ # Exit gracefully if DataFrame is empty
+ if df.empty:
+ sys.exit()
+
+ # Specify the rows to be scored by the model and call the predictor.
+ X_test = df[['txn_type_CASH_OUT', 'txn_type_CASH_IN','txn_type_TRANSFER', 'txn_type_DEBIT','txn_type_PAYMENT', 'txn_type_other','amount','oldbalanceOrig', 'newbalanceOrig','oldbalanceDest', 'newbalanceDest']].astype(float)
+
+ y_prob = model.predict_proba(X_test)
+ df[['prob_0', 'prob_1']] = y_prob
+
+ y_pred = model.predict(X_test)
+ df['prediction'] = y_pred
+
+ # Export results to the Database through standard output.
+ for index, value in df.iterrows():
+ my_str = str(value['txn_id']) + ',' + str(value['prob_0']) + ',' + str(value['prob_1']) + ',' + str(value['prediction']) + ',' + str(value['isFraud'])
+ print(my_str)
+
+
+except (SystemExit):
+ # Skip exception if system exit requested in try block
+ pass
+except: # Specify in standard error any other error encountered
+ print("Script Failure :", sys.exc_info()[0], file=sys.stderr)
+ raise
+ sys.exit()
diff --git a/VantageCloud_Lake/Getting_Started/Opensource_Data_Science_OAF.ipynb b/VantageCloud_Lake/Getting_Started/Opensource_Data_Science_OAF.ipynb
new file mode 100644
index 00000000..57ef699d
--- /dev/null
+++ b/VantageCloud_Lake/Getting_Started/Opensource_Data_Science_OAF.ipynb
@@ -0,0 +1,1037 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "hawaiian-daniel",
+ "metadata": {},
+ "source": [
+ "\n",
+ "\n",
+ " \n",
+ " Leveraging Open Source Machine Learning with ClearScape Analytics and Open Analytics Framework\n",
+ "
\n",
+ " \n",
+ "
Introduction:
\n", + "\n", + "Open-source Machine Learning, AI, and Advanced Analytics tools, techniques, and resources offer enterprises limitless opportunities to drive new insights and business value from their internal and external data landscape. Unfortunately, with these opportunities come significant challenges to realizing success. Some of these challenges include:
\n", + "VantageCloud Lake Edition Open Analytics Framework is the only enterprise-class platform that addresses these challenges with a simple, powerful architecture. The following demonstration will illustrate how users can use any open-source tool or package of choice, deploy it to a custom, isolated environment; and then execute in parallel and at massive scale.
\n", + "\n", + "This demonstration utilizes a VantageCloud Lake Analytic Cluster architecture, using the shared data sets created in the previous demonstration. Specifically the \"Txn_History\" data that represents \"CashApp\" style transaction history stored in the Vantage Object File System (OFS).
\n", + "\n", + "The high level process is as follows:
\n", + "\n", + "\n",
+ "
\n", + " \n", + " | ![]() |
This notebook consists of three primary demonstrations
\n", + "2. Connect to VantageCloud Lake
\n", + "Connect to VantageCloud using `create_context` from the teradataml Python library. Input your connection details, including the host, username, password and Analytic Compute Group name.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "700c32b0-bd3d-4cee-85db-788889f0c7a7", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Checking if this environment is ready to connect to VantageCloud Lake...\")\n", + "\n", + "if os.path.exists(\"/home/jovyan/JupyterLabRoot/VantageCloud_Lake/.config/.env\"):\n", + " print(\"Your environment parameter file exist. Please proceed with this use case.\")\n", + " # Load all the variables from the .env file into a dictionary\n", + " env_vars = dotenv_values(\"/home/jovyan/JupyterLabRoot/VantageCloud_Lake/.config/.env\")\n", + " # Create the Context\n", + " eng = create_context(host=env_vars.get(\"host\"), username=env_vars.get(\"username\"), password=env_vars.get(\"my_variable\"))\n", + " execute_sql('''SET query_band='DEMO=Opensource_Data_Science_OAF.ipynb;' UPDATE FOR SESSION;''')\n", + " print(\"Connected to VantageCloud Lake with:\", eng)\n", + "else:\n", + " print(\"Your environment has not been prepared for connecting to VantageCloud Lake.\")\n", + " print(\"Please contact the support team.\")" + ] + }, + { + "cell_type": "markdown", + "id": "offshore-watch", + "metadata": {}, + "source": [ + "3. Demo 1 - Custom Container Management
\n", + "\n", + "\n", + "\n", + "The Teradata Vantage Python Client Library provides simple, powerful methods for the creation and maintenance of custom Python runtime environments in the VantageCloud environment . This allows practitioners complete control over the behavior and quality of their model performance and analytic accuracy running on the Analytic Cluster. The following demonstration will show how easy it is to create a custom xgboost-based scoring environment.
\n", + "\n", + "Custom environments are persistent. Users only need to create these once and then can be saved, updated, or modified only as needed.
\n", + "\n", + "Container Management Process
\n", + "\n",
+ "
\n", + " \n", + " \n", + " | \n",
+ " ![]() | \n",
+ "
3.1 Connect to the Environment Service
\n", + "\n", + "To better support integration with Cloud Services and commong automation tools; the User Environment Service is accessed via RESTful APIs. These APIs can be called directly or in the examples shown below that leverage the Python Package for Teradata (teradataml) methods.
\n", + "\n", + "In order to properly authenticate to the UES infrastructure, the user must log in with the same credentials that are used to connect to the database. When the following cell executes, follow the instructions to open a browser window, and log in with that user.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "734d8327-f92c-4843-84be-b89b8fdf690f", + "metadata": {}, + "outputs": [], + "source": [ + "# We've already loaded all the values into our environment variables and into a dictionary, env_vars.\n", + "# username=env_vars.get(\"username\") isn't required when using base_url, pat and pem.\n", + "\n", + "if set_auth_token(base_url=env_vars.get(\"ues_uri\"),\n", + " pat_token=env_vars.get(\"access_token\"), \n", + " pem_file=env_vars.get(\"pem_file\"),\n", + " valid_from=int(time.time())\n", + " ):\n", + " print(\"UES Authentication successful\")\n", + "else:\n", + " print(\"UES Authentication failed. Check credentials.\")\n", + " sys.exit(1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "869bec81-31cd-4ec3-97e7-1802ae2cfd7b", + "metadata": {}, + "outputs": [], + "source": [ + "gpu_compute_group = env_vars.get(\"gpu_compute_group\")\n", + "execute_sql(f\"SET SESSION COMPUTE GROUP {gpu_compute_group};\")\n", + "print(f\"Compute group set to {gpu_compute_group}\") " + ] + }, + { + "cell_type": "markdown", + "id": "eligible-newfoundland", + "metadata": {}, + "source": [ + "3.2 Create a Custom Container in Vantage
\n", + "\n", + "If desired, the user can create a new custom environment by starting with a \"base\" image and customizing it. The steps are:
\n", + "3.3 Install Dependencies
\n", + "\n", + "The second step in the customization process is to install Python package dependencies. This set of code:\n", + "
\n", + "\n", + "4. Demo 2 - Install Custom Models and Scripts
\n", + "\n", + "Once the custom runtime environment has been created, the user can then load custom user-created assets. For the purposes of this Demonstration, we will load two files;
\n", + "\n", + "Once again, the Vantage Python Library makes this process straightforward by calling two simple methods:
\n", + "\n", + "\n",
+ "
\n", + " | \n",
+ " ![]() | \n",
+ "
4.1 Install User Files in the Cluster Container
\n", + "\n", + "Users can load any asset to the environment using the install_file method. This ensures that only authenticated users can install specific files into a dedicated filesystem, and helps prevent malicious code injection. Users pass the file name, and whether to replace an existing file.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "large-luther", + "metadata": {}, + "outputs": [], + "source": [ + "# Install xgboost model file.\n", + "demo_env.install_file('xgb_model', replace = True)\n", + "\n", + "# Install the desired Python script into the environment.\n", + "demo_env.install_file('Demo_XGB_Scoring.py', replace = True)" + ] + }, + { + "cell_type": "markdown", + "id": "minimal-transport", + "metadata": {}, + "source": [ + "4.2 List all installed files
\n", + "\n", + "files property lists the asset, size, and last updated timestamp. As above, these methods are available to manage the container remotely, since these containers live in the Vantage environment.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "running-tribute", + "metadata": {}, + "outputs": [], + "source": [ + "# Verify the files have been installed correctly.\n", + "demo_env.files" + ] + }, + { + "cell_type": "markdown", + "id": "responsible-switzerland", + "metadata": {}, + "source": [ + "5. Demo 3 - Model Scoring at Scale
\n", + "\n", + "VantageCloud Lake Edition Analytic Clusters combine the power and scale of native ClearScape Analytics Functions with the open and flexible runtime environments; offering users the flexibility to balance built-in data prep, transformation and feature engineering functions with custom code and models at massive scale.
\n", + "\n", + "Enterprise Class customers report the ability to reduce data prep and model scoring times from several hours per run to seconds; effectively allowing model scoring in near-real-time.
\n", + "\n", + "This demonstration will illustrate these key concepts:
\n", + "\n", + "\n",
+ "
\n", + " \n", + " | \n",
+ " ![]() | \n",
+ "
5.1 Data Transformation/Feature Engineering
\n", + "\n", + "Create a reference to the data set in Vantage, and apply powerful transformation functions directly on the Data. ClearScape Analytics is a suite of in-database massively-parallel-processing functions for statistical analysis, data cleaning and transformation, machine learning, text analytics, and model scoring. Practictioners can leverage these functions together with open-source modeling as illustrated here, or create powerful, native end-to-end pipelines using just these functions.
\n", + "\n", + "5.2 Engineer Features
\n", + "\n", + "Call the ClearScape One Hot Encoding function to transform the categorical column into numeric features.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "imposed-match", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Perform native one-hot encoding on the data\n", + "# These functions use a \"fit-and-transform\" pattern\n", + "# that supports reuse and easier operationalization of the transformation process\n", + "\n", + "from teradataml import OneHotEncodingFit, OneHotEncodingTransform\n", + "\n", + "res_ohe = OneHotEncodingFit(data = tdf_test, \n", + " target_column = 'type', \n", + " categorical_values = ['CASH_OUT', 'CASH_IN', 'TRANSFER', 'DEBIT', 'PAYMENT'], \n", + " other_column = 'other',\n", + " is_input_dense = True)\n", + "\n", + "res_transformed = OneHotEncodingTransform(data = tdf_test, object = res_ohe.result, is_input_dense = True)\n", + "res_transformed.result.head(5)" + ] + }, + { + "cell_type": "markdown", + "id": "collectible-gather", + "metadata": {}, + "source": [ + "5.3 Execute the Scoring function
\n", + "\n", + "Now that the categorical column has been encoded, the XGBoost model can be called. This is executed via the Apply method, where we pass;
\n", + "\n", + "Finally, the script is executed by calling the \"execute_script\" method; this \"lazy\" evaluation allows for more modular and performant architecture.
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4af9a813-110a-4b7a-b46f-3b4a12aaa585", + "metadata": {}, + "outputs": [], + "source": [ + "copy_to_sql(res_transformed.result, table_name = 'Transformed_Tbl', if_exists = 'replace')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "36b7284c-9522-453b-9a8b-59adebeb335e", + "metadata": {}, + "outputs": [], + "source": [ + "res_transformed = DataFrame.from_query(\"SELECT TOP 1000 * FROM Transformed_Tbl\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "unlimited-liver", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "apply_obj = Apply(data = res_transformed.drop(['step', 'nameOrig', 'nameDest', 'isFlaggedFraud'], axis = 1),\n", + " apply_command = 'python3 Demo_XGB_Scoring.py',\n", + " returns = {'Actual': VARCHAR(2) , 'Prob_0': VARCHAR(30), 'Prob_1': VARCHAR(30), 'Prediction':VARCHAR(2), 'txn_id': VARCHAR(20)},\n", + " env_name = demo_env,\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "opening-manner", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Execute the Python script inside the remote user environment.\n", + "# The result is a teradataml DataFrame. \n", + "scored_data = apply_obj.execute_script()\n", + "\n", + "# Only return five rows - minimize network overhead\n", + "scored_data.head(5)" + ] + }, + { + "cell_type": "markdown", + "id": "chief-falls", + "metadata": {}, + "source": [ + "5.4 Analyze the Results
\n", + "\n", + "It is common practice to measure the efficacy of a model. For this demonstration, a \"Confusion Matrix\" is generated that shows the quantity of true vs. false positives and negatives for the model.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "distinguished-motor", + "metadata": {}, + "outputs": [], + "source": [ + "# Copy the predictions to the client\n", + "# to generate the simple Confusion Matrix\n", + "# and print the AUC (Area Under Curve)\n", + "\n", + "df_test = scored_data.to_pandas(all_rows = True)\n", + "cm = confusion_matrix(df_test['Actual'].astype(int), df_test['Prediction'].astype(int))\n", + "disp = ConfusionMatrixDisplay(confusion_matrix = cm, display_labels = ['0', '1'])\n", + "fig, ax = plt.subplots(figsize=(10,10))\n", + "disp.plot(ax=ax)\n", + "\n", + "plt.show()\n", + "\n", + "#Get AUC score - anything over .75 is decent\n", + "AUC = roc_auc_score(df_test['Actual'].astype(int), df_test['Prediction'].astype(int))\n", + "print(f'AUC: {AUC}')" + ] + }, + { + "cell_type": "markdown", + "id": "conceptual-crash", + "metadata": {}, + "source": [ + "5.5 Disconnect from Vantage
\n", + "\n", + "Once complete, one can remove the custom environment (if desired) and close the \"context\" to the Vantage system.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "tired-purple", + "metadata": {}, + "outputs": [], + "source": [ + "# uninstall the libraries from the environment first before removing it\n", + "demo_env.uninstall_lib(libs = demo_env.libs['name'].to_list())\n", + "remove_env(demo_env.env_name)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fiscal-animal", + "metadata": {}, + "outputs": [], + "source": [ + "remove_context()" + ] + }, + { + "cell_type": "markdown", + "id": "material-groove", + "metadata": {}, + "source": [ + "6. Appendix - Model Training and Evaluation
\n", + "\n", + "VantageCloud Lake Edition Analytic Clusters and ClearScape Analytics functions can also be leveraged for model training. This brief addendum shows an abbreviated process for developing and testing an open-source fraud detection model with Vantage and XGBoost.
" + ] + }, + { + "cell_type": "markdown", + "id": "abroad-underground", + "metadata": {}, + "source": [ + "6.1 Connect to Vantage
\n", + "\n", + "If necessary, connect to Vantage. If the context is still valid from above this doesn't need to be run. The below code will read in a variables file (vars.json - this has been used in prior environment setup and data engineering examples) and will connect to Vantage with this information. The Vantage connection is referred to as a \"Context\" - a common python-rdbms connection architecture.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "contemporary-rouge", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Checking if this environment is ready to connect to VantageCloud Lake...\")\n", + "\n", + "if os.path.exists(\"/home/jovyan/JupyterLabRoot/VantageCloud_Lake/.config/.env\"):\n", + " print(\"Your environment parameter file exist. Please proceed with this use case.\")\n", + " # Load all the variables from the .env file into a dictionary\n", + " env_vars = dotenv_values(\"/home/jovyan/JupyterLabRoot/VantageCloud_Lake/.config/.env\")\n", + " # Create the Context\n", + " eng = create_context(host=env_vars.get(\"host\"), username=env_vars.get(\"username\"), password=env_vars.get(\"my_variable\"))\n", + " execute_sql('''SET query_band='DEMO=Opensource_Data_Science_OAF.ipynb;' UPDATE FOR SESSION;''')\n", + " print(\"Connected to VantageCloud Lake with:\", eng)\n", + "else:\n", + " print(\"Your environment has not been prepared for connecting to VantageCloud Lake.\")\n", + " print(\"Please contact the support team.\")" + ] + }, + { + "cell_type": "markdown", + "id": "modified-services", + "metadata": {}, + "source": [ + "6.2 Get a reference to the data
\n", + "\n", + "Create a Teradataml DataFrame which references the data set in Vantage. This could be a table stored in direct-attach block storage, Performance-Optimized Object Storage (OFS), or stored in an open format in any Object Store.
\n", + "\n", + "Teradataml DataFrames do not copy data into local memory, so complex analytic and transformation operations can run against data at any scale, while leveraging the parallel processing and workload isolation of Vantage Analytic Clusters.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "american-centre", + "metadata": {}, + "outputs": [], + "source": [ + "# Updated variables to insure they are the same\n", + "tdf_test = DataFrame(in_schema(\"DEMO_GLM_Fraud\", \"transaction_data\"))\n", + "tdf_test.head(5)" + ] + }, + { + "cell_type": "markdown", + "id": "terminal-network", + "metadata": {}, + "source": [ + "6.3 Engineer Features
\n", + "\n", + "Call the ClearScape One Hot Encoding function to transform the categorical column into numeric features.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "higher-courage", + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import OneHotEncodingFit, OneHotEncodingTransform\n", + "\n", + "res_ohe = OneHotEncodingFit(data = tdf_test, \n", + " target_column = 'type', \n", + " categorical_values = ['CASH_OUT', 'CASH_IN', 'TRANSFER', 'DEBIT', 'PAYMENT'], \n", + " other_column = 'other',\n", + " is_input_dense = True)\n", + "\n", + "res_transformed = OneHotEncodingTransform(data = tdf_test, object = res_ohe.result, is_input_dense = True)\n", + "res_transformed.result.head(5)" + ] + }, + { + "cell_type": "markdown", + "id": "billion-drawing", + "metadata": {}, + "source": [ + "Design for Operations
\n", + "\n", + "Persist the \"Fit\" table to reuse it for the Operational transformation of new data
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "meaning-trading", + "metadata": {}, + "outputs": [], + "source": [ + "# copy the fit table to a permanent table for use later\n", + "res = copy_to_sql(res_ohe.result, table_name = 'OHE_FIT_TABLE', if_exists = 'replace')" + ] + }, + { + "cell_type": "markdown", + "id": "cognitive-dream", + "metadata": {}, + "source": [ + "6.4 Test/Train Split
\n", + "\n", + "Extraordinarily fast \"Sample\" function can split the data into multiple data sets in seconds.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ignored-scholar", + "metadata": {}, + "outputs": [], + "source": [ + "tdf_samples = res_transformed.result.sample(frac = [0.2, 0.8])\n", + "copy_to_sql(tdf_samples[tdf_samples['sampleid'] == 2], table_name = 'txns_train', if_exists = 'replace')\n", + "copy_to_sql(tdf_samples[tdf_samples['sampleid'] == 1], table_name = 'txns_test' , if_exists = 'replace')" + ] + }, + { + "cell_type": "markdown", + "id": "major-nudist", + "metadata": {}, + "source": [ + "6.5 Train the Model
\n", + "\n", + "Use open-source XGBoost Classifier to train the model using the \"training\" data split above.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "demanding-bouquet", + "metadata": {}, + "outputs": [], + "source": [ + "# Create a Pandas DataFrame\n", + "df_train = DataFrame(\"txns_train\").to_pandas(all_rows = True)\n", + "\n", + "# define the input columns and target variable:\n", + "X_train = df_train[['type_CASH_OUT', 'type_CASH_IN', 'type_TRANSFER',\n", + " 'type_DEBIT', 'type_PAYMENT', 'type_other', 'amount','oldbalanceOrig', 'newbalanceOrig',\n", + " 'oldbalanceDest', 'newbalanceDest']]\n", + "y_train = df_train[['isFraud']]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "strong-lottery", + "metadata": {}, + "outputs": [], + "source": [ + "# Fit the Model\n", + "warnings.filterwarnings('ignore')\n", + "from xgboost import XGBClassifier\n", + "\n", + "model = XGBClassifier()\n", + "model.fit(X_train, y_train)" + ] + }, + { + "cell_type": "markdown", + "id": "atmospheric-occasions", + "metadata": {}, + "source": [ + "6.6 Test the Model
\n", + "\n", + "It is common practice to measure the efficacy of a model. For this demonstration, a \"Confusion Matrix\" is generated that shows the quantity of true vs. false positives and negatives for the model.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "australian-religion", + "metadata": {}, + "outputs": [], + "source": [ + "# Return a Pandas DataFrame from the split data above\n", + "\n", + "df_test = DataFrame(\"txns_test\").to_pandas(all_rows = True)\n", + "\n", + "# Define the input columns and target\n", + "X_test = df_test[['type_CASH_OUT', 'type_CASH_IN', 'type_TRANSFER',\n", + " 'type_DEBIT', 'type_PAYMENT', 'type_other', 'amount','oldbalanceOrig', 'newbalanceOrig',\n", + " 'oldbalanceDest', 'newbalanceDest']]\n", + "y_test = df_test[['isFraud']]\n", + "\n", + "\n", + "# Predict the class and the probability of Fraud\n", + "y_pred = model.predict(X_test)\n", + "y_prob = model.predict_proba(X_test)\n", + "\n", + "\n", + "# Generate the Confusion Matrix\n", + "df_test[['prob_0', 'prob_1']] = y_prob\n", + "df_test['prediction'] = y_pred\n", + "\n", + "cm = confusion_matrix(df_test['isFraud'], df_test['prediction'])\n", + "disp = ConfusionMatrixDisplay(confusion_matrix = cm, display_labels = ['0', '1'])\n", + "fig, ax = plt.subplots(figsize=(10,10))\n", + "disp.plot(ax=ax)\n", + "\n", + "plt.show()\n", + "\n", + "#Get AUC score - anything over .75 is decent\n", + "AUC = roc_auc_score(df_test['isFraud'], df_test['prediction'])\n", + "print(f'AUC: {AUC}')" + ] + }, + { + "cell_type": "markdown", + "id": "proper-friendship", + "metadata": {}, + "source": [ + "6.7 Save the Model
\n", + "\n", + "Save the model file in native xgboost format. This is used above in the main demonstration.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "assured-progressive", + "metadata": {}, + "outputs": [], + "source": [ + "model.save_model('xgb_model')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "formed-sheet", + "metadata": {}, + "outputs": [], + "source": [ + "remove_context()" + ] + }, + { + "cell_type": "markdown", + "id": "1a4db3dc-2241-4735-9a1e-a489c8986bdb", + "metadata": {}, + "source": [ + "" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.10" + }, + "toc-autonumbering": false, + "toc-showmarkdowntxt": true + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/VantageCloud_Lake/Getting_Started/images/Container_Layout.png b/VantageCloud_Lake/Getting_Started/images/Container_Layout.png new file mode 100644 index 00000000..79fac5d8 Binary files /dev/null and b/VantageCloud_Lake/Getting_Started/images/Container_Layout.png differ diff --git a/VantageCloud_Lake/Getting_Started/images/In_DB_Functions.png b/VantageCloud_Lake/Getting_Started/images/In_DB_Functions.png new file mode 100644 index 00000000..7445ea5f Binary files /dev/null and b/VantageCloud_Lake/Getting_Started/images/In_DB_Functions.png differ diff --git a/VantageCloud_Lake/Getting_Started/images/Model.png b/VantageCloud_Lake/Getting_Started/images/Model.png new file mode 100644 index 00000000..228bf77b Binary files /dev/null and b/VantageCloud_Lake/Getting_Started/images/Model.png differ diff --git a/VantageCloud_Lake/Getting_Started/images/OAF_Env.png b/VantageCloud_Lake/Getting_Started/images/OAF_Env.png new file mode 100644 index 00000000..1be627c3 Binary files /dev/null and b/VantageCloud_Lake/Getting_Started/images/OAF_Env.png differ diff --git a/VantageCloud_Lake/Getting_Started/images/OAF_Overview.png b/VantageCloud_Lake/Getting_Started/images/OAF_Overview.png new file mode 100644 index 00000000..73b29048 Binary files /dev/null and b/VantageCloud_Lake/Getting_Started/images/OAF_Overview.png differ diff --git a/VantageCloud_Lake/Getting_Started/images/OAF_Scoring.png b/VantageCloud_Lake/Getting_Started/images/OAF_Scoring.png new file mode 100644 index 00000000..239be028 Binary files /dev/null and b/VantageCloud_Lake/Getting_Started/images/OAF_Scoring.png differ diff --git a/VantageCloud_Lake/Getting_Started/images/TeradataLogo.png b/VantageCloud_Lake/Getting_Started/images/TeradataLogo.png new file mode 100644 index 00000000..a6811164 Binary files /dev/null and b/VantageCloud_Lake/Getting_Started/images/TeradataLogo.png differ diff --git a/VantageCloud_Lake/UseCases/Anomaly_Detection/VCL_Anomaly_Detection_Python.ipynb b/VantageCloud_Lake/UseCases/Anomaly_Detection/VCL_Anomaly_Detection_Python.ipynb new file mode 100644 index 00000000..fa2b09ac --- /dev/null +++ b/VantageCloud_Lake/UseCases/Anomaly_Detection/VCL_Anomaly_Detection_Python.ipynb @@ -0,0 +1,1900 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "b1378a69-ac58-4d0c-af22-7ef881abac45", + "metadata": {}, + "source": [ + "\n",
+ " Anomaly Detection in Robot Welding Process\n",
+ "
\n",
+ " \n",
+ "
Introduction
\n", + "\n", + "Detecting anomalies reduces issues and delays in many industries, especially in the manufacturing field. There have been approaches to detect anomalies in the past, such as engineering rules and graph and deep learning. However, it still proves difficult to detect all the existing anomalies. Plus, companies are striving to minimize false positives, cope with the diversity of sensors and metrology issues, and deliver actionable insights at a business pace. Fortunately, Teradata and ClearScape Analytics have the solution. In ClearScape Analytics, users can execute all steps of anomaly detection from data preparation and exploration to model training and evaluations and adjustments. These analyses can improve the process and ensure accuracy in anomaly detection.
\n", + "\n", + "Spot Welding Quality Assessment
\n", + "Spot welding is a common technique used for welding car body panels, particularly in the assembly of smaller parts and components. Spot welding involves using a pair of copper electrodes to apply a series of short, high-current welding pulses to the metal, fusing the parts together at specific points or “spots”.
\n", + "\n", + "The automotive industry is known for its high level of automation, and spot welding is one of the most automated processes, heavily reliant on robots to improve efficiency, reduce labor costs, and improve the consistency and quality of the finished product. Poor welding quality is rare, but even so, the consequences of poor quality may not be negligible in terms of rework costs and customer satisfaction, especially when quality issues are detected too late.
\n", + "\n", + "Spot welding is a resistance welding process that uses large electrical current. There are many ways to assess the quality of a spot, like tensile or ultrasonic testing to assess the weld strength or the analysis of the welding current measured and recorded during the welding process. In this demo, we focus on the analysis of the anomalies in the welding spot due to welding current, and more specifically the resistance, i.e. the voltage-current ratio which impacts the quality of the welding. The shape of the resistance curve depends on many factors like the nature of the materials, the geometry, and the quality of the electrodes etc.
\n", + "\n", + "\n", + "Business Values
\n", + "Why Vantage?
\n", + "Many organizations fail to realize value from their ML and AI investments due to a lack of scale. It is estimated that for broad adoption across many industries, the number of models and model deployments needs to scale 100-1000x larger than their organizations currently support.
\n", + "The unique massively-parallel architecture of Teradata Vantage allows users to prepare data, train, evaluate, and deploy models at unprecedented scale.
\n", + "In this particular use case, the volume of machine sensor data was so great that millions of ML models were created to derive analytic features that ultimately deployed tens of thousands of models for real-time scoring. This extent of scale is only possible by combining the power of Vantage with native ClearScape Analytic functions.
\n", + "\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "b33aebf1-80cf-4043-99de-b2ac0356ea64", + "metadata": { + "tags": [] + }, + "source": [ + "1. Configure the environment
\n", + "\n",
+ "Before we start working with our data, we need to set up our environment. This involves importing the necessary packages and establishing a connection to Vantage.\n",
+ "
\n",
+ "Here's how we can do this:
2. Connect to VantageCloud Lake
\n", + "Connect to VantageCloud using create_context
from the teradataml Python library. If this environment has been prepared for connecting to a VantageCloud Lake OAF Container, all the details required will be loaded and you will see an acknowledgement after executing this cell.
3.Load the data
\n" + ] + }, + { + "cell_type": "markdown", + "id": "9476f53a-7115-4018-a58f-dd09f7fc8b88", + "metadata": {}, + "source": [ + "We have provided data for this demo in the lake environment. The data is available in the database \"DEMO_AnomalyDetection\". Your user should have read access to the database. In case of any issues please write a mail to the support group (\"SC230208@teradata.com\").
\n", + "\n", + "**Note: The tables are available in DEMO_AnomalyDetection_DB database and we have created views in DEMO_AnomalyDetection database which are used in the cells below
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "99598e0a-8a6c-4539-a06d-f6723f67134f", + "metadata": {}, + "outputs": [], + "source": [ + "Sensor_Data = DataFrame(in_schema('DEMO_AnomalyDetection', 'Sensor_Data'))\n", + "Sensor_Data" + ] + }, + { + "cell_type": "markdown", + "id": "d4b9b958-737d-41a0-adec-91614fa0fe2e", + "metadata": {}, + "source": [ + "We get the above data from sensors. We focus on one plant (PLANT=1) and one robot (ROBOT_ID=41). The Partition_ID is the type of welding, ID is the WELDING_ID, X is time required for welding in ms and Y is the RESISTANCE. We create a view with the columns required to get data with proper column names.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88cde234-6107-487e-92f2-7f045576cc1d", + "metadata": {}, + "outputs": [], + "source": [ + "%%capture\n", + "query = f\"\"\"\n", + "REPLACE VIEW DEMO_AnomalyDetection.V_dataset_01 AS\n", + "SELECT\n", + " 1 AS PLANT\n", + ", {41} AS ROBOT_ID\n", + ", CAST(A.PARTITION_ID AS BIGINT) AS WELDING_TYPE\n", + ", CAST((DATE '{str(datetime.datetime.now()).split(' ')[0]}' + FLOOR((WELDING_ID-700*WELDING_TYPE)/100)) AS DATE FORMAT 'YYYY-MM-DD') AS WELDING_DAY\n", + ", CAST(A.ID AS BIGINT) AS WELDING_ID\n", + ", CAST(A.X AS INTEGER) AS TIME_MS\n", + ", A.Y AS RESISTANCE\n", + "FROM DEMO_AnomalyDetection.Sensor_Data A\n", + "\"\"\"\n", + "execute_sql(query)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8ec3a959-c5e0-4039-88f8-846adca6f113", + "metadata": {}, + "outputs": [], + "source": [ + "welding_dataset_new = DataFrame(in_schema('DEMO_AnomalyDetection', 'V_dataset_01'))\n", + "welding_dataset_new" + ] + }, + { + "cell_type": "markdown", + "id": "09198aa2-6ab7-4339-a01a-365cba02c772", + "metadata": {}, + "source": [ + "3.1 - Some aggregations and visualization.
\n" + ] + }, + { + "cell_type": "markdown", + "id": "f83b1b1a-eece-487a-97d7-b4759ea624ce", + "metadata": {}, + "source": [ + "We will check the histogram based on the minimum and maximum Time for welding.
\n", + "A histogram is a better way to assess distribution, to cope with the scalability, it is recommended to compute the histogram bins in-database to leverage the Massively Parallel Architecture of Teradata Vantage. For that, we use the Histogram function of teradataml that pushes down the computations to Vantage.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1a5d38c3-ebb9-47a2-b8ad-f00acd9d769b", + "metadata": {}, + "outputs": [], + "source": [ + "welding_duration_ms = welding_dataset_new. \\\n", + " groupby(['PLANT','ROBOT_ID','WELDING_TYPE', 'WELDING_ID']). \\\n", + " agg({'TIME_MS':['min','max','count']})\n", + "welding_duration_ms" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "642bf739-a421-4ffd-8fc1-53f273db9bd9", + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import Histogram\n", + "obj = Histogram(data=welding_duration_ms,\n", + " target_columns=\"count_TIME_MS\",\n", + " method_type=\"Scott\")\n", + "res = obj.result.sort('MinValue')\n", + "res" + ] + }, + { + "cell_type": "markdown", + "id": "62b099f0-eb76-45a2-9c0e-983399c59570", + "metadata": {}, + "source": [ + "We can see that we have calculated the histogram values using the teradataml functions. Clearscape Analytics can easily integrate with 3rd party visualization tools like Tableau, PowerBI or many python modules available like plotly, seaborn etc. We can do all the calculations and pre-processing on Vantage and pass only the necessary information to visualization tools, this will not only make the calculation faster but also reduce the time due to less data movement between tools. We do the data transfer for this and the subsequent visualizations wherever necessary.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c9b72ab-7d3c-4964-9199-ee1dcc17c928", + "metadata": {}, + "outputs": [], + "source": [ + "res = obj.result.sort('MinValue').to_pandas()\n", + "res['duration_ms'] = [str(row['MinValue'])+'-'+str(row['MaxValue']) for i,row in res.iterrows()]\n", + "res.plot(x='duration_ms',y='CountOfValues',kind='bar', figsize=(15,10), legend=False,xlabel='Duration(ms)', ylabel='Welding Counts')" + ] + }, + { + "cell_type": "markdown", + "id": "88429a10-aa8b-459f-976a-6276ab121bbc", + "metadata": {}, + "source": [ + "In the above histogram we can see the bins between the Min and the Max value of the durations and the welding counts.
\n", + "3.2 - More advanced processing using window functions and delta_t
\n", + "Resistance is an important parameter in resistance welding. The resistance should not vary too much. If there are any significant changes in resistance over time, it could indicate an issue with the weld quality. For example, an unusually high resistance could indicate poor contact between the parts being welded or a problem with the welding equipment.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b5615026-52eb-4aae-8bb2-146e88ef4502", + "metadata": {}, + "outputs": [], + "source": [ + "welding_dataset_new.loc[welding_dataset_new.WELDING_ID == 854]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "50c72091-f7f3-4ed3-a436-ee5c44335f4e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from tdnpathviz.visualizations import plotcurves\n", + "plotcurves(welding_dataset_new.loc[welding_dataset_new.WELDING_ID == 854],field='RESISTANCE',row_axis='TIME_MS', series_id='WELDING_ID',select_id=None)" + ] + }, + { + "cell_type": "markdown", + "id": "ae924828-6e92-4003-93c9-b66aeec1821f", + "metadata": {}, + "source": [ + "The above graph shows the variation of the resistance of the welding with respect to time. We see that the most interesting part lies between 40 and 400ms from the start of the curve.
\n", + "\n", + "Next we apply the window function on the resistance to smooth the resistance and taking the mean value.
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "516d8fd4-ab2c-44cd-89d2-d8075e40cf82", + "metadata": {}, + "outputs": [], + "source": [ + "# curve smoothing\n", + "window_for_smoothing = welding_dataset_new.RESISTANCE.window(\n", + " partition_columns = \"WELDING_ID\",\n", + " order_columns = 'TIME_MS',\n", + " window_start_point = -15,\n", + " window_end_point = 15\n", + ")\n", + "welding_dataset_smooth = welding_dataset_new.assign(RESISTANCE_SMOOTHED = window_for_smoothing.mean())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6c351bab-cd80-452c-b600-79efaec9f769", + "metadata": {}, + "outputs": [], + "source": [ + "id_curve = 854\n", + "single_welding = welding_dataset_smooth[welding_dataset_smooth.WELDING_ID == id_curve].sort('TIME_MS')\n", + "single_welding" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "44d1ffb7-1bf2-4770-8b0d-f21ed5a589e4", + "metadata": {}, + "outputs": [], + "source": [ + "figure = Figure(width=1000, height=400, image_type=\"jpg\",\n", + " heading=\"RESISTANCE and RESISTANCE SMOOTHED\")\n", + "plot = single_welding.plot(x=single_welding.TIME_MS, y=[single_welding.RESISTANCE, single_welding.RESISTANCE_SMOOTHED],\n", + " style=['blue', 'red'],xlabel='time in ms', ylabel='resistance ',figure=figure)\n", + "plot.show()" + ] + }, + { + "cell_type": "markdown", + "id": "299bf795-653e-45a4-8f39-5143d81173cf", + "metadata": {}, + "source": [ + "The above graph shows the variation of the resistance of the welding with respect to time and the smoothed resistance, as shown by the Red line, after applying the window function.
\n", + "\n", + "The window function generates a Window object on a teradataml DataFrame Column to run window aggregate functions.\n", + "
Function allows user to specify window for different types of computations:\n", + "
By default, window with Unbounded Preceding and Unbounded following is considered for calculation.
\n", + "\n", + "Next we calculate the derivative by using the lead function and taking the difference of the lead value and the mean value of the resistance. Applying a window function to smooth the resistance curve helps to eliminate noise and makes it easier to see the overall trend. The derivative of the resistance gives an indication of how quickly the resistance is changing, which can be a useful measure for detecting anomalies and predicting potential issues.
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e489b230-97b7-4f91-a001-3355da9b20bd", + "metadata": {}, + "outputs": [], + "source": [ + "copy_to_sql(welding_dataset_smooth,table_name='welding_dataset_smooth', if_exists='replace')\n", + "welding_dataset_smooth = DataFrame('welding_dataset_smooth')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fccb6149-ce72-4601-983b-a87f2bc52417", + "metadata": {}, + "outputs": [], + "source": [ + "# let's compute the lead\n", + "window_for_lead = welding_dataset_smooth.RESISTANCE_SMOOTHED.window(\n", + " partition_columns = \"WELDING_ID\",\n", + " order_columns = 'TIME_MS')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e6a9bc90-f330-467f-8765-5a00578c6c6e", + "metadata": {}, + "outputs": [], + "source": [ + "welding_dataset_smooth = welding_dataset_smooth.assign(RESISTANCE_SMOOTHED_AFTER = window_for_lead.lead())\n", + "welding_dataset_smooth = welding_dataset_smooth.assign(DERIVATIVE = (welding_dataset_smooth.RESISTANCE_SMOOTHED_AFTER - welding_dataset_smooth.RESISTANCE_SMOOTHED).zeroifnull())\n", + "welding_dataset_smooth.sort(['WELDING_ID','TIME_MS'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d019941f-4422-4012-8984-0dce20d10e48", + "metadata": {}, + "outputs": [], + "source": [ + "id_curve = 854\n", + "single_welding_subplot = welding_dataset_smooth[welding_dataset_smooth.WELDING_ID == id_curve].sort('TIME_MS')\n", + "single_welding_subplot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0bd9b71a-b668-44f9-a0bd-e74b2c82462e", + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import subplots\n", + "# fig, axes = subplots(grid = {(1, 1): (1, 1),(2, 1): (1, 2)})\n", + "# Plot 1980 data at first Axis.\n", + "fig, axes = subplots(nrows=2, ncols=1)\n", + "plot = single_welding_subplot.plot(x=single_welding_subplot.TIME_MS, \n", + " y=[single_welding_subplot.RESISTANCE, single_welding_subplot.RESISTANCE_SMOOTHED],\n", + " legend=[\"RESISTANCE\", \"RESISTANCE SMOOTHED\"],\n", + " figure=fig,\n", + " style=['blue', 'red'],xlabel='time in ms', ylabel='resistance ', \n", + " ax=axes[0])\n", + "\n", + "# Plot 1981 data at second Axis.\n", + "plot = single_welding_subplot.plot(x=single_welding_subplot.TIME_MS, \n", + " y=single_welding_subplot.DERIVATIVE,\n", + " legend=[\"DERIVATIVE\"],\n", + " figure=fig,\n", + " style=\"red\",xlabel='time in ms', ylabel='derivative ' , \n", + " ax=axes[1])\n", + "plot.show()" + ] + }, + { + "cell_type": "markdown", + "id": "92c9f6e0-7b26-4fed-9b43-1d35989affad", + "metadata": {}, + "source": [ + "We see that the most interesting part lies between 40 and 400ms from the start of the curve, so we plot only that subset.
" + ] + }, + { + "cell_type": "markdown", + "id": "4615d965-6892-4729-81b0-9dd39f7d9411", + "metadata": { + "tags": [] + }, + "source": [ + "It is hard to assess the diversity of curve shapes in this plot since many of them are superimposed. However, we see in the middle of the picture a sharp drop that looks unusual. Moreover, we guess that there are shifts in time and height.
\n", + "\n", + "4. Feature Engineering
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "da82ee40-3e38-49af-a6ca-a678ba240ca2", + "metadata": {}, + "outputs": [], + "source": [ + "welding_dataset_new.columns" + ] + }, + { + "cell_type": "markdown", + "id": "539a4c25-f868-44af-bca3-13b4ca477445", + "metadata": {}, + "source": [ + "We will create a feature table by using different functions on the Resistance column. Valid values for functions are: 'count', 'sum', 'min', 'max', 'mean', 'std', 'percentile', 'unique','median', 'var', 'skew', 'kurtosis'.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aa37d2af-c185-4a84-9ca5-8628a216aa27", + "metadata": {}, + "outputs": [], + "source": [ + "features = welding_dataset_new.loc[welding_dataset_new.TIME_MS > 20,:]. \\\n", + " groupby(welding_dataset_new.columns[0:5]). \\\n", + " agg({\n", + " 'TIME_MS':['min','max'],\n", + " 'RESISTANCE':['count', 'sum', 'min', 'max', 'mean', 'std', 'percentile', 'unique','median', 'var','skew','kurtosis']\n", + " })\n", + "features" + ] + }, + { + "cell_type": "markdown", + "id": "0196e16a-9d9d-4d44-a0ed-e5220c3314e2", + "metadata": {}, + "source": [ + "5. Anomaly Detection on Sensor Data
\n", + " \n", + "Let's start by getting the feature columns from the features tables
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "27cdf0f8-e0b3-41b5-b18d-b77cdbc5652b", + "metadata": {}, + "outputs": [], + "source": [ + "feature_names = features.columns[7::]\n", + "feature_names" + ] + }, + { + "cell_type": "markdown", + "id": "9655f048-ffbd-4785-9e8b-39d192ff7808", + "metadata": {}, + "source": [ + "5.1 Clustering by curve shape
\n", + "To cluster time series by shapes, we will use the Dynamic Time Warping (DTW) distance that measures the similarity between two time series. This distance is well adapted to this kind of problem since it provides robustness to shifts in time and height.
\n", + "\n", + "Distance Matrix in-database Computations
\n", + "\n", + "The ClearScape Analytics DTW function computes at scale distances between one reference curve to a set of curves, a many-to-one approach. ClearScape Analytics offers in database dynamic time warping function, callable in SQL as TD_DTW. TD_DTW measures the similarity of two time series. The Dynamics Time Warping (DTW) algorithm is used for space and time. The algorithm uses the FastDTW algorithm. TD_DTW measures the similarity of two time series. The Dynamics Time Warping (DTW) algorithm is used for space and time. The algorithm uses the FastDTW algorithm. This function computes at scale the DTW distances between one reference curve to a set of curves, a many-to-one approach. We want to compute the distance matrix of our subset, i.e. the DTW distance between each curve. The distance matrix is symmetric, since the DTW is, hence we only need to compute the triangular matrix. We wrapped this computation in the tdsense package that calls the TD_DTW function and iterates on the matrix row to compute and store the whole triangular distance matrix in a table.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "207e72c8-41e3-481a-9727-a4c7510f4206", + "metadata": {}, + "outputs": [], + "source": [ + "overview = welding_dataset_new.groupby('WELDING_DAY').count(distinct=True)\n", + "dates = list(overview.to_pandas().reset_index()['WELDING_DAY'].values.astype('str'))\n", + "dates" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c7180b4-a8b5-450a-96be-8aed93d1199a", + "metadata": {}, + "outputs": [], + "source": [ + "subset = welding_dataset_new[ \\\n", + " (welding_dataset_new['PLANT'] == 1) & \\\n", + " (welding_dataset_new['ROBOT_ID'] == 41) & \\\n", + " (welding_dataset_new['WELDING_TYPE'] in (8,9)) & \\\n", + " (welding_dataset_new['WELDING_DAY'].isin(dates)) \\\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0dda2eca-af26-4741-abeb-b63758f8c996", + "metadata": {}, + "outputs": [], + "source": [ + "subset_zoom = subset[(subset.TIME_MS < 400) & (subset.TIME_MS > 40)]\n", + "subset_zoom.shape" + ] + }, + { + "cell_type": "markdown", + "id": "9d40f422-886d-48e5-a4ce-03b259523917", + "metadata": {}, + "source": [ + "The subset of data we have taken contains 7 columns and 344,622 rows.
\n", + "\n", + "Since this is a 2CPU system, the below computation takes around more than 2 hours for 350k rows and so we have pre calculated it and stored in the table in database.
\n", + "\n", + "**In case we still want to compute the matrix please set the If part of the below code to True instead of False
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "276fd1b7-e057-4c0c-b8b0-4e063d70eb7a", + "metadata": {}, + "outputs": [], + "source": [ + "if False:\n", + " dtw_matrix = dtw_distance_matrix_computation2(subset_zoom,field='RESISTANCE',\n", + " table_name=dtw_result_table,\n", + " schema_name = Param['database'],\n", + " row_axis='TIME_MS',\n", + " series_id = 'WELDING_ID')\n", + "else:\n", + " dtw_matrix = DataFrame(in_schema('DEMO_AnomalyDetection','DTW_Matrix'))" + ] + }, + { + "cell_type": "markdown", + "id": "42f770a5-f3b2-4862-8256-b1cc1f969750", + "metadata": {}, + "source": [ + "5.2 Hierarchical clustering with Scipy
\n", + "\n", + "Now the distance matrix is available, we can perform the clustering. Here, we will use the open-source package Scipy and its cluster.hierarchy modules, that have been used in a tdsense for convenience.
\n", + "\n", + "Hierarchical clustering is an alternative class of clustering algorithms that produce 1 to n clusters, where n is the number of observations in the data set. As you go down the hierarchy from 1 cluster (contains all the data) to n clusters (each observation is its own cluster), the clusters become more and more similar (almost always).
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0b87b35b-c283-42d8-845b-5c9c7851c822", + "metadata": {}, + "outputs": [], + "source": [ + "dtw_matrix_loc = dtw_matrix.sort(columns=['WELDING_ID_2','WELDING_ID_1']).to_pandas(all_rows=True)\n", + "dtw_matrix_loc" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "49f64fd3-1f33-4b7c-9d8f-b0636bffc2f4", + "metadata": {}, + "outputs": [], + "source": [ + "from tdsense.clustering import hierarchy_dendrogram, hierarchy_clustering\n", + "linked, labelList = hierarchy_dendrogram(dtw_matrix_loc, cluster_distance = 'ward')" + ] + }, + { + "cell_type": "markdown", + "id": "df0a3961-8cd1-43b8-9c11-9e229648d1eb", + "metadata": {}, + "source": [ + "The dendrogram is useful for visualizing the structure of the hierarchical clustering and identifying the optimal number of clusters to use for further analysis. The optimal number of clusters can be determined by examining the dendrogram to identify a level at which the clusters start to merge more slowly or by using a threshold for the maximum distance between clusters.
\n", + "\n", + "The resulting dendrogram as above shows how the hierarchical clustering algorithm has merged the data points into clusters based on their pairwise distances using the Ward linkage criterion. The dendrogram is a summary of the distance matrix. The X axis has the WELDING_ID but not visible as we have more than 450k rows. Looking at the dendrogram, we see that we have about 6 clusters. When selected 6, here is what we have got.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d2e168ff-626b-47b8-bc2b-ecfaac22a8f4", + "metadata": {}, + "outputs": [], + "source": [ + "cluster = hierarchy_clustering(linked, labelList, n_clusters=6)\n", + "cluster.head()" + ] + }, + { + "cell_type": "markdown", + "id": "48b62135-409c-45a9-b604-6e98ccf059fd", + "metadata": {}, + "source": [ + "The above dendogram is for only 6 clusters with the colors representing the different clusters. Now, we plot the Resistance curves for each cluster.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d31bafdc-9f43-4083-9677-ef7d94c18eb1", + "metadata": {}, + "outputs": [], + "source": [ + "fig, ax = plt.subplots(2,3,figsize=(20,10))\n", + "colors = cluster[['cluster','leaves_color_list']].copy().drop_duplicates()\n", + "for k in range(6):\n", + " plt.subplot(2,3,k+1)\n", + " img = plotcurves( subset_zoom,\n", + " field='RESISTANCE',\n", + " row_axis='TIME_MS',\n", + " series_id='WELDING_ID',\n", + " select_id=list(cluster[cluster.cluster ==k].CURVE_ID.values),\n", + " noplot=True)\n", + " plt.imshow(img)\n", + " plt.title('cluster : ' +str(k) + '\\n' + str(cluster.groupby('cluster').count()['CURVE_ID'][k]) + ' obs.',fontdict = {'fontsize' : 10, 'color':colors.leaves_color_list.values[k]})\n", + " plt.axis('off')" + ] + }, + { + "cell_type": "markdown", + "id": "f50fab99-9231-410d-bdd3-1132fc98575f", + "metadata": {}, + "source": [ + "And if we plot the curves per cluster, we spot the curves with a sharp drop(cluster 4) and these are the curves we are interested in, i.e. the curve exhibiting the anomaly we are looking for. We note also the other clusters are looking more or less similar. By monitoring the resistance over time and calculating its derivative, you can detect any sudden changes or anomalies. Anomalies might indicate a problem with the welding process, such as a sudden drop in current or a sudden increase in resistance.
" + ] + }, + { + "cell_type": "markdown", + "id": "9b99a7ac-6a99-4c9e-9ead-0f6d6e5c4759", + "metadata": {}, + "source": [ + "5.3 Create the anomaly dataset
\n", + "Now we create a table containing the anomaly flag that will be the target of a supervised machine learning model or a relevant KPI to monitor in production dashboards.
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cec5b577-b0dd-45c8-8fad-fee1fb1f952a", + "metadata": {}, + "outputs": [], + "source": [ + "target = cluster.copy().drop('leaves_color_list',axis=1)\n", + "target = target[target.cluster.isin([1,2])]\n", + "target['WELDING_ID'] = target['CURVE_ID']\n", + "target['anomaly'] = 0\n", + "target.loc[target.cluster==2,'anomaly'] = 1\n", + "target.drop(['cluster','CURVE_ID'],axis=1, inplace=True)\n", + "target.groupby('anomaly').count().plot(y='WELDING_ID',kind='bar',figsize=(10,10))\n", + "copy_to_sql( target,\n", + " table_name = 'Anomaly_Target',\n", + " if_exists='replace',\n", + " primary_index='WELDING_ID')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3ac7c451-2fb3-45fa-895d-e881cc88a9ba", + "metadata": {}, + "outputs": [], + "source": [ + "anomalies = DataFrame('Anomaly_Target')\n", + "anomalies" + ] + }, + { + "cell_type": "markdown", + "id": "da6297fd-6f49-4619-af30-791db2af90da", + "metadata": {}, + "source": [ + "The above anomaly data has the welding ID and the anomaly flag.
\n", + "5.4 Build the analytical dataset
\n", + "\n", + "We prepare the analytical dataset by joining the feature table with the anomaly table using the Welding ID so that we get the anomalies for the weldings.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fe4cfcfb-7d91-47e5-a4cc-e44428e51cfe", + "metadata": {}, + "outputs": [], + "source": [ + "ADS = features[['WELDING_ID']+feature_names].join(other=anomalies, how='inner', on='WELDING_ID=WELDING_ID',rsuffix='r',lsuffix='l')\n", + "ADS = ADS.assign(WELDING_ID=ADS.WELDING_ID_l).drop(['WELDING_ID_l','WELDING_ID_r'],axis=1).select(['WELDING_ID']+feature_names+['anomaly'])\n", + "ADS" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20a2163c-9fea-4f3d-ab0b-696b3cccaad9", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ADS.shape" + ] + }, + { + "cell_type": "markdown", + "id": "c03b26f4-0fa4-4478-922e-9cb850acbe34", + "metadata": {}, + "source": [ + "The analytical dataset we created has 14 columns and 391 rows which will be used to build the model below.
" + ] + }, + { + "cell_type": "markdown", + "id": "09b3168b-8c53-4ffd-ba75-b26f40608654", + "metadata": {}, + "source": [ + "6. Build the model
\n", + "We have datasets in which different columns have different units – like one column can be in kilograms, while another column can be in centimetres. If we feed these features to the model as is, there is every chance that one feature will influence the result more due to its value than the others. But this doesn’t necessarily mean it is more important as a predictor. So, to give importance to all the features we need feature scaling.
\n", + " \n", + "Here, we apply the Standard scale and transform functions which are ScaleFit and ScaleTransform functions in Vantage. ScaleFit() function outputs statistics to input to ScaleTransform() function, which scales specified input DataFrame columns.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d5d0898e-53a7-4aca-9f24-2e2f06ac73dc", + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import ScaleFit , ScaleTransform\n", + "scaler = ScaleFit(\n", + " data=ADS,\n", + " target_columns=feature_names,\n", + " scale_method=\"STD\",\n", + " global_scale=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "76af7c0a-b1cf-4914-a099-aeaeeb0c4977", + "metadata": {}, + "outputs": [], + "source": [ + "ADS_scaled = ScaleTransform(data=ADS,\n", + " object=scaler.output,\n", + " accumulate=\"anomaly\").result\n", + "ADS_scaled" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5cc1ed77-bd6e-4476-9b76-abb448c7199b", + "metadata": {}, + "outputs": [], + "source": [ + "df = ADS_scaled.to_pandas()" + ] + }, + { + "cell_type": "markdown", + "id": "3b3a8548-555a-48fd-88e4-795abaff2cc5", + "metadata": {}, + "source": [ + "6.1 Create a model file using the python libraries.
\n", + "\n", + "The Vantage Bring Your Own Model (BYOM) package gives data scientists and analysts the ability to operationalize predictive models in Vantage. Predictive models trained in external tools with sample data can be used to score data stored in Vantage using the BYOM Predict. Create or convert your predictive model using a supported model interchange format (PMML, MOJO, ONNX, Dataiku, and DataRobot are currently available), store it in a Vantage table, and use the BYOM PMMLPredict, H2OPredict, ONNXPredict, DataikuPredict, or DataRobotPredict to score your data with the model.
\n", + "\n", + "A problem with imbalanced classification is that there are too few examples of the minority class for a model to effectively learn the decision boundary. One way to solve this problem is to oversample the examples in the minority class. the most widely used approach to synthesizing new examples is called the Synthetic Minority Oversampling Technique, or SMOTE for short. SMOTE works by selecting examples that are close in the feature space, drawing a line between the examples in the feature space and drawing a new sample at a point along that line.
\n", + "\n", + "Then we use the RandomForestClassifier to create the model. A random forest is a meta estimator that fits a number of decision tree classifiers on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. The Random forest classifier creates a set of decision trees from a randomly selected subset of the training set. It is basically a set of decision trees (DT) from a randomly selected subset of the training set and then It collects the votes from different decision trees to decide the final prediction.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d847d16a-9735-4482-953d-66c80faf0bdc", + "metadata": {}, + "outputs": [], + "source": [ + "X_train = df[feature_names]\n", + "y_train = df['anomaly']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4350a66c-2ff9-483c-ae30-8f17c5d375b3", + "metadata": {}, + "outputs": [], + "source": [ + "# Balance the training set using SMOTE\n", + "smote = SMOTE(random_state=42)\n", + "X_train, y_train = smote.fit_resample(X_train, y_train)\n", + "\n", + "\n", + "# Create a random forest classifier\n", + "model = RandomForestClassifier(n_estimators=10,max_depth= 3, random_state=42)\n", + "\n", + "# Create a pipeline that includes the SMOTE transformer and the model\n", + "pipeline = PMMLPipeline([ ('model', model)])\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "455a3ff5-e8ee-4c9b-909e-3e1a79fa6612", + "metadata": {}, + "outputs": [], + "source": [ + "# Train the pipeline\n", + "start = time.time()\n", + "pipeline.fit(X_train, y_train)\n", + "end = time.time()\n", + "print('duration : ', end-start, 's')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "61ff634a-aea7-4966-bf38-30b77547f0a3", + "metadata": {}, + "outputs": [], + "source": [ + "# make predictions on the training set\n", + "y_train_pred = pipeline.predict(X_train)\n", + "\n", + "# calculate and print the accuracy score\n", + "acc = accuracy_score(y_train, y_train_pred)\n", + "print(\"Accuracy: {:.2f}%\".format(acc * 100))\n", + "\n", + "# calculate and print precision, AUC and F1-score\n", + "prec = precision_score(y_train, y_train_pred)\n", + "print(\"Precision: {:.2f}%\".format(prec * 100))\n", + "\n", + "# calculate AUC, AUC requires probability for positive class\n", + "prob = pipeline.predict_proba(X_train)[:, 1]\n", + "auc = roc_auc_score(y_train, prob)\n", + "print(\"AUC: {:.2f}%\".format(auc * 100))\n", + "\n", + "f1 = f1_score(y_train, y_train_pred)\n", + "print(\"F1-Score: {:.2f}%\".format(f1 * 100))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60a0b3c9-4a3f-478c-a9f9-2ddd786aa332", + "metadata": {}, + "outputs": [], + "source": [ + "pmml_metrics=pd.DataFrame([{'Model':'PMML using BYOM','Accuracy':acc, 'Precision':prec, 'F1-Score':f1}])\n", + "pmml_metrics" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "da084cfa-5c7b-4899-9c9b-41b065546bf6", + "metadata": {}, + "outputs": [], + "source": [ + "sklearn2pmml(pipeline, \"my_model.pmml\", with_repr = True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c35b23c2-c4c4-4601-b374-9d021a4845b0", + "metadata": {}, + "outputs": [], + "source": [ + "additional_columns = {\"Description\": type(\"RandomForestClassifier model\"),\n", + " \"UserId\": type('demo_user'),\n", + " \"ProductionReady\": False,\n", + " \"ModelAccuracy\": float(acc),\n", + " \"ModelPrecision\": prec,\n", + " \"ModelAUC\": auc,\n", + " \"Modelf1Score\": f1,\n", + " \"ModelSavedTime\": str(datetime.datetime.now(tz=pytz.UTC)),\n", + " \"ModelGeneratedTime\": end-start,\n", + " \"sklearnVersion\": sklearn.__version__\n", + " }\n", + "for k in additional_columns.keys():\n", + " print(type(additional_columns[k]))" + ] + }, + { + "cell_type": "markdown", + "id": "8351d68c-fed5-4034-b00f-fe0379625090", + "metadata": {}, + "source": [ + "6.2 Save the model file
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ffc1be2-d980-4468-9fc9-58ef30e5cb27", + "metadata": {}, + "outputs": [], + "source": [ + "try:\n", + " save_byom(model_id = 'model_anomaly1',\n", + " model_file = 'my_model.pmml',\n", + " table_name = 'BYOM_PMMLMODELS_REPOSITORY',\n", + " additional_columns={\"Description\": \"RandomForestClassifier model\",\n", + " \"UserId\": 'demo_user',\n", + " \"ProductionReady\": False,\n", + " \"ModelAccuracy\": float(acc),\n", + " \"ModelPrecision\": float(prec),\n", + " \"ModelAUC\": float(auc),\n", + " \"Modelf1Score\": float(f1),\n", + " \"ModelSavedTime\": str(datetime.datetime.now(tz=pytz.UTC)),\n", + " \"ModelGeneratedTime\": float(end-start),\n", + " \"sklearnVersion\": sklearn.__version__\n", + " }\n", + " )\n", + "except Exception as e: \n", + " # if our model exists, delete and rewrite \n", + " if str(e.args).find('TDML_2200') >= 1: \n", + " delete_byom(model_id = 'model_anomaly1', table_name = 'BYOM_PMMLMODELS_REPOSITORY') \n", + " save_byom(model_id = 'model_anomaly1',\n", + " model_file = 'my_model.pmml',\n", + " table_name = 'BYOM_PMMLMODELS_REPOSITORY',\n", + " additional_columns={\"Description\": \"RandomForestClassifier model\",\n", + " \"UserId\": 'demo_user',\n", + " \"ProductionReady\": False,\n", + " \"ModelAccuracy\": float(acc),\n", + " \"ModelPrecision\": float(prec),\n", + " \"ModelAUC\": float(auc),\n", + " \"Modelf1Score\": float(f1),\n", + " \"ModelSavedTime\": str(datetime.datetime.now(tz=pytz.UTC)),\n", + " \"ModelGeneratedTime\": float(end-start),\n", + " \"sklearnVersion\": sklearn.__version__\n", + " }\n", + " )\n", + " else: \n", + " raise ValueError(f\"Unable to save the model due to the following error: {e}\")\n", + "# pass \n", + "# else: \n", + "# raise \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "60c0f97c-52b2-407e-921c-75a61ca2d3fa", + "metadata": {}, + "source": [ + "The model file is saved as can be found in the left navigation pane in /UseCases/Anomaly_Detection.
\n", + "\n", + "We create new scaled data to apply this model and predict data. New dataset is created by joining the features and the anomalies.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60fe7dff-a0fa-43a6-aa03-d11aeed2904e", + "metadata": {}, + "outputs": [], + "source": [ + "newdata = features[['WELDING_ID']+feature_names].join(other=anomalies, how='inner', on='WELDING_ID=WELDING_ID',rsuffix='r',lsuffix='l')\n", + "newdata = newdata.assign(WELDING_ID=newdata.WELDING_ID_l).drop(['WELDING_ID_l','WELDING_ID_r'],axis=1).select(['WELDING_ID']+feature_names+['anomaly'])\n", + "newdata" + ] + }, + { + "cell_type": "markdown", + "id": "bd7108ab-49b6-411a-a919-4ab7f859252e", + "metadata": {}, + "source": [ + "We create new transformed data by using the same Scalefit object we used earlier and get the transformed data for this new data.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "099b4d80-3bb8-4e96-ba57-c85c84ae990a", + "metadata": {}, + "outputs": [], + "source": [ + "newdata_scaled = ScaleTransform(data=newdata,\n", + " object=scaler.output,\n", + " # DataFrame(in_schema('demo_user','scaler_anomaly')),\n", + " accumulate=[\"WELDING_ID\",\"anomaly\"]).result\n", + "newdata_scaled" + ] + }, + { + "cell_type": "markdown", + "id": "46bb63a9-35eb-40e9-a4d4-d1aa558b19d1", + "metadata": {}, + "source": [ + "6.3 Retrieve the model file and use it to predict
\n", + "We use the PMMLPredict function from the teradataml library to predict the anomalies.
\n", + "Predictive Model Markup Language (PMML) is an XML-based standard established by the Data Mining Group (DMG) for defining statistical and data-mining models. PMML models can be shared between PMML-compliant platforms and across organizations so that business analysts and developers are unified in designing, analyzing, and implementing PMML-based assets and services.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16f0c6bb-3551-4337-a4e3-8c2a79fd55cc", + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import PMMLPredict\n", + "modeldata_anomaly = retrieve_byom(\"model_anomaly1\", table_name=\"BYOM_PMMLMODELS_REPOSITORY\")\n", + "result=PMMLPredict(\n", + " modeldata = modeldata_anomaly,\n", + " newdata = newdata_scaled,\n", + " accumulate = ['WELDING_ID'],\n", + " model_output_fields=['probability(0)','probability(1)'],\n", + " overwrite_cached_models = '*'\n", + " )\n", + "pmml_predict=result.result\n", + "pmml_predict" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1f03ec30-32a9-4b13-af64-78eaa88b79e1", + "metadata": {}, + "outputs": [], + "source": [ + "pmml_predict_result = pmml_predict.join(other=newdata_scaled, how='inner', on='WELDING_ID=WELDING_ID',rsuffix='r',lsuffix='l')\n", + "pmml_predict_result = pmml_predict_result.assign(prob_0=pmml_predict_result['probability(0)'])\n", + "pmml_predict_result = pmml_predict_result.assign(prob_1=pmml_predict_result['probability(1)'])\n", + "pmml_predict_result = pmml_predict_result.assign(WELDING_ID=pmml_predict_result.WELDING_ID_l)\n", + "pmml_predict_result = pmml_predict_result.assign(prediction=case([(pmml_predict_result.prob_1>pmml_predict_result.prob_0, 1 )],else_ = 0))\n", + "pmml_predict_result = pmml_predict_result.select(['WELDING_ID']+['anomaly']+['prob_0']+['prob_1']+['prediction'])\n", + "pmml_predict_result" + ] + }, + { + "cell_type": "markdown", + "id": "220bb477-2d63-4672-98a1-cb50d40f960f", + "metadata": {}, + "source": [ + "7. Decision Forest
\n", + " \n", + "We will now use the DecisionForest model to predict the anomalies. A decision forest is a generic term to describe models made of multiple decision trees. The prediction of a decision forest is the aggregation of the predictions of its decision trees. The implementation of this aggregation depends on the algorithm used to train the decision forest. The goal of using a Decision Tree is to create a training model that can use to predict the class or value of the target variable by learning simple decision rules inferred from prior data(training data).
\n", + "\n", + "We start by creating a subset for the most interesting part lies between 40 and 400ms from the start of the curve.
\n", + " \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cf8a84c6-2c67-43c7-86e2-1f31c6bd1c18", + "metadata": {}, + "outputs": [], + "source": [ + "DF_curves_zoom = welding_dataset_new[(welding_dataset_new.TIME_MS > 40) & (welding_dataset_new.TIME_MS < 400) ]\n", + "DF_curves_zoom" + ] + }, + { + "cell_type": "markdown", + "id": "58c9f479-f2ff-4863-b969-b9b8a873e6d4", + "metadata": {}, + "source": [ + "We create various features by using the window function on the Resistance and taking the difference between the previous and current resistance based on time. We will create these features by using the aggregation function on this resistance and the difference of the resistance.
\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a227337c-3b57-443c-a256-dd5230ed98dd", + "metadata": {}, + "outputs": [], + "source": [ + "DF_curves_zoom = DF_curves_zoom.assign(\n", + " resistance_diff = DF_curves_zoom.RESISTANCE \n", + " - DF_curves_zoom.RESISTANCE.window(\n", + " partition_columns=['WELDING_ID'],\n", + " order_columns=[\"TIME_MS\"]\n", + " ).lag(1)\n", + ")\n", + "# DF_curves_zoom[DF_curves_zoom.WELDING_ID==138].sort(\"TIME_MS\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cb8c00e7-c465-46ba-99ae-c094969a2eed", + "metadata": {}, + "outputs": [], + "source": [ + "DF_features = DF_curves_zoom.groupby(\"WELDING_ID\").agg({\n", + " 'RESISTANCE':['sum', 'min', 'max', 'mean', 'std', 'var','skew','kurtosis'],\n", + " 'resistance_diff':['min']\n", + "})\n", + "DF_features" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f6498373-8b50-49fb-ac0b-b0db7b0cb522", + "metadata": {}, + "outputs": [], + "source": [ + "feature_names = DF_features.columns[1:]\n", + "feature_names" + ] + }, + { + "cell_type": "markdown", + "id": "57712977-e195-4ce9-9867-a7cdbc772279", + "metadata": {}, + "source": [ + "7.1 Build the analytical dataset.
\n", + "We create the analytical dataset joining the anomaly table created above and the dataset with the features created.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "55686241-b413-45eb-a495-9888c946c634", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "DF_target = DataFrame('Anomaly_Target')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7f0b595e-d794-4797-9125-b0bd2e9b046a", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "DF_ADS_train = DF_features[['WELDING_ID']+feature_names].join(\n", + " other=DF_target, how='inner', on='WELDING_ID=WELDING_ID',rsuffix='r',lsuffix='l')\n", + "DF_ADS_train = DF_ADS_train.assign(WELDING_ID=DF_ADS_train.WELDING_ID_l\n", + " ).drop(['WELDING_ID_l','WELDING_ID_r'],axis=1\n", + " ).select(['WELDING_ID']+feature_names+['anomaly']\n", + " ).assign(anomaly_int = DF_ADS_train.anomaly.cast(INTEGER()))\n", + "DF_ADS_train" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0199e5db-a881-4a2e-92df-0fcc0a54158b", + "metadata": {}, + "outputs": [], + "source": [ + "DF_ADS_score = DF_features[['WELDING_ID']+feature_names]\\\n", + " [DF_features.WELDING_ID>800]\n", + "DF_ADS_score" + ] + }, + { + "cell_type": "markdown", + "id": "d3865607-6205-43e4-a3be-2142af2dd340", + "metadata": {}, + "source": [ + "We store these training and scoring datasets into Vantage to be used by the In-DB functions.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "30d0d263-3183-4e37-aa05-6f5ccd61ac49", + "metadata": {}, + "outputs": [], + "source": [ + "DF_ADS_train.to_sql(\n", + " table_name = 'ADS_train_data',\n", + " primary_index= 'WELDING_ID',\n", + " if_exists = 'replace'\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "db8815e7-cdc4-40fb-9160-bfd466d7535f", + "metadata": {}, + "outputs": [], + "source": [ + "DF_ADS_score.to_sql(\n", + " table_name = 'ADS_test_data',\n", + " primary_index= 'WELDING_ID',\n", + " if_exists = 'replace'\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "f38cc3c9-6828-4c65-9b72-53ea02a172cd", + "metadata": {}, + "source": [ + "7.2 Train Decision Forest
\n", + "The DecisionForest is an ensemble algorithm used for classification and regression predictive modelling problems. It is an extension of bootstrap aggregation (bagging) of decision trees.
\n", + "\n", + "This function takes the training data as input, as well as the following function parameters
\n", + "7.3 Predict and Evaluate Decision Forest model
\n", + "Execute a testing prediction using the split data above. Evaluate the model by creating a confusion matrix with the ClassificationEvaluator SQL Function.
\n", + "\n", + "\n", + "7.4 Score new Data
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a5fde359-12da-4038-963c-c34ce410de04", + "metadata": {}, + "outputs": [], + "source": [ + "decision_forest_predict_test_out = TDDecisionForestPredict(object = DecisionForest_out.result,\n", + " newdata = DF_ADS_score,\n", + " id_column = \"WELDING_ID\",\n", + " detailed = False,\n", + " output_prob = True,\n", + " output_responses = ['0','1'])\n", + "decision_forest_predict_test_out.result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "58448648-772a-445e-9989-8b174ac9db2f", + "metadata": {}, + "outputs": [], + "source": [ + "# df_predict_test= DataFrame('DF_Predict_test')\n", + "df_predict_test=decision_forest_predict_test_out.result\n", + "df_predict_test" + ] + }, + { + "cell_type": "markdown", + "id": "cda02bba-235d-4f1a-b2a7-3e2ea619cce2", + "metadata": {}, + "source": [ + "8. Compare PMML and DecisionForest
\n", + "8.1 Show AUC-ROC Curve
\n", + "\n", + "The ROC curve shows the performance of a binary classification model as its discrimination threshold varies. For a range of thresholds, the curve plots the true positive rate against false-positive rate.
\n", + "\n", + "This function accepts a set of prediction-actual pairs as input and calculates the following values for a range of discrimination thresholds.
\n", + "ROC for PMML
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7c4b179b-a334-4dc0-b3f8-71c35f87283e", + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import ROC \n", + "roc_pmml = ROC(data = pmml_predict_result, \n", + " probability_column = \"prob_1\",\n", + " observation_column = \"anomaly\",\n", + " positive_class=\"1\"\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "32b946fb-e09e-4e62-b78a-c5325d84c175", + "metadata": {}, + "outputs": [], + "source": [ + "roc_data_pmml = roc_pmml.output_data.to_pandas().sort_values(\"fpr\", ascending=True)\n", + "roc_data_pmml.tail(5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "de67ebb4-b0f9-4a8c-9559-e6a44f1c9a21", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "auc_pmml = roc_pmml.result.to_pandas().iloc[0,0]\n", + "auc_pmml" + ] + }, + { + "cell_type": "markdown", + "id": "baf0989e-387a-4ee9-b99e-0687d5a97799", + "metadata": {}, + "source": [ + "ROC for DecisionForest
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "02a1c9e2-be8c-44da-9e0a-9056a2ec8243", + "metadata": {}, + "outputs": [], + "source": [ + "roc_obj = ROC(data = df_predict, \n", + " probability_column = \"prob_1\",\n", + " observation_column = \"anomaly_int\",\n", + " positive_class=\"1\"\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "27834036-13cc-49e9-a34e-b2bcb2c192b1", + "metadata": {}, + "outputs": [], + "source": [ + "roc_data = roc_obj.output_data.to_pandas().sort_values(\"fpr\", ascending=True)\n", + "roc_data.tail(5)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ab90afd6-b0c1-4edd-9492-c97b16c8d4e0", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "auc = roc_obj.result.to_pandas().iloc[0,0]\n", + "auc" + ] + }, + { + "cell_type": "markdown", + "id": "abb98428-872c-41d5-b8b1-79804c772a8a", + "metadata": {}, + "source": [ + "Plot ROC Curves
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "93ab97d1-cbd3-4044-8546-0f170a5ca9ce", + "metadata": {}, + "outputs": [], + "source": [ + "# Plot 1\n", + "plt.plot(roc_data_pmml['fpr'], roc_data_pmml['tpr'], color='orange', label='PMML ROC. AUC = {}'.format(str(auc_pmml)), drawstyle='steps') \n", + "# Plot 2\n", + "plt.plot(roc_data['fpr'], roc_data['tpr'], color='green', label='DecisionForest ROC. AUC = {}'.format(str(auc)), drawstyle='steps') \n", + "# Plot the diagonal dashed line\n", + "plt.plot([0, 1], [0, 1], color='darkblue', linestyle='--') \n", + "# Set labels and title\n", + "plt.xlabel('False Positive Rate',fontsize=12) \n", + "plt.ylabel('True Positive Rate',fontsize=12) \n", + "plt.title('Receiver Operating Characteristic (ROC) Curve',fontsize=16) \n", + "# Add legend\n", + "plt.legend(loc=\"lower right\",fontsize=10) \n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "c721c745-be69-4eee-a8e2-9faa4ecff46e", + "metadata": {}, + "source": [ + "The closer the ROC curve is to the upper left corner of the graph, the higher the accuracy of the test because in the upper left corner, the sensitivity = 1 and the false positive rate = 0 (specificity = 1). The ideal ROC curve thus has an AUC = 1.0. As seen in the above graph the AUC for both the models is close to 1 so the accuracy of both models is very good.
\n", + "\n", + "8.2 Show Confusion Matrix
\n", + "\n", + "Confusion Matrix is a performance measurement for machine learning classification problem where output can be two or more classes. It is a table with 4 different combinations of predicted and actual values.
\n", + "\n", + "Confusion matrices represent counts from predicted and actual values. The output “TN” stands for True Negative which shows the number of negative examples classified accurately. Similarly, “TP” stands for True Positive which indicates the number of positive examples classified accurately. The term “FP” shows False Positive value, i.e., the number of actual negative examples classified as positive; and “FN” means a False Negative value which is the number of actual positive examples classified as negative.
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0cac3275-2854-464a-b240-03e7b836b96d", + "metadata": {}, + "outputs": [], + "source": [ + "# Calculate confusion matrix for PMML\n", + "DF_result=df_predict.to_pandas().reset_index()\n", + "pmml_result=pmml_predict_result.to_pandas()\n", + "cm_pmml = confusion_matrix(pmml_result['anomaly'], pmml_result['prediction']) \n", + "# Calculate confusion matrix for DecisionForest\n", + "cm_df = confusion_matrix(DF_result['anomaly_int'], DF_result['prediction']) \n", + "# Create figure and axes objects\n", + "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(16, 8)) \n", + "# Plot PMML confusion matrix\n", + "disp_pmml = ConfusionMatrixDisplay(confusion_matrix=cm_pmml, display_labels=['No Anomaly', 'Anomaly']) \n", + "disp_pmml.plot(ax=ax1, cmap='Blues', colorbar=False) \n", + "ax1.set_title('PMML Confusion Matrix') \n", + "ax1.set_xlabel('Predicted Label') \n", + "ax1.set_ylabel('True Label') \n", + "ax1.set_xticks([0, 1]) \n", + "ax1.set_yticks([0, 1]) \n", + "ax1.set_xticklabels(['No Anomaly', 'Anomaly']) \n", + "ax1.set_yticklabels(['No Anomaly', 'Anomaly'])\n", + "\n", + "# Add text to the plot to show the actual values of the confusion matrix\n", + "for i in range(cm_pmml.shape[0]): \n", + " for j in range(cm_pmml.shape[1]): \n", + " ax1.text(j, i, f'{cm_pmml[i, j]}', ha='center', va='center', color='white' if cm_pmml[i, j] > cm_pmml.max() / 2 else 'black') \n", + "\n", + "# Plot DecisionForest confusion matrix\n", + "disp_df = ConfusionMatrixDisplay(confusion_matrix=cm_df, display_labels=['No Anomaly', 'Anomaly']) \n", + "disp_df.plot(ax=ax2, cmap='Blues', colorbar=False) \n", + "ax2.set_title('DecisionForest Confusion Matrix') \n", + "ax2.set_xlabel('Predicted Label') \n", + "ax2.set_ylabel('True Label') \n", + "ax2.set_xticks([0, 1]) \n", + "ax2.set_yticks([0, 1]) \n", + "ax2.set_xticklabels(['No Anomaly', 'Anomaly']) \n", + "ax2.set_yticklabels(['No Anomaly', 'Anomaly'])\n", + "\n", + "# Add text to the plot to show the actual values of the confusion matrix\n", + "for i in range(cm_df.shape[0]): \n", + " for j in range(cm_df.shape[1]): \n", + " ax2.text(j, i, f'{cm_df[i, j]}', ha='center', va='center', color='white' if cm_df[i, j] > cm_df.max() / 2 else 'black') \n", + "\n", + "# Adjust layout and spacing\n", + "plt.tight_layout() \n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "6f7bd547-6020-42c0-b2a7-d1938a9bdb30", + "metadata": {}, + "source": [ + "The confusion matrix for this binary class classification problem has the below 4 quadrants:
\n", + "\n", + "8.3 Show Metrices
\n", + "\n", + "Below is the comparison for Accuracy, Precision and F1-Score of the 2 models.
\n", + "Column | \n", + "Description | \n", + "
---|---|
Precision | \n", + "The positive predictive value. Refers to the fraction of relevant instances among\n", + "the total retrieved instances.\n", + " Precision answers the following question: what proportion of predicted Positives is truly Positive? \n", + " Precision = (TP)/(TP+FP) | \n", + "
Accuracy | \n", + "Accuracy simply measures how often the classifier correctly predicts. We can define accuracy as the ratio of the number of correct predictions and the total number of predictions. | \n", + "
F1 | \n", + "F1 score, defined as the harmonic mean of the precision and recall and is a number between 0 and 1. F1 score maintains a balance between the precision and recall for your classifier. \n", + " F1 = 2*(precision*recall/precision+recall) | \n", + "
From the above metrics we can conclude that both the models are performing almost similar and have similar Accuracy and Precision.
" + ] + }, + { + "cell_type": "markdown", + "id": "43be6263-22d8-43d2-94e2-1f58d730f567", + "metadata": {}, + "source": [ + "Conclusion
\n", + "We have seen an end-to-end exploration process for labelling anomalous time series using ClearScape Analytics on Teradata Vantage. Thanks to the in-database capabilities offered by Teradata Vantage with ClearScape Analytics, we were able to run this exploration with the smallest notebook instance. The unique massively-parallel architecture of Teradata Vantage allows users to prepare data, train, evaluate, and deploy models at unprecedented scale.
\n", + "In this particular use case, we have observed that with large volume of machine sensor data millions of ML models were created to derive analytic features that ultimately deployed tens of thousands of models for real-time scoring. This extent of scale is only possible by combining the power of Vantage with native ClearScape Analytic functions.
" + ] + }, + { + "cell_type": "markdown", + "id": "29e90d19-1b71-44e8-b6d5-aa53e3b673c1", + "metadata": {}, + "source": [ + "8. Cleanup
\n", + "Work Tables
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "48a959e6-319f-4592-93af-482d391224b4", + "metadata": {}, + "outputs": [], + "source": [ + "tables = ['ADS_train_data', 'ADS_test_data','DF_train', 'DF_Predict', 'DF_Predict_test','additional_metrics_test']\n", + "\n", + "# Loop through the list of tables and execute the drop table command for each table\n", + "for table in tables:\n", + " try:\n", + " db_drop_table(table_name=table)\n", + " except:\n", + " pass " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bbf8f9bc-9f3a-47e9-b2d4-81fd00291bc8", + "metadata": {}, + "outputs": [], + "source": [ + "remove_context()" + ] + }, + { + "cell_type": "markdown", + "id": "d51fd98f-b9b2-48b9-b639-16cc51f9116f", + "metadata": {}, + "source": [ + "9. Exploring the Versatility of this Analytical Approach in Alternative Use Case Settings
\n", + "How this analytic approach can be levaraged in other use case settings
\n", + "\n", + "The analytical approach of leveraging clustering followed by classification for anomaly detection in short time series data is highly adaptable and can be broadly applied across various industries, especially in settings where operations or processes are characterized by short, continuous time series with a defined start and end and where ground truth labels are not initially available.
\n", + "This method begins with unsupervised learning to explore and understand the data, identifying patterns, similarities, and potential outliers through techniques like Dynamic Time Warping (DTW). Such exploration is crucial in settings where anomalies are not predefined or where the data’s inherent complexity requires initial unsupervised insight to develop an understanding of what constitutes normal behavior versus an anomaly. Following the clustering phase, supervised classification models are trained on the newly identified labels to predict anomalies. This generic approach is particularly effective for short time series data, where each sequence represents a process or event whose normal operational parameters need to be defined through exploratory analysis before precise anomaly detection can occur.
\n", + "Potential Use Cases Across Industries:
\n", + "- Power Grid Load Monitoring:
Analyzing short time series of electricity load during peak usage times to identify anomalies that could indicate equipment failure, energy theft, or inefficiencies in power distribution. Each series could represent the load profile for a brief, high-demand period.- ECG or EEG Analysis:
Short segments of electrocardiogram (ECG) or electroencephalogram (EEG) readings can be analyzed to detect anomalies indicating cardiac arrhythmias or neurological issues, respectively. Each segment represents a complete heartbeat or a brief brain activity pattern.- CNC Machine Operations:
Monitoring the torque and force profiles of a CNC (Computer Numerical Control) machine during a single machining operation. Anomalies could indicate tool wear, material inconsistency, or operational errors.- Aircraft Engine Test Runs:
Analyzing the time series data of engine parameters (e.g., temperature, pressure, vibration) during short test runs to identify deviations from normal operational profiles, suggesting maintenance or safety issues.- Theme Park Ride Operations:
Analyzing sensor data from individual rides, where each ride cycle produces a time series of mechanical or operational parameters. Anomalies in these series could indicate safety concerns or maintenance needs.Conclusion
\n", + "In each of these scenarios, the focus is on analyzing the shape or behavior of a curve within a short time frame, similar to observing a spot welding curve. These curves are shaped by the specific activity taking place, whether it’s a machine at work, a health test running, financial trades happening, or people interacting with a service. The method begins by sorting these curves into groups based on their patterns, without needing to know ahead of time which ones are out of the ordinary. Then, it moves on to use a more detailed approach to pinpoint which curves don’t fit the expected pattern, labeling them as either normal or not normal. This way of doing things is great for quickly finding and addressing issues, and it also helps in getting a better grasp of how these processes work. This can lead to making things run more smoothly and keeping equipment in good shape before problems even start.
" + ] + }, + { + "cell_type": "markdown", + "id": "91bd8857-19e0-4200-b3ae-b2efdbca73d3", + "metadata": {}, + "source": [ + "Let’s look at the elements we have available for reference for this notebook:
\n", + "Filters: \n", + "\n",
+ " Anomaly Detection in Robot Welding Process
Trusted AI\n",
+ "
\n",
+ " \n",
+ "
Introduction
\n", + "\n", + "Detecting anomalies reduces issues and delays in many industries, especially in the manufacturing field. There have been approaches to detect anomalies in the past, such as engineering rules and graph and deep learning. However, it still proves difficult to detect all the existing anomalies. Plus, companies are striving to minimize false positives, cope with the diversity of sensors and metrology issues, and deliver actionable insights at a business pace. Fortunately, Teradata and ClearScape Analytics have the solution. In ClearScape Analytics, users can execute all steps of anomaly detection from data preparation and exploration to model training and evaluations and adjustments. These analyses can improve the process and ensure accuracy in anomaly detection.
\n", + "\n", + "Spot Welding Quality Assessment
\n", + "Spot welding is a common technique used for welding car body panels, particularly in the assembly of smaller parts and components. Spot welding involves using a pair of copper electrodes to apply a series of short, high-current welding pulses to the metal, fusing the parts together at specific points or “spots”.
\n", + "\n", + "The automotive industry is known for its high level of automation, and spot welding is one of the most automated processes, heavily reliant on robots to improve efficiency, reduce labor costs, and improve the consistency and quality of the finished product. Poor welding quality is rare, but even so, the consequences of poor quality may not be negligible in terms of rework costs and customer satisfaction, especially when quality issues are detected too late.
\n", + "\n", + "Spot welding is a resistance welding process that uses large electrical current. There are many ways to assess the quality of a spot, like tensile or ultrasonic testing to assess the weld strength or the analysis of the welding current measured and recorded during the welding process. In this demo, we focus on the analysis of the anomalies in the welding spot due to welding current, and more specifically the resistance, i.e. the voltage-current ratio which impacts the quality of the welding. The shape of the resistance curve depends on many factors like the nature of the materials, the geometry, and the quality of the electrodes etc.
\n", + "\n", + "\n", + "Business Values
\n", + "Why Vantage?
\n", + "Many organizations fail to realize value from their ML and AI investments due to a lack of scale. It is estimated that for broad adoption across many industries, the number of models and model deployments needs to scale 100-1000x larger than their organizations currently support.
\n", + "The unique massively-parallel architecture of Teradata Vantage allows users to prepare data, train, evaluate, and deploy models at unprecedented scale.
\n", + "In this particular use case, the volume of machine sensor data was so great that millions of ML models were created to derive analytic features that ultimately deployed tens of thousands of models for real-time scoring. This extent of scale is only possible by combining the power of Vantage with native ClearScape Analytic functions.
\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "7f41da40-f1e9-4979-9e0f-bd5ba6460443", + "metadata": {}, + "source": [ + "1. Configure the environment
\n", + "\n",
+ "Before we start working with our data, we need to set up our environment. This involves importing the necessary packages and establishing a connection to Vantage.\n",
+ "
\n",
+ "Here's how we can do this:
Note: After installing the above libraries, Please restart the kernel. The simplest way is by typing zero zero: 0 0
\n", + "2. Connect to VantageCloud Lake
\n", + "Connect to VantageCloud using create_context
from the teradataml Python library. If this environment has been prepared for connecting to a VantageCloud Lake OAF Container, all the details required will be loaded and you will see an acknowledgement after executing this cell.
3.Load the data
\n", + "\n", + "We have provided data for this demo in the lake environment. The data is available in the database \"DEMO_AnomalyDetection\". Your user should have read access to the database. In case of any issues please write a mail to the support group (\"SC230208@teradata.com\").
\n", + " \n", + "**Note: The tables are available in DEMO_AnomalyDetection_DB database and we have created views in DEMO_AnomalyDetection database which are used in the cells below
\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "99598e0a-8a6c-4539-a06d-f6723f67134f", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "add51f496db2440e9195e9a4369d27cc", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "PARTITION_ID | ID | X | Y | \n", + "
---|---|---|---|
10 | \n", + "\t\t905 | \n", + "\t\t105 | \n", + "\t\t233.91074826423207 | \n", + "\t
10 | \n", + "\t\t905 | \n", + "\t\t208 | \n", + "\t\t293.063489325248 | \n", + "\t
10 | \n", + "\t\t905 | \n", + "\t\t64 | \n", + "\t\t221.8570197466893 | \n", + "\t
10 | \n", + "\t\t905 | \n", + "\t\t194 | \n", + "\t\t299.3853606177206 | \n", + "\t
10 | \n", + "\t\t905 | \n", + "\t\t54 | \n", + "\t\t219.24825515502602 | \n", + "\t
We get the above data from sensors. We focus on one plant (PLANT=1) and one robot (ROBOT_ID=41). The Partition_ID is the type of welding, ID is the WELDING_ID, X is time required for welding in ms and Y is the RESISTANCE. We create a view with the columns required to get data with proper column names.
" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "88cde234-6107-487e-92f2-7f045576cc1d", + "metadata": {}, + "outputs": [], + "source": [ + "%%capture\n", + "query = f\"\"\"\n", + "REPLACE VIEW DEMO_AnomalyDetection.V_dataset_01 AS\n", + "SELECT\n", + " 1 AS PLANT\n", + ", {41} AS ROBOT_ID\n", + ", CAST(A.PARTITION_ID AS BIGINT) AS WELDING_TYPE\n", + ", CAST((DATE '{str(datetime.datetime.now()).split(' ')[0]}' + FLOOR((WELDING_ID-700*WELDING_TYPE)/100)) AS DATE FORMAT 'YYYY-MM-DD') AS WELDING_DAY\n", + ", CAST(A.ID AS BIGINT) AS WELDING_ID\n", + ", CAST(A.X AS INTEGER) AS TIME_MS\n", + ", A.Y AS RESISTANCE\n", + "FROM DEMO_AnomalyDetection.Sensor_Data A\n", + "\"\"\"\n", + "execute_sql(query)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "8ec3a959-c5e0-4039-88f8-846adca6f113", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "dc7b3e698fe042d3847a1767b5cd7fc8", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "PLANT | ROBOT_ID | WELDING_TYPE | WELDING_DAY | WELDING_ID | TIME_MS | RESISTANCE | \n", + "
---|---|---|---|---|---|---|
1 | \n", + "\t\t41 | \n", + "\t\t10 | \n", + "\t\t2025-06-12 | \n", + "\t\t905 | \n", + "\t\t105 | \n", + "\t\t233.91074826423207 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t10 | \n", + "\t\t2025-06-12 | \n", + "\t\t905 | \n", + "\t\t208 | \n", + "\t\t293.063489325248 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t10 | \n", + "\t\t2025-06-12 | \n", + "\t\t905 | \n", + "\t\t64 | \n", + "\t\t221.8570197466893 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t10 | \n", + "\t\t2025-06-12 | \n", + "\t\t905 | \n", + "\t\t194 | \n", + "\t\t299.3853606177206 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t10 | \n", + "\t\t2025-06-12 | \n", + "\t\t905 | \n", + "\t\t54 | \n", + "\t\t219.24825515502602 | \n", + "\t
3.1 - Some aggregations and visualization.
\n" + ] + }, + { + "cell_type": "markdown", + "id": "f83b1b1a-eece-487a-97d7-b4759ea624ce", + "metadata": {}, + "source": [ + "We will check the histogram based on the minimum and maximum Time for welding.
\n", + "A histogram is a better way to assess distribution, to cope with the scalability, it is recommended to compute the histogram bins in-database to leverage the Massively Parallel Architecture of Teradata Vantage. For that, we use the Histogram function of teradataml that pushes down the computations to Vantage.
" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "1a5d38c3-ebb9-47a2-b8ad-f00acd9d769b", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3f8e6f0f137346148636bb3c10aca42b", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "PLANT | ROBOT_ID | WELDING_TYPE | WELDING_ID | min_TIME_MS | max_TIME_MS | count_TIME_MS | \n", + "
---|---|---|---|---|---|---|
1 | \n", + "\t\t41 | \n", + "\t\t4 | \n", + "\t\t320 | \n", + "\t\t1 | \n", + "\t\t806 | \n", + "\t\t806 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t5 | \n", + "\t\t418 | \n", + "\t\t1 | \n", + "\t\t642 | \n", + "\t\t642 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t801 | \n", + "\t\t1 | \n", + "\t\t1478 | \n", + "\t\t1478 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t884 | \n", + "\t\t1 | \n", + "\t\t1085 | \n", + "\t\t1085 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t10 | \n", + "\t\t938 | \n", + "\t\t1 | \n", + "\t\t928 | \n", + "\t\t928 | \n", + "\t
ColumnName | Label | MinValue | MaxValue | CountOfValues | Bin_Percent | \n", + "
---|---|---|---|---|---|
count_TIME_MS | \n", + "\t\t0 | \n", + "\t\t0.0 | \n", + "\t\t100.0 | \n", + "\t\t11 | \n", + "\t\t1.0999999999999999 | \n", + "\t
count_TIME_MS | \n", + "\t\t1 | \n", + "\t\t100.0 | \n", + "\t\t200.0 | \n", + "\t\t14 | \n", + "\t\t1.4000000000000001 | \n", + "\t
count_TIME_MS | \n", + "\t\t2 | \n", + "\t\t200.0 | \n", + "\t\t300.0 | \n", + "\t\t34 | \n", + "\t\t3.4000000000000004 | \n", + "\t
count_TIME_MS | \n", + "\t\t3 | \n", + "\t\t300.0 | \n", + "\t\t400.0 | \n", + "\t\t39 | \n", + "\t\t3.9 | \n", + "\t
count_TIME_MS | \n", + "\t\t4 | \n", + "\t\t400.0 | \n", + "\t\t500.0 | \n", + "\t\t47 | \n", + "\t\t4.7 | \n", + "\t
We can see that we have calculated the histogram values using the teradataml functions. Clearscape Analytics can easily integrate with 3rd party visualization tools like Tableau, PowerBI or many python modules available like plotly, seaborn etc. We can do all the calculations and pre-processing on Vantage and pass only the necessary information to visualization tools, this will not only make the calculation faster but also reduce the time due to less data movement between tools. We do the data transfer for this and the subsequent visualizations wherever necessary.
" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "7c9b72ab-7d3c-4964-9199-ee1dcc17c928", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "In the above histogram we can see the bins between the Min and the Max value of the durations and the welding counts.
\n", + "3.2 - More advanced processing using window functions and delta_t
\n", + "Resistance is an important parameter in resistance welding. The resistance should not vary too much. If there are any significant changes in resistance over time, it could indicate an issue with the weld quality. For example, an unusually high resistance could indicate poor contact between the parts being welded or a problem with the welding equipment.
" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "b5615026-52eb-4aae-8bb2-146e88ef4502", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d628ce44d1b549acb4bbd0b861240b89", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "PLANT | ROBOT_ID | WELDING_TYPE | WELDING_DAY | WELDING_ID | TIME_MS | RESISTANCE | \n", + "
---|---|---|---|---|---|---|
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t2025-06-18 | \n", + "\t\t854 | \n", + "\t\t714 | \n", + "\t\t103.14563314224813 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t2025-06-18 | \n", + "\t\t854 | \n", + "\t\t130 | \n", + "\t\t171.2900655657514 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t2025-06-18 | \n", + "\t\t854 | \n", + "\t\t352 | \n", + "\t\t161.46970909346348 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t2025-06-18 | \n", + "\t\t854 | \n", + "\t\t353 | \n", + "\t\t154.4865896266523 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t2025-06-18 | \n", + "\t\t854 | \n", + "\t\t723 | \n", + "\t\t87.61515040184788 | \n", + "\t
The above graph shows the variation of the resistance of the welding with respect to time. We see that the most interesting part lies between 40 and 400ms from the start of the curve.
\n", + "\n", + "Next we apply the window function on the resistance to smooth the resistance and taking the mean value.
\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "516d8fd4-ab2c-44cd-89d2-d8075e40cf82", + "metadata": {}, + "outputs": [], + "source": [ + "# curve smoothing\n", + "window_for_smoothing = welding_dataset_new.RESISTANCE.window(\n", + " partition_columns = \"WELDING_ID\",\n", + " order_columns = 'TIME_MS',\n", + " window_start_point = -15,\n", + " window_end_point = 15\n", + ")\n", + "welding_dataset_smooth = welding_dataset_new.assign(RESISTANCE_SMOOTHED = window_for_smoothing.mean())" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "6c351bab-cd80-452c-b600-79efaec9f769", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "28f1b58f8da242acbd3aae6f80816278", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "PLANT | ROBOT_ID | WELDING_TYPE | WELDING_DAY | WELDING_ID | TIME_MS | RESISTANCE | RESISTANCE_SMOOTHED | \n", + "
---|---|---|---|---|---|---|---|
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t2025-06-18 | \n", + "\t\t854 | \n", + "\t\t1 | \n", + "\t\t353.0226900449998 | \n", + "\t\t253.14252688841657 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t2025-06-18 | \n", + "\t\t854 | \n", + "\t\t2 | \n", + "\t\t335.5825378948886 | \n", + "\t\t248.69892486462675 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t2025-06-18 | \n", + "\t\t854 | \n", + "\t\t3 | \n", + "\t\t324.9522665624502 | \n", + "\t\t244.90621844326972 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t2025-06-18 | \n", + "\t\t854 | \n", + "\t\t4 | \n", + "\t\t297.6567809200622 | \n", + "\t\t241.13418644931798 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t2025-06-18 | \n", + "\t\t854 | \n", + "\t\t5 | \n", + "\t\t288.1532672344735 | \n", + "\t\t237.60587172607387 | \n", + "\t
The above graph shows the variation of the resistance of the welding with respect to time and the smoothed resistance, as shown by the Red line, after applying the window function.
\n", + "\n", + "The window function generates a Window object on a teradataml DataFrame Column to run window aggregate functions.\n", + "
Function allows user to specify window for different types of computations:\n", + "
By default, window with Unbounded Preceding and Unbounded following is considered for calculation.
\n", + "\n", + "Next we calculate the derivative by using the lead function and taking the difference of the lead value and the mean value of the resistance. Applying a window function to smooth the resistance curve helps to eliminate noise and makes it easier to see the overall trend. The derivative of the resistance gives an indication of how quickly the resistance is changing, which can be a useful measure for detecting anomalies and predicting potential issues.
\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "c3719c73-495e-4651-b764-c01678f07417", + "metadata": {}, + "outputs": [], + "source": [ + "copy_to_sql(welding_dataset_smooth,table_name='welding_dataset_smooth', if_exists='replace')\n", + "welding_dataset_smooth = DataFrame('welding_dataset_smooth')" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "fccb6149-ce72-4601-983b-a87f2bc52417", + "metadata": {}, + "outputs": [], + "source": [ + "# let's compute the lead\n", + "window_for_lead = welding_dataset_smooth.RESISTANCE_SMOOTHED.window(\n", + " partition_columns = \"WELDING_ID\",\n", + " order_columns = 'TIME_MS')" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "e6a9bc90-f330-467f-8765-5a00578c6c6e", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "cce13b3b0c7b4f79878530fbd803efca", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "PLANT | ROBOT_ID | WELDING_TYPE | WELDING_DAY | WELDING_ID | TIME_MS | RESISTANCE | RESISTANCE_SMOOTHED | RESISTANCE_SMOOTHED_AFTER | DERIVATIVE | \n", + "
---|---|---|---|---|---|---|---|---|---|
1 | \n", + "\t\t41 | \n", + "\t\t1 | \n", + "\t\t25/08/05 | \n", + "\t\t1 | \n", + "\t\t1 | \n", + "\t\t474.381162422724 | \n", + "\t\t316.7743268301616 | \n", + "\t\t311.4723766637594 | \n", + "\t\t-5.301950166402207 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t1 | \n", + "\t\t25/08/05 | \n", + "\t\t1 | \n", + "\t\t2 | \n", + "\t\t428.56930331230063 | \n", + "\t\t311.4723766637594 | \n", + "\t\t306.6978645868533 | \n", + "\t\t-4.774512076906092 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t1 | \n", + "\t\t25/08/05 | \n", + "\t\t1 | \n", + "\t\t3 | \n", + "\t\t398.452732368239 | \n", + "\t\t306.6978645868533 | \n", + "\t\t302.25553180871196 | \n", + "\t\t-4.442332778141349 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t1 | \n", + "\t\t25/08/05 | \n", + "\t\t1 | \n", + "\t\t4 | \n", + "\t\t372.90267653201755 | \n", + "\t\t302.25553180871196 | \n", + "\t\t298.4338994297387 | \n", + "\t\t-3.821632378973277 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t1 | \n", + "\t\t25/08/05 | \n", + "\t\t1 | \n", + "\t\t5 | \n", + "\t\t350.6458154372735 | \n", + "\t\t298.4338994297387 | \n", + "\t\t294.38610093105206 | \n", + "\t\t-4.047798498686632 | \n", + "\t
PLANT | ROBOT_ID | WELDING_TYPE | WELDING_DAY | WELDING_ID | TIME_MS | RESISTANCE | RESISTANCE_SMOOTHED | RESISTANCE_SMOOTHED_AFTER | DERIVATIVE | \n", + "
---|---|---|---|---|---|---|---|---|---|
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t25/06/18 | \n", + "\t\t854 | \n", + "\t\t1 | \n", + "\t\t353.0226900449998 | \n", + "\t\t253.14252688841657 | \n", + "\t\t248.69892486462675 | \n", + "\t\t-4.443602023789822 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t25/06/18 | \n", + "\t\t854 | \n", + "\t\t2 | \n", + "\t\t335.5825378948886 | \n", + "\t\t248.69892486462675 | \n", + "\t\t244.90621844326972 | \n", + "\t\t-3.7927064213570247 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t25/06/18 | \n", + "\t\t854 | \n", + "\t\t3 | \n", + "\t\t324.9522665624502 | \n", + "\t\t244.90621844326972 | \n", + "\t\t241.13418644931798 | \n", + "\t\t-3.7720319939517424 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t25/06/18 | \n", + "\t\t854 | \n", + "\t\t4 | \n", + "\t\t297.6567809200622 | \n", + "\t\t241.13418644931798 | \n", + "\t\t237.60587172607387 | \n", + "\t\t-3.528314723244108 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t25/06/18 | \n", + "\t\t854 | \n", + "\t\t5 | \n", + "\t\t288.1532672344735 | \n", + "\t\t237.60587172607387 | \n", + "\t\t234.07488665282776 | \n", + "\t\t-3.5309850732461143 | \n", + "\t
We see that the most interesting part lies between 40 and 400ms from the start of the curve, so we plot only that subset.
" + ] + }, + { + "cell_type": "markdown", + "id": "4615d965-6892-4729-81b0-9dd39f7d9411", + "metadata": { + "tags": [] + }, + "source": [ + "It is hard to assess the diversity of curve shapes in this plot since many of them are superimposed. However, we see in the middle of the picture a sharp drop that looks unusual. Moreover, we guess that there are shifts in time and height.
\n", + "\n", + "4. Feature Engineering
" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "da82ee40-3e38-49af-a6ca-a678ba240ca2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['PLANT',\n", + " 'ROBOT_ID',\n", + " 'WELDING_TYPE',\n", + " 'WELDING_DAY',\n", + " 'WELDING_ID',\n", + " 'TIME_MS',\n", + " 'RESISTANCE']" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "welding_dataset_new.columns" + ] + }, + { + "cell_type": "markdown", + "id": "539a4c25-f868-44af-bca3-13b4ca477445", + "metadata": {}, + "source": [ + "We will create a feature table by using different functions on the Resistance column. Valid values for functions are: 'count', 'sum', 'min', 'max', 'mean', 'std', 'percentile', 'unique','median', 'var', 'skew', 'kurtosis'.
" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "aa37d2af-c185-4a84-9ca5-8628a216aa27", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3d71e7bf77b44a3994113f0fe2dc8068", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "PLANT | ROBOT_ID | WELDING_TYPE | WELDING_DAY | WELDING_ID | min_TIME_MS | max_TIME_MS | count_RESISTANCE | sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | percentile_RESISTANCE | unique_RESISTANCE | median_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | \n", + "\t\t41 | \n", + "\t\t5 | \n", + "\t\t2025-07-12 | \n", + "\t\t471 | \n", + "\t\t21 | \n", + "\t\t646 | \n", + "\t\t626 | \n", + "\t\t108176.8054879289 | \n", + "\t\t88.4331503589787 | \n", + "\t\t308.8898639352117 | \n", + "\t\t172.8063985430174 | \n", + "\t\t67.43470974015446 | \n", + "\t\t155.80095377664534 | \n", + "\t\t626 | \n", + "\t\t155.80095377664534 | \n", + "\t\t4547.440077738883 | \n", + "\t\t0.49796745320216573 | \n", + "\t\t-1.1467845713561156 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t8 | \n", + "\t\t2025-06-24 | \n", + "\t\t705 | \n", + "\t\t21 | \n", + "\t\t633 | \n", + "\t\t613 | \n", + "\t\t117433.38478654668 | \n", + "\t\t82.76152873653831 | \n", + "\t\t316.66867750259905 | \n", + "\t\t191.57159019012508 | \n", + "\t\t78.08923446856586 | \n", + "\t\t206.63668033820593 | \n", + "\t\t613 | \n", + "\t\t206.63668033820593 | \n", + "\t\t6097.928539886655 | \n", + "\t\t0.04364970537902622 | \n", + "\t\t-1.5898532421335452 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t5 | \n", + "\t\t2025-07-12 | \n", + "\t\t446 | \n", + "\t\t21 | \n", + "\t\t1106 | \n", + "\t\t1086 | \n", + "\t\t166518.9453555073 | \n", + "\t\t70.0355276366476 | \n", + "\t\t315.4566895327382 | \n", + "\t\t153.33236220580784 | \n", + "\t\t72.20479609391711 | \n", + "\t\t108.80434505003922 | \n", + "\t\t1086 | \n", + "\t\t108.80434505003922 | \n", + "\t\t5213.532578964148 | \n", + "\t\t0.9529411796445812 | \n", + "\t\t-0.6269191898462032 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t8 | \n", + "\t\t2025-06-24 | \n", + "\t\t748 | \n", + "\t\t21 | \n", + "\t\t764 | \n", + "\t\t744 | \n", + "\t\t109921.27260669864 | \n", + "\t\t84.02047298240994 | \n", + "\t\t282.98968717382587 | \n", + "\t\t147.74364597674548 | \n", + "\t\t59.15325216552249 | \n", + "\t\t111.91280735495172 | \n", + "\t\t744 | \n", + "\t\t111.91280735495172 | \n", + "\t\t3499.107241757891 | \n", + "\t\t0.8606279445787202 | \n", + "\t\t-0.7317898244111711 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t7 | \n", + "\t\t2025-06-30 | \n", + "\t\t605 | \n", + "\t\t21 | \n", + "\t\t590 | \n", + "\t\t570 | \n", + "\t\t108569.63225682522 | \n", + "\t\t81.47252264867211 | \n", + "\t\t299.90656597268855 | \n", + "\t\t190.4730390470618 | \n", + "\t\t67.5249319900682 | \n", + "\t\t195.99852023934073 | \n", + "\t\t570 | \n", + "\t\t195.99852023934073 | \n", + "\t\t4559.616440263336 | \n", + "\t\t-0.07402858894022789 | \n", + "\t\t-1.4208348503506993 | \n", + "\t
5. Anomaly Detection on Sensor Data
\n", + " \n", + "Let's start by getting the feature columns from the features tables
" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "27cdf0f8-e0b3-41b5-b18d-b77cdbc5652b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['count_RESISTANCE',\n", + " 'sum_RESISTANCE',\n", + " 'min_RESISTANCE',\n", + " 'max_RESISTANCE',\n", + " 'mean_RESISTANCE',\n", + " 'std_RESISTANCE',\n", + " 'percentile_RESISTANCE',\n", + " 'unique_RESISTANCE',\n", + " 'median_RESISTANCE',\n", + " 'var_RESISTANCE',\n", + " 'skew_RESISTANCE',\n", + " 'kurtosis_RESISTANCE']" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "feature_names = features.columns[7::]\n", + "feature_names" + ] + }, + { + "cell_type": "markdown", + "id": "9655f048-ffbd-4785-9e8b-39d192ff7808", + "metadata": {}, + "source": [ + "5.1 Clustering by curve shape
\n", + "To cluster time series by shapes, we will use the Dynamic Time Warping (DTW) distance that measures the similarity between two time series. This distance is well adapted to this kind of problem since it provides robustness to shifts in time and height.
\n", + "\n", + "Distance Matrix in-database Computations
\n", + "\n", + "The ClearScape Analytics DTW function computes at scale distances between one reference curve to a set of curves, a many-to-one approach. ClearScape Analytics offers in database dynamic time warping function, callable in SQL as TD_DTW. TD_DTW measures the similarity of two time series. The Dynamics Time Warping (DTW) algorithm is used for space and time. The algorithm uses the FastDTW algorithm. TD_DTW measures the similarity of two time series. The Dynamics Time Warping (DTW) algorithm is used for space and time. The algorithm uses the FastDTW algorithm. This function computes at scale the DTW distances between one reference curve to a set of curves, a many-to-one approach. We want to compute the distance matrix of our subset, i.e. the DTW distance between each curve. The distance matrix is symmetric, since the DTW is, hence we only need to compute the triangular matrix. We wrapped this computation in the tdsense package that calls the TD_DTW function and iterates on the matrix row to compute and store the whole triangular distance matrix in a table.
" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "207e72c8-41e3-481a-9727-a4c7510f4206", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['2025-07-12',\n", + " '2025-07-06',\n", + " '2025-06-12',\n", + " '2025-07-30',\n", + " '2025-06-24',\n", + " '2025-07-18',\n", + " '2025-06-30',\n", + " '2025-08-05',\n", + " '2025-07-24',\n", + " '2025-06-18']" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "overview = welding_dataset_new.groupby('WELDING_DAY').count(distinct=True)\n", + "dates = list(overview.to_pandas().reset_index()['WELDING_DAY'].values.astype('str'))\n", + "dates" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "7c7180b4-a8b5-450a-96be-8aed93d1199a", + "metadata": {}, + "outputs": [], + "source": [ + "subset = welding_dataset_new[ \\\n", + " (welding_dataset_new['PLANT'] == 1) & \\\n", + " (welding_dataset_new['ROBOT_ID'] == 41) & \\\n", + " (welding_dataset_new['WELDING_TYPE'] in (8,9)) & \\\n", + " (welding_dataset_new['WELDING_DAY'].isin(dates)) \\\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "0dda2eca-af26-4741-abeb-b63758f8c996", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(344622, 7)" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "subset_zoom = subset[(subset.TIME_MS < 400) & (subset.TIME_MS > 40)]\n", + "subset_zoom.shape" + ] + }, + { + "cell_type": "markdown", + "id": "9d40f422-886d-48e5-a4ce-03b259523917", + "metadata": {}, + "source": [ + "The subset of data we have taken contains 7 columns and 344,622 rows.
\n", + "\n", + "Since this is a 2CPU system, the below computation takes around more than 2 hours for 350k rows and so we have pre calculated it and stored in the table in database.
\n", + "\n", + "**In case we still want to compute the matrix please set the If part of the below code to True instead of False
" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "276fd1b7-e057-4c0c-b8b0-4e063d70eb7a", + "metadata": {}, + "outputs": [], + "source": [ + "if False:\n", + " dtw_matrix = dtw_distance_matrix_computation2(subset_zoom,field='RESISTANCE',\n", + " table_name=dtw_result_table,\n", + " schema_name = Param['database'],\n", + " row_axis='TIME_MS',\n", + " series_id = 'WELDING_ID')\n", + "else:\n", + " dtw_matrix = DataFrame(in_schema('DEMO_AnomalyDetection','DTW_Matrix'))" + ] + }, + { + "cell_type": "markdown", + "id": "42f770a5-f3b2-4862-8256-b1cc1f969750", + "metadata": {}, + "source": [ + "5.2 Hierarchical clustering with Scipy
\n", + "\n", + "Now the distance matrix is available, we can perform the clustering. Here, we will use the open-source package Scipy and its cluster.hierarchy modules, that have been used in a tdsense for convenience.
\n", + "\n", + "Hierarchical clustering is an alternative class of clustering algorithms that produce 1 to n clusters, where n is the number of observations in the data set. As you go down the hierarchy from 1 cluster (contains all the data) to n clusters (each observation is its own cluster), the clusters become more and more similar (almost always).
" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "0b87b35b-c283-42d8-845b-5c9c7851c822", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " | MATRIX_ROW | \n", + "WELDING_ID_1 | \n", + "WELDING_ID_2 | \n", + "ROW_ID | \n", + "DISTANCE | \n", + "
---|---|---|---|---|---|
0 | \n", + "1 | \n", + "2 | \n", + "1 | \n", + "0 | \n", + "3404.181076 | \n", + "
1 | \n", + "2 | \n", + "3 | \n", + "1 | \n", + "0 | \n", + "2879.840770 | \n", + "
2 | \n", + "3 | \n", + "4 | \n", + "1 | \n", + "0 | \n", + "2035.367486 | \n", + "
3 | \n", + "4 | \n", + "5 | \n", + "1 | \n", + "0 | \n", + "2641.395023 | \n", + "
4 | \n", + "5 | \n", + "6 | \n", + "1 | \n", + "0 | \n", + "10501.828495 | \n", + "
... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
497498 | \n", + "996 | \n", + "999 | \n", + "997 | \n", + "0 | \n", + "4333.889951 | \n", + "
497499 | \n", + "997 | \n", + "1000 | \n", + "997 | \n", + "0 | \n", + "4851.558731 | \n", + "
497500 | \n", + "996 | \n", + "999 | \n", + "998 | \n", + "0 | \n", + "2143.966383 | \n", + "
497501 | \n", + "997 | \n", + "1000 | \n", + "998 | \n", + "0 | \n", + "2132.062450 | \n", + "
497502 | \n", + "997 | \n", + "1000 | \n", + "999 | \n", + "0 | \n", + "2119.041857 | \n", + "
497503 rows × 5 columns
\n", + "The dendrogram is useful for visualizing the structure of the hierarchical clustering and identifying the optimal number of clusters to use for further analysis. The optimal number of clusters can be determined by examining the dendrogram to identify a level at which the clusters start to merge more slowly or by using a threshold for the maximum distance between clusters.
\n", + "\n", + "The resulting dendrogram as above shows how the hierarchical clustering algorithm has merged the data points into clusters based on their pairwise distances using the Ward linkage criterion. The dendrogram is a summary of the distance matrix. The X axis has the WELDING_ID but not visible as we have more than 450k rows. Looking at the dendrogram, we see that we have about 6 clusters. When selected 6, here is what we have got.
" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "d2e168ff-626b-47b8-bc2b-ecfaac22a8f4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " | CURVE_ID | \n", + "cluster | \n", + "leaves_color_list | \n", + "
---|---|---|---|
675 | \n", + "1 | \n", + "0 | \n", + "#ff964f | \n", + "
805 | \n", + "2 | \n", + "0 | \n", + "#ff964f | \n", + "
471 | \n", + "3 | \n", + "1 | \n", + "#b2f396 | \n", + "
670 | \n", + "4 | \n", + "0 | \n", + "#ff964f | \n", + "
839 | \n", + "5 | \n", + "0 | \n", + "#ff964f | \n", + "
The above dendogram is for only 6 clusters with the colors representing the different clusters. Now, we plot the Resistance curves for each cluster.
" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "d31bafdc-9f43-4083-9677-ef7d94c18eb1", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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5ubm6O3tZWJiomq1lUol/vjHP+J5HtevX6ehoYFYLMbo6CgDAwNMTk5WrTapLOXE2ikn1l+bcmJtlBMSBMqJtVNOrL825cTaKCc2aaNmcaii67ocOXKEdDpNd3c3oVCoqnVls1lu3rzJlStXGBgY4Ny5c5w4cYLZ2VlisRi1tbVVq216epo7d+5w+fJlrl27hjGGI0eOcO3aNbZs2YLneVWr7fz589y5cwfLsqivr2diYoJTp05x/vx5du7cWdVvNd555x2y2SyZTIZ0Ok1rayuHDx/m7Nmz7Nu3r6rfqA0NDVFXV8eePXsYGxujubmZo0eP8u6771a1w7z4+Wxra8P3fdLpNL29vfT39/Phhx9W9c4FlmVx8uRJ9u/fT39/P9lslmg0yksvvcSf/vSnqq43qSzlxNopJ9ZHObF2ygkJAuXE2ikn1kc5sXbKiU06mfCX1VztYair6YZWq8ag1hbUukC1rVeQa1u0Uo1rrE1j35UTaxLkz0dQawtqXaDa1ivItS1STlSUcmINgvz5CGptQa0LVNt6Bbm2RRudE5uyUSMiEhA6AFdOiIisRDmhnBARWcnTc9cnEREREREREZGn0aa865M8e3zfx/f9pYnAHpy13Riz9O++7y/dx37x8ZZlLf1egfvci4hIACknRERkJcoJ2UzUqJFNI51O8/vf/56uri5s26ahoYHBwUF27drFX/7yF0ql0tIEWKlUimw2yy9+8QvefPNNfv3rX3Ps2DFu377Nvn372L59e7VfjoiIVJhyQkREVqKckM1Clz7JptHb20t3dzfHjh1jdnZ2aVb8d999l2KxyNjYGACOs9B/LJVKFItFfve731EsFimVSpTLZfL5fFVvgyciIhtDOSEiIitRTshmoRE1siksDi10HAdjDI7jYNs2Bw8eXLqHfTabpamp6aHn9PT00NbWxsjICM3NzQB88MEH9Pf3a7iiiMhTRDkhIiIrUU7IZqK7Psmmkslk8DyPbDaLbds4joPrumQyGWZnZ5mbmyOfzzMzM0NjYyMNDQ3E43EymQy2bTM+Pk4qlSIajWrHKpWgjUg5IQGjnJCA0UaknJCAUU5IwOj23PL0832fqakp7t27RyKRIJlMagcqG0kbl3JCNhnlhDxh2riUE7LJKCfkCVOjRkSkwpTaygkRkZUoJ5QTIiIrWVejRkREREREREREnhDd9UlEREREREREJCDUqBERERERERERCQg1akREREREREREAkKNGhERERERERGRgFCjRkREREREREQkINSoEREREREREREJiP8HltmM2j8sYEQAAAAASUVORK5CYII=", + "text/plain": [ + "And if we plot the curves per cluster, we spot the curves with a sharp drop(cluster 4) and these are the curves we are interested in, i.e. the curve exhibiting the anomaly we are looking for. We note also the other clusters are looking more or less similar. By monitoring the resistance over time and calculating its derivative, you can detect any sudden changes or anomalies. Anomalies might indicate a problem with the welding process, such as a sudden drop in current or a sudden increase in resistance.
" + ] + }, + { + "cell_type": "markdown", + "id": "9b99a7ac-6a99-4c9e-9ead-0f6d6e5c4759", + "metadata": {}, + "source": [ + "5.3 Create the anomaly dataset
\n", + "Now we create a table containing the anomaly flag that will be the target of a supervised machine learning model or a relevant KPI to monitor in production dashboards.
\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "cec5b577-b0dd-45c8-8fad-fee1fb1f952a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAm0AAAJbCAYAAAC2KKMOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAAsTAAALEwEAmpwYAAAv40lEQVR4nO3de5ReZX3w/e8vJ04JkEACYggJkqgovKIJhFdJRPStIrpEDrWFKtiWPoAcfECOywJ94DGhlINgqLwKKQJtFUEfyysVxMSAaHMAxAAKFYjQQIEAOaCJmfzeP/aeMJncM7lnMpOZa/L9rJW15973vvZ9jZis79r73ntHZiJJkqT+bVBfT0CSJEmbZrRJkiQVwGiTJEkqgNEmSZJUAKNNkiSpAEabJElSAYb09QR626677prjx4/v62lIkiRt0sKFC1/OzNGN3hvw0TZ+/HgWLFjQ19OQJEnapIh4tqP3PD0qSZJUAKNNkiSpAEabJElSAYw2SZKkAhhtkiRJBTDaJEmSCmC0SZIkFcBokyRJKoDRJkmSVIAB/0QESdKmrV69mmXLlrFixQpaWlr6ejpS8QYPHsyIESMYNWoU22yzTY/s02iTpK3c6tWrWbJkCSNHjmT8+PEMHTqUiOjraUnFykz++Mc/snz5cpYsWcK4ceN6JNw8PSpJW7lly5YxcuRIdt11V4YNG2awSZspIhg2bBi77rorI0eOZNmyZT2yX6NNkrZyK1asYMcdd+zraUgD0o477siKFSt6ZF9GmyRt5VpaWhg6dGhfT0MakIYOHdpj3xM12iRJnhKVeklP/t0y2iRJkgpgtEmSJBXAaJMkSSqA92mTJHVq/Hl39fUUuuSZGR/vsX099dRTTJw4kcGDB7Ns2bKGV9nOmDGD888/H4Cf//znHHTQQRtt82//9m984hOfYPfdd2fp0qU888wzTJgwoak5ZOb6n+fMmcOhhx7KXnvtxTPPPNPU+PbfqRo0aBDDhw9n5MiR7LvvvkydOpXjjz+evffeu+H4tnNtOxeAD37wg8ydOxeAa6+9li984QsN93HEEUdw1113cdNNN3HCCSc03Obll1/mhhtu4J577uGJJ55g2bJlDBs2jN12240DDjiAj33sYxx99NGbdaXzxRdfzCWXXMLnPvc5Zs+e3fB3bNX25rj77bcf73//+zn++ON5y1ve0u3P31xGmyRJHdhnn30YO3Yszz33HPPmzePjH984COfMmbPBz42irXWbD37wgxu997nPfa6nptupo446iuHDhwOwcuVKXnjhBebOncsPf/hDLr74Yk488USuvvpqRowY0a39X3rppZx44onssMMOXR574403cvrpp7Nq1Sq23357pkyZwlve8hbWrFnDkiVLuPPOO7n99ts566yzuPfee3nf+97XrTk2o/W/R2ayYsUKnn/+ee6++26+//3vc8EFF3D22WdzySWXMGzYsF6bQ0eMNkmSOjF9+nRuvfVW5syZs1G0rV27lgceeIB3vetd/OY3v2HOnDmce+65G+2j9WjUoYceutF7bY/49KYrrriC8ePHb7BuzZo1/Mu//Atnn302N954I7/+9a+599572Xbbbbu07+23354XX3yRK6+8ki9/+ctdGnvNNddw5plnMmzYMK644gpOOeUUtttuuw22efXVV/nmN7/J5ZdfztKlS7u0/65q9N9j5cqVfPOb3+TCCy9kxowZPPXUU3z729/e4ldd+502SZI60RpabY+otVq4cCErV67kox/9KFOmTOGBBx5g7dq1G2yzfPlyHnroIaDxkba+NGzYMD772c/yH//xH+yyyy488MADzJgxo8v7Oe2004gIrrjiCl555ZWmx/3qV7/i7LPPJiK44447OOusszYKNoCRI0dy9tlns3jxYt797nd3eX6ba/jw4Zxxxhn85Cc/YZtttuH222/nn/7pn7b4PIw2SZI60RpaDz30EMuXL9/gvdYjaNOnT2fatGmsWLGChQsXbrDN/fffT0tLC3vssQeTJk3aInPuqvHjx3PJJZcA1ZGv9uG5KZMnT+boo49m+fLlXHbZZU2PmzlzJmvXruXTn/50w1PP7Y0ePXqjo4Vb0pQpUzjttNOA6sjllma0SZLUibe97W3sueeetLS0MG/evA3emzNnDoMGDeKQQw5h+vTp69e13wb631G29o477jgigtdee4358+d3efyll17KkCFDmDVrFkuWLNnk9uvWreOuu6qLXI4//vguf15faZ3r4sWLe/1UbXt+p20rVdrVYOpbPXk1nlSi6dOnc8sttzB37tz1R4RaWlp44IEH2H///dl55515//vfz+DBg5k7d+4G32vr7Pts/cnOO+/M2972Np566ikWL17MwQcf3KXxkyZN4vOf/zw33HADF110ETfddFOn2z/99NO8+uqrQHWkrhT77bcfw4YNY82aNSxevHiLXk3qkTZJkjah0ffaFi1axPLly5k2bRoAI0aM4IADDlh/OhRgxYoVLFq0COj4SFtEdPjnU5/6VK/9To3suuuuAF36XlpbF110Edtttx3f+ta3eOyxxzrd9uWXX17/8+jRoxtuc8opp3DCCSds8Ofqq6/u1tx6yqBBgxg1ahTQ/f+dussjbZIkbUJrcC1atIgVK1YwYsSI9QHXeloUYNq0aSxYsICFCxdy4IEHcv/997N27VrGjh3LPvvs03Dfnd3y473vfW+P/Q7NWLduHVCFSXfssccenH766cycOZMLLriA733ve5s1n9tuu43XX399g3Uvv/wyZ5555mbtd3Nt7v9O3WW0SZK0CXvvvTfjxo1jyZIlzJs3j8MPP5y5c+cSEeuPtEEVcFdeeSVz5szhwAMPXH9qtLPvs22pW340o/XoV+uRpO4499xz+frXv873v/99fv7znzN16tSG27Ue1QN46aWXGDt27EbbvPbaa+t/nj17NieeeGK359VTWlpa1s9rc/536g5Pj0qS1IS2Fxq0tLRw//33s++++24QH4cccggRsf4oXOuyv3+fDap7oT399NNA9b2t7ho5ciTnnXcewPplIxMmTGDnnXcGYMGCBd3+vC3t0UcfZc2aNQBb/PYjRpskSU1o+722hx9+mNdff32Do2xQBct+++3H/fffz+uvv77+9h/9/cpRgFtvvZXMZNSoUZt9Wvb0009njz32WP/EhUYGDRq0/qKOW265ZbM+b0tqnev+++/PbrvttkU/22iTJKkJbb/X9oMf/ADY8PtsrVrv1/bVr36VtWvXMm7cuA6f69lfPPPMM1x88cUAfPGLX2TIkM379tR2223HRRddBMD555+/0TNLW51zzjkMHjyYO+64Y/3tP/qz+fPnc9111wHwpS99aYt/vtEmSVITJkyYwF577UVLSwtf/epXgcbR1rruqquuAvr3UbY1a9bwrW99i4MOOohXXnmFadOm9ViMfP7zn2fSpEk88sgjDZ8mAdXRqpkzZ5KZHHXUUVx55ZX8/ve/32i7P/zhDxvdtHhLWrVqFddeey2HHnooq1ev5jOf+QzHHXfcFp+HFyJIktSk6dOnc/PNN/Pqq68yadIkdt999422aT1l2noPsk19n+2EE07o9P2/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", + "text/plain": [ + "WELDING_ID | anomaly | \n", + "
---|---|
326 | \n", + "\t\t1 | \n", + "\t
183 | \n", + "\t\t0 | \n", + "\t
530 | \n", + "\t\t0 | \n", + "\t
999 | \n", + "\t\t1 | \n", + "\t
387 | \n", + "\t\t1 | \n", + "\t
The above anomaly data has the welding ID and the anomaly flag.
\n", + "5.4 Build the analytical dataset
\n", + "\n", + "We prepare the analytical dataset by joining the feature table with the anomaly table using the Welding ID so that we get the anomalies for the weldings.
" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "fe4cfcfb-7d91-47e5-a4cc-e44428e51cfe", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "62175dfc79d94e4bbd5646fd055c4db3", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "WELDING_ID | count_RESISTANCE | sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | percentile_RESISTANCE | unique_RESISTANCE | median_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | anomaly | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
570 | \n", + "\t\t637 | \n", + "\t\t108597.77124086616 | \n", + "\t\t76.02029807955392 | \n", + "\t\t352.4795596378072 | \n", + "\t\t170.48315736399712 | \n", + "\t\t86.51173633708574 | \n", + "\t\t115.06655015743611 | \n", + "\t\t637 | \n", + "\t\t115.06655015743611 | \n", + "\t\t7484.28052405744 | \n", + "\t\t0.7249096707674543 | \n", + "\t\t-1.0064015341549895 | \n", + "\t\t0 | \n", + "\t
183 | \n", + "\t\t1280 | \n", + "\t\t180122.758205533 | \n", + "\t\t69.41522063694657 | \n", + "\t\t414.25927750342277 | \n", + "\t\t140.72090484807265 | \n", + "\t\t86.13303343939174 | \n", + "\t\t104.7790581693169 | \n", + "\t\t1280 | \n", + "\t\t104.7790581693169 | \n", + "\t\t7418.899449471376 | \n", + "\t\t1.9063589843778255 | \n", + "\t\t2.202091867073732 | \n", + "\t\t0 | \n", + "\t
530 | \n", + "\t\t888 | \n", + "\t\t142793.80259248955 | \n", + "\t\t80.33864364172554 | \n", + "\t\t352.84994686956196 | \n", + "\t\t160.80383174829905 | \n", + "\t\t81.96568876456104 | \n", + "\t\t110.63194606046804 | \n", + "\t\t888 | \n", + "\t\t110.63194606046804 | \n", + "\t\t6718.374134648887 | \n", + "\t\t0.9804755013182304 | \n", + "\t\t-0.4865935073406828 | \n", + "\t\t0 | \n", + "\t
999 | \n", + "\t\t1009 | \n", + "\t\t167017.72523876745 | \n", + "\t\t78.48183376623636 | \n", + "\t\t339.3274318454616 | \n", + "\t\t165.52797347747023 | \n", + "\t\t83.15916845787675 | \n", + "\t\t111.43083661985594 | \n", + "\t\t1009 | \n", + "\t\t111.43083661985594 | \n", + "\t\t6915.4472986055225 | \n", + "\t\t0.7309353059569027 | \n", + "\t\t-1.1177279822102073 | \n", + "\t\t1 | \n", + "\t
387 | \n", + "\t\t1629 | \n", + "\t\t252327.66954286018 | \n", + "\t\t67.734531657172 | \n", + "\t\t385.3317739232777 | \n", + "\t\t154.8972802595827 | \n", + "\t\t89.27281066015279 | \n", + "\t\t107.3343318461327 | \n", + "\t\t1629 | \n", + "\t\t107.3343318461327 | \n", + "\t\t7969.634723163489 | \n", + "\t\t1.3145840678553307 | \n", + "\t\t0.23440643306334338 | \n", + "\t\t1 | \n", + "\t
The analytical dataset we created has 14 columns and 391 rows which will be used to build the model below.
" + ] + }, + { + "cell_type": "markdown", + "id": "09b3168b-8c53-4ffd-ba75-b26f40608654", + "metadata": {}, + "source": [ + "6. Build the model
\n", + "We have datasets in which different columns have different units – like one column can be in kilograms, while another column can be in centimetres. If we feed these features to the model as is, there is every chance that one feature will influence the result more due to its value than the others. But this doesn’t necessarily mean it is more important as a predictor. So, to give importance to all the features we need feature scaling.
\n", + " \n", + "Here, we apply the Standard scale and transform functions which are ScaleFit and ScaleTransform functions in Vantage. ScaleFit() function outputs statistics to input to ScaleTransform() function, which scales specified input DataFrame columns.
" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "d5d0898e-53a7-4aca-9f24-2e2f06ac73dc", + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import ScaleFit , ScaleTransform\n", + "scaler = ScaleFit(\n", + " data=ADS,\n", + " target_columns=feature_names,\n", + " scale_method=\"STD\",\n", + " global_scale=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "76af7c0a-b1cf-4914-a099-aeaeeb0c4977", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "c3445e103d204f1ea97a9885e3fab53a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "anomaly | count_RESISTANCE | sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | percentile_RESISTANCE | unique_RESISTANCE | median_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | \n", + "\t\t-0.4454958013788012 | \n", + "\t\t0.49175516324283447 | \n", + "\t\t0.058266501337359396 | \n", + "\t\t1.1150200856051362 | \n", + "\t\t1.3539755632281287 | \n", + "\t\t1.8200619070354604 | \n", + "\t\t0.9194382247575821 | \n", + "\t\t-0.4454958013788012 | \n", + "\t\t0.9194382247575821 | \n", + "\t\t2.0817677950852636 | \n", + "\t\t-1.0994434098745625 | \n", + "\t\t-1.0566279679947848 | \n", + "\t
0 | \n", + "\t\t0.793525182974448 | \n", + "\t\t0.523797308954638 | \n", + "\t\t-0.47123828167733633 | \n", + "\t\t1.9938112179994238 | \n", + "\t\t-0.806783408272433 | \n", + "\t\t0.4409365865810209 | \n", + "\t\t-0.5777180923358187 | \n", + "\t\t0.793525182974448 | \n", + "\t\t-0.5777180923358187 | \n", + "\t\t0.38847470211704904 | \n", + "\t\t1.3988023115204253 | \n", + "\t\t1.5933929191283127 | \n", + "\t
1 | \n", + "\t\t0.0034670964809643983 | \n", + "\t\t0.19150685538374623 | \n", + "\t\t0.007189680804109719 | \n", + "\t\t-0.572992840326859 | \n", + "\t\t-0.023939443562901425 | \n", + "\t\t0.21488164140523353 | \n", + "\t\t-0.42987602059741353 | \n", + "\t\t0.0034670964809643983 | \n", + "\t\t-0.42987602059741353 | \n", + "\t\t0.14170515277163295 | \n", + "\t\t-0.3998375077234471 | \n", + "\t\t-0.7211087815327962 | \n", + "\t
1 | \n", + "\t\t1.8109800618904102 | \n", + "\t\t2.354620840583509 | \n", + "\t\t-0.5599250484658025 | \n", + "\t\t1.0028942996347474 | \n", + "\t\t-0.3594153577319633 | \n", + "\t\t0.679603160858965 | \n", + "\t\t-0.5209247163916084 | \n", + "\t\t1.8109800618904102 | \n", + "\t\t-0.5209247163916084 | \n", + "\t\t0.65842030680638 | \n", + "\t\t0.49326505850456726 | \n", + "\t\t0.22156809424649065 | \n", + "\t
0 | \n", + "\t\t-0.3492894661231371 | \n", + "\t\t-0.42271351810262053 | \n", + "\t\t0.10517001290583916 | \n", + "\t\t-0.10977661846737265 | \n", + "\t\t-0.1730205742826949 | \n", + "\t\t0.12416064757468764 | \n", + "\t\t-0.4476321194017249 | \n", + "\t\t-0.3492894661231371 | \n", + "\t\t-0.4476321194017249 | \n", + "\t\t0.04510877161800008 | \n", + "\t\t-0.017989719458924348 | \n", + "\t\t-0.2810964068413063 | \n", + "\t
6.1 Create a model file using the python libraries.
\n", + "\n", + "The Vantage Bring Your Own Model (BYOM) package gives data scientists and analysts the ability to operationalize predictive models in Vantage. Predictive models trained in external tools with sample data can be used to score data stored in Vantage using the BYOM Predict. Create or convert your predictive model using a supported model interchange format (PMML, MOJO, ONNX, Dataiku, and DataRobot are currently available), store it in a Vantage table, and use the BYOM PMMLPredict, H2OPredict, ONNXPredict, DataikuPredict, or DataRobotPredict to score your data with the model.
\n", + "\n", + "A problem with imbalanced classification is that there are too few examples of the minority class for a model to effectively learn the decision boundary. One way to solve this problem is to oversample the examples in the minority class. the most widely used approach to synthesizing new examples is called the Synthetic Minority Oversampling Technique, or SMOTE for short. SMOTE works by selecting examples that are close in the feature space, drawing a line between the examples in the feature space and drawing a new sample at a point along that line.
\n", + "\n", + "Then we use the RandomForestClassifier to create the model. A random forest is a meta estimator that fits a number of decision tree classifiers on various sub-samples of the dataset and uses averaging to improve the predictive accuracy and control over-fitting. The Random forest classifier creates a set of decision trees from a randomly selected subset of the training set. It is basically a set of decision trees (DT) from a randomly selected subset of the training set and then It collects the votes from different decision trees to decide the final prediction.
" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "d847d16a-9735-4482-953d-66c80faf0bdc", + "metadata": {}, + "outputs": [], + "source": [ + "X_train = df[feature_names]\n", + "y_train = df['anomaly']" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "4350a66c-2ff9-483c-ae30-8f17c5d375b3", + "metadata": {}, + "outputs": [], + "source": [ + "# Balance the training set using SMOTE\n", + "smote = imblearn.over_sampling.SMOTE(random_state=42)\n", + "X_train, y_train = smote.fit_resample(X_train, y_train)\n", + "\n", + "\n", + "# Create a random forest classifier\n", + "model = RandomForestClassifier(n_estimators=10,max_depth= 3, random_state=42)\n", + "\n", + "# Create a pipeline that includes the SMOTE transformer and the model\n", + "pipeline = PMMLPipeline([ ('model', model)])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "455a3ff5-e8ee-4c9b-909e-3e1a79fa6612", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "duration : 0.02437281608581543 s\n" + ] + } + ], + "source": [ + "# Train the pipeline\n", + "start = time.time()\n", + "pipeline.fit(X_train, y_train)\n", + "end = time.time()\n", + "print('duration : ', end-start, 's')" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "61ff634a-aea7-4966-bf38-30b77547f0a3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy: 94.02%\n", + "Precision: 93.85%\n", + "AUC: 98.74%\n", + "F1-Score: 94.03%\n" + ] + } + ], + "source": [ + "# make predictions on the training set\n", + "y_train_pred = pipeline.predict(X_train)\n", + "\n", + "# calculate and print the accuracy score\n", + "acc = accuracy_score(y_train, y_train_pred)\n", + "print(\"Accuracy: {:.2f}%\".format(acc * 100))\n", + "\n", + "# calculate and print precision, AUC and F1-score\n", + "prec = precision_score(y_train, y_train_pred)\n", + "print(\"Precision: {:.2f}%\".format(prec * 100))\n", + "\n", + "# calculate AUC, AUC requires probability for positive class\n", + "prob = pipeline.predict_proba(X_train)[:, 1]\n", + "auc = roc_auc_score(y_train, prob)\n", + "print(\"AUC: {:.2f}%\".format(auc * 100))\n", + "\n", + "f1 = f1_score(y_train, y_train_pred)\n", + "print(\"F1-Score: {:.2f}%\".format(f1 * 100))" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "60a0b3c9-4a3f-478c-a9f9-2ddd786aa332", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " | Model | \n", + "Accuracy | \n", + "Precision | \n", + "F1-Score | \n", + "
---|---|---|---|---|
0 | \n", + "PMML using BYOM | \n", + "0.940154 | \n", + "0.938462 | \n", + "0.94027 | \n", + "
6.2 Save the model file
" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "7ffc1be2-d980-4468-9fc9-58ef30e5cb27", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model is deleted.\n", + "Model is saved.\n" + ] + } + ], + "source": [ + "try:\n", + " save_byom(model_id = 'model_anomaly1',\n", + " model_file = 'my_model.pmml',\n", + " table_name = 'BYOM_PMMLMODELS_REPOSITORY',\n", + " additional_columns={\"Description\": \"RandomForestClassifier model\",\n", + " \"UserId\": 'demo_user',\n", + " \"ProductionReady\": False,\n", + " \"ModelAccuracy\": float(acc),\n", + " \"ModelPrecision\": float(prec),\n", + " \"ModelAUC\": float(auc),\n", + " \"Modelf1Score\": float(f1),\n", + " \"ModelSavedTime\": str(datetime.datetime.now(tz=pytz.UTC)),\n", + " \"ModelGeneratedTime\": float(end-start),\n", + " \"sklearnVersion\": sklearn.__version__\n", + " }\n", + " )\n", + "except Exception as e: \n", + " # if our model exists, delete and rewrite \n", + " if str(e.args).find('TDML_2200') >= 1: \n", + " delete_byom(model_id = 'model_anomaly1', table_name = 'BYOM_PMMLMODELS_REPOSITORY') \n", + " save_byom(model_id = 'model_anomaly1',\n", + " model_file = 'my_model.pmml',\n", + " table_name = 'BYOM_PMMLMODELS_REPOSITORY',\n", + " additional_columns={\"Description\": \"RandomForestClassifier model\",\n", + " \"UserId\": 'demo_user',\n", + " \"ProductionReady\": False,\n", + " \"ModelAccuracy\": float(acc),\n", + " \"ModelPrecision\": float(prec),\n", + " \"ModelAUC\": float(auc),\n", + " \"Modelf1Score\": float(f1),\n", + " \"ModelSavedTime\": str(datetime.datetime.now(tz=pytz.UTC)),\n", + " \"ModelGeneratedTime\": float(end-start),\n", + " \"sklearnVersion\": sklearn.__version__\n", + " }\n", + " )\n", + " else: \n", + " raise ValueError(f\"Unable to save the model due to the following error: {e}\")\n", + "# pass \n", + "# else: \n", + "# raise \n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "60c0f97c-52b2-407e-921c-75a61ca2d3fa", + "metadata": {}, + "source": [ + "The model file is saved as can be found in the left navigation pane in /UseCases/Anomaly_Detection.
\n", + "\n", + "We create new scaled data to apply this model and predict data. New dataset is created by joining the features and the anomalies.
" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "60fe7dff-a0fa-43a6-aa03-d11aeed2904e", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d07a6981a51e4db19c7fdae5e2a71f36", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "WELDING_ID | count_RESISTANCE | sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | percentile_RESISTANCE | unique_RESISTANCE | median_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | anomaly | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
387 | \n", + "\t\t1629 | \n", + "\t\t252327.66954286018 | \n", + "\t\t67.734531657172 | \n", + "\t\t385.3317739232777 | \n", + "\t\t154.8972802595827 | \n", + "\t\t89.27281066015279 | \n", + "\t\t107.3343318461327 | \n", + "\t\t1629 | \n", + "\t\t107.3343318461327 | \n", + "\t\t7969.634723163489 | \n", + "\t\t1.3145840678553307 | \n", + "\t\t0.23440643306334338 | \n", + "\t\t1 | \n", + "\t
345 | \n", + "\t\t1572 | \n", + "\t\t225618.05330320456 | \n", + "\t\t76.78441855749419 | \n", + "\t\t340.6338108095452 | \n", + "\t\t143.52293467124971 | \n", + "\t\t72.66592162969769 | \n", + "\t\t106.39312461277355 | \n", + "\t\t1572 | \n", + "\t\t106.39312461277355 | \n", + "\t\t5280.336166293367 | \n", + "\t\t1.4037474965495578 | \n", + "\t\t0.4397063604318919 | \n", + "\t\t1 | \n", + "\t
326 | \n", + "\t\t855 | \n", + "\t\t178859.06443592097 | \n", + "\t\t79.44978256514692 | \n", + "\t\t388.6050241978192 | \n", + "\t\t209.19188822914734 | \n", + "\t\t104.27611140847034 | \n", + "\t\t172.13980338906399 | \n", + "\t\t855 | \n", + "\t\t172.13980338906399 | \n", + "\t\t10873.507410471719 | \n", + "\t\t0.27373796485881025 | \n", + "\t\t-1.5989820053608266 | \n", + "\t\t1 | \n", + "\t
141 | \n", + "\t\t1707 | \n", + "\t\t217554.70851152326 | \n", + "\t\t69.20055931911273 | \n", + "\t\t385.9221118724905 | \n", + "\t\t127.44856971969729 | \n", + "\t\t67.96165098216868 | \n", + "\t\t102.93497385409218 | \n", + "\t\t1707 | \n", + "\t\t102.93497385409218 | \n", + "\t\t4618.786004222108 | \n", + "\t\t2.3869857481164622 | \n", + "\t\t4.524407928377094 | \n", + "\t\t0 | \n", + "\t
570 | \n", + "\t\t637 | \n", + "\t\t108597.77124086616 | \n", + "\t\t76.02029807955392 | \n", + "\t\t352.4795596378072 | \n", + "\t\t170.48315736399712 | \n", + "\t\t86.51173633708574 | \n", + "\t\t115.06655015743611 | \n", + "\t\t637 | \n", + "\t\t115.06655015743611 | \n", + "\t\t7484.28052405744 | \n", + "\t\t0.7249096707674543 | \n", + "\t\t-1.0064015341549895 | \n", + "\t\t0 | \n", + "\t
We create new transformed data by using the same Scalefit object we used earlier and get the transformed data for this new data.
" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "099b4d80-3bb8-4e96-ba57-c85c84ae990a", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "dd54b8613eb14b16835e3bd03d9495bf", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "WELDING_ID | anomaly | count_RESISTANCE | sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | percentile_RESISTANCE | unique_RESISTANCE | median_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
326 | \n", + "\t\t1 | \n", + "\t\t-0.4454958013788012 | \n", + "\t\t0.49175516324283447 | \n", + "\t\t0.058266501337359396 | \n", + "\t\t1.1150200856051362 | \n", + "\t\t1.3539755632281287 | \n", + "\t\t1.8200619070354604 | \n", + "\t\t0.9194382247575821 | \n", + "\t\t-0.4454958013788012 | \n", + "\t\t0.9194382247575821 | \n", + "\t\t2.0817677950852636 | \n", + "\t\t-1.0994434098745625 | \n", + "\t\t-1.0566279679947848 | \n", + "\t
999 | \n", + "\t\t1 | \n", + "\t\t0.0034670964809643983 | \n", + "\t\t0.19150685538374623 | \n", + "\t\t0.007189680804109719 | \n", + "\t\t-0.572992840326859 | \n", + "\t\t-0.023939443562901425 | \n", + "\t\t0.21488164140523353 | \n", + "\t\t-0.42987602059741353 | \n", + "\t\t0.0034670964809643983 | \n", + "\t\t-0.42987602059741353 | \n", + "\t\t0.14170515277163295 | \n", + "\t\t-0.3998375077234471 | \n", + "\t\t-0.7211087815327962 | \n", + "\t
183 | \n", + "\t\t0 | \n", + "\t\t0.793525182974448 | \n", + "\t\t0.523797308954638 | \n", + "\t\t-0.47123828167733633 | \n", + "\t\t1.9938112179994238 | \n", + "\t\t-0.806783408272433 | \n", + "\t\t0.4409365865810209 | \n", + "\t\t-0.5777180923358187 | \n", + "\t\t0.793525182974448 | \n", + "\t\t-0.5777180923358187 | \n", + "\t\t0.38847470211704904 | \n", + "\t\t1.3988023115204253 | \n", + "\t\t1.5933929191283127 | \n", + "\t
530 | \n", + "\t\t0 | \n", + "\t\t-0.3492894661231371 | \n", + "\t\t-0.42271351810262053 | \n", + "\t\t0.10517001290583916 | \n", + "\t\t-0.10977661846737265 | \n", + "\t\t-0.1730205742826949 | \n", + "\t\t0.12416064757468764 | \n", + "\t\t-0.4476321194017249 | \n", + "\t\t-0.3492894661231371 | \n", + "\t\t-0.4476321194017249 | \n", + "\t\t0.04510877161800008 | \n", + "\t\t-0.017989719458924348 | \n", + "\t\t-0.2810964068413063 | \n", + "\t
387 | \n", + "\t\t1 | \n", + "\t\t1.8109800618904102 | \n", + "\t\t2.354620840583509 | \n", + "\t\t-0.5599250484658025 | \n", + "\t\t1.0028942996347474 | \n", + "\t\t-0.3594153577319633 | \n", + "\t\t0.679603160858965 | \n", + "\t\t-0.5209247163916084 | \n", + "\t\t1.8109800618904102 | \n", + "\t\t-0.5209247163916084 | \n", + "\t\t0.65842030680638 | \n", + "\t\t0.49326505850456726 | \n", + "\t\t0.22156809424649065 | \n", + "\t
6.3 Retrieve the model file and use it to predict
\n", + "We use the PMMLPredict function from the teradataml library to predict the anomalies.
\n", + "Predictive Model Markup Language (PMML) is an XML-based standard established by the Data Mining Group (DMG) for defining statistical and data-mining models. PMML models can be shared between PMML-compliant platforms and across organizations so that business analysts and developers are unified in designing, analyzing, and implementing PMML-based assets and services.
" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "16f0c6bb-3551-4337-a4e3-8c2a79fd55cc", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "29a988d766e44b49b4522e5cb63ea9aa", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "WELDING_ID | prediction | probability(0) | probability(1) | \n", + "
---|---|---|---|
141 | \n", + "\t\t\n", + "\t\t | 0.9552904297256605 | \n", + "\t\t0.04470957027433943 | \n", + "\t
183 | \n", + "\t\t\n", + "\t\t | 0.7217187249019571 | \n", + "\t\t0.27828127509804285 | \n", + "\t
530 | \n", + "\t\t\n", + "\t\t | 0.8436407811560411 | \n", + "\t\t0.15635921884395887 | \n", + "\t
387 | \n", + "\t\t\n", + "\t\t | 0.0871778334911983 | \n", + "\t\t0.9128221665088017 | \n", + "\t
999 | \n", + "\t\t\n", + "\t\t | 0.19836118525209878 | \n", + "\t\t0.8016388147479013 | \n", + "\t
WELDING_ID | anomaly | prob_0 | prob_1 | prediction | \n", + "
---|---|---|---|---|
116 | \n", + "\t\t0 | \n", + "\t\t0.9552904297256605 | \n", + "\t\t0.04470957027433943 | \n", + "\t\t0 | \n", + "\t
581 | \n", + "\t\t0 | \n", + "\t\t0.7435115241296084 | \n", + "\t\t0.2564884758703916 | \n", + "\t\t0 | \n", + "\t
281 | \n", + "\t\t0 | \n", + "\t\t0.7522548100598302 | \n", + "\t\t0.24774518994016978 | \n", + "\t\t0 | \n", + "\t
999 | \n", + "\t\t1 | \n", + "\t\t0.19836118525209878 | \n", + "\t\t0.8016388147479013 | \n", + "\t\t1 | \n", + "\t
856 | \n", + "\t\t0 | \n", + "\t\t0.7919828100855837 | \n", + "\t\t0.20801718991441617 | \n", + "\t\t0 | \n", + "\t
7. Random Forest using Teradata OpenSource ML functions
\n", + " \n", + "We start by creating a subset for the most interesting part lies between 40 and 400ms from the start of the curve.
\n", + " \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "cf8a84c6-2c67-43c7-86e2-1f31c6bd1c18", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "dc6d18df9e254ce8882ec7453be1ab40", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "PLANT | ROBOT_ID | WELDING_TYPE | WELDING_DAY | WELDING_ID | TIME_MS | RESISTANCE | \n", + "
---|---|---|---|---|---|---|
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t2025-06-18 | \n", + "\t\t833 | \n", + "\t\t184 | \n", + "\t\t225.50114877088427 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t5 | \n", + "\t\t2025-07-12 | \n", + "\t\t489 | \n", + "\t\t287 | \n", + "\t\t230.52740760760418 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t9 | \n", + "\t\t2025-06-18 | \n", + "\t\t812 | \n", + "\t\t76 | \n", + "\t\t178.16102130409436 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t2 | \n", + "\t\t2025-07-30 | \n", + "\t\t131 | \n", + "\t\t122 | \n", + "\t\t314.408712136953 | \n", + "\t
1 | \n", + "\t\t41 | \n", + "\t\t7 | \n", + "\t\t2025-06-30 | \n", + "\t\t601 | \n", + "\t\t69 | \n", + "\t\t198.1165335758247 | \n", + "\t
We create various features by using the window function on the Resistance and taking the difference between the previous and current resistance based on time. We will create these features by using the aggregation function on this resistance and the difference of the resistance.
\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "a227337c-3b57-443c-a256-dd5230ed98dd", + "metadata": {}, + "outputs": [], + "source": [ + "DF_curves_zoom = DF_curves_zoom.assign(\n", + " resistance_diff = DF_curves_zoom.RESISTANCE \n", + " - DF_curves_zoom.RESISTANCE.window(\n", + " partition_columns=['WELDING_ID'],\n", + " order_columns=[\"TIME_MS\"]\n", + " ).lag(1)\n", + ")\n", + "# DF_curves_zoom[DF_curves_zoom.WELDING_ID==138].sort(\"TIME_MS\")" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "cb8c00e7-c465-46ba-99ae-c094969a2eed", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2e2da15e86ab4b1385219f642e37e5dc", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "WELDING_ID | sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | min_resistance_diff | \n", + "
---|---|---|---|---|---|---|---|---|---|
620 | \n", + "\t\t88342.64044827396 | \n", + "\t\t137.30900299564482 | \n", + "\t\t314.06522413849495 | \n", + "\t\t246.07977840744834 | \n", + "\t\t45.09106156197229 | \n", + "\t\t2033.203832785575 | \n", + "\t\t-0.5593553778837088 | \n", + "\t\t-0.6737088126622688 | \n", + "\t\t-29.856946521200086 | \n", + "\t
72 | \n", + "\t\t82132.21433826616 | \n", + "\t\t104.70467014938446 | \n", + "\t\t312.7132264322771 | \n", + "\t\t228.78054133221772 | \n", + "\t\t57.099248554428925 | \n", + "\t\t3260.324185480454 | \n", + "\t\t-0.4527050989025892 | \n", + "\t\t-0.9189959880168315 | \n", + "\t\t-27.171428796617818 | \n", + "\t
759 | \n", + "\t\t85850.3948821828 | \n", + "\t\t95.93586249651608 | \n", + "\t\t349.2521127143311 | \n", + "\t\t239.13759020106627 | \n", + "\t\t71.37967029255474 | \n", + "\t\t5095.057331073822 | \n", + "\t\t-0.40798080630716765 | \n", + "\t\t-1.042277705763781 | \n", + "\t\t-34.2552297092069 | \n", + "\t
711 | \n", + "\t\t77910.29397222718 | \n", + "\t\t99.59721397994052 | \n", + "\t\t308.17260229102055 | \n", + "\t\t217.0203174713849 | \n", + "\t\t58.580333021597795 | \n", + "\t\t3431.6554169213014 | \n", + "\t\t-0.28157863829571916 | \n", + "\t\t-1.0842604382366274 | \n", + "\t\t-25.294217256768533 | \n", + "\t
735 | \n", + "\t\t86983.36964263133 | \n", + "\t\t105.16013699875654 | \n", + "\t\t328.7554675173849 | \n", + "\t\t242.2935087538477 | \n", + "\t\t56.5150805707015 | \n", + "\t\t3193.954331912882 | \n", + "\t\t-0.5469935212726376 | \n", + "\t\t-0.7309877203258219 | \n", + "\t\t-31.729098532553564 | \n", + "\t
7.1 Build the analytical dataset.
\n", + "We create the analytical dataset joining the anomaly table created above and the dataset with the features created.
" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "55686241-b413-45eb-a495-9888c946c634", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "DF_target = DataFrame('Anomaly_Target')" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "d4f6e7dc-7a1e-447f-918c-fe675f5d597f", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "DF_ADS = DF_features[['WELDING_ID']+feature_names].join(\n", + " other=DF_target, how='inner', on='WELDING_ID=WELDING_ID',rsuffix='r',lsuffix='l')" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "41bca2b7-9260-46f2-afed-f0d611fd232a", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "5f9efcfa58094da8a6ed2b379fdabc9a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "WELDING_ID_l | WELDING_ID_r | sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | min_resistance_diff | anomaly | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|
759 | \n", + "\t\t759 | \n", + "\t\t85850.3948821828 | \n", + "\t\t95.93586249651608 | \n", + "\t\t349.2521127143311 | \n", + "\t\t239.13759020106627 | \n", + "\t\t71.37967029255474 | \n", + "\t\t5095.057331073822 | \n", + "\t\t-0.40798080630716765 | \n", + "\t\t-1.042277705763781 | \n", + "\t\t-34.2552297092069 | \n", + "\t\t0 | \n", + "\t
521 | \n", + "\t\t521 | \n", + "\t\t86311.16209557129 | \n", + "\t\t83.63565446899322 | \n", + "\t\t371.03290669363076 | \n", + "\t\t240.42106433306765 | \n", + "\t\t86.59469017742082 | \n", + "\t\t7498.6403669235015 | \n", + "\t\t-0.22559943677069424 | \n", + "\t\t-1.2315781754798603 | \n", + "\t\t-48.000249911263666 | \n", + "\t\t0 | \n", + "\t
123 | \n", + "\t\t123 | \n", + "\t\t83759.94919396425 | \n", + "\t\t82.6451402512838 | \n", + "\t\t368.3012871516082 | \n", + "\t\t233.3146217102068 | \n", + "\t\t82.76885574461353 | \n", + "\t\t6850.683481272646 | \n", + "\t\t-0.2867184557621234 | \n", + "\t\t-1.3075810926072349 | \n", + "\t\t-39.541343850154476 | \n", + "\t\t0 | \n", + "\t
342 | \n", + "\t\t342 | \n", + "\t\t106500.14073297645 | \n", + "\t\t178.45785277776122 | \n", + "\t\t367.5445073395069 | \n", + "\t\t296.65777362946085 | \n", + "\t\t45.55150288848985 | \n", + "\t\t2074.9394154000993 | \n", + "\t\t-0.41900879613466196 | \n", + "\t\t-0.8516234489970328 | \n", + "\t\t-31.266292156182544 | \n", + "\t\t1 | \n", + "\t
144 | \n", + "\t\t144 | \n", + "\t\t83121.01622703334 | \n", + "\t\t78.52177145197345 | \n", + "\t\t374.24517113960087 | \n", + "\t\t231.53486414215413 | \n", + "\t\t95.91404929726042 | \n", + "\t\t9199.504852597303 | \n", + "\t\t-0.17056032020583595 | \n", + "\t\t-1.5247519859543917 | \n", + "\t\t-35.818755185093664 | \n", + "\t\t0 | \n", + "\t
WELDING_ID | sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | min_resistance_diff | anomaly | anomaly_int | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|
168 | \n", + "\t\t81231.31993153358 | \n", + "\t\t78.20584184189954 | \n", + "\t\t383.797723458992 | \n", + "\t\t226.27108616026067 | \n", + "\t\t92.61259834947403 | \n", + "\t\t8577.093373041 | \n", + "\t\t0.05391970417306466 | \n", + "\t\t-1.3925390208869324 | \n", + "\t\t-36.405558520862314 | \n", + "\t\t0 | \n", + "\t\t0 | \n", + "\t
521 | \n", + "\t\t86311.16209557129 | \n", + "\t\t83.63565446899322 | \n", + "\t\t371.03290669363076 | \n", + "\t\t240.42106433306765 | \n", + "\t\t86.59469017742082 | \n", + "\t\t7498.6403669235015 | \n", + "\t\t-0.22559943677069424 | \n", + "\t\t-1.2315781754798603 | \n", + "\t\t-48.000249911263666 | \n", + "\t\t0 | \n", + "\t\t0 | \n", + "\t
342 | \n", + "\t\t106500.14073297645 | \n", + "\t\t178.45785277776122 | \n", + "\t\t367.5445073395069 | \n", + "\t\t296.65777362946085 | \n", + "\t\t45.55150288848985 | \n", + "\t\t2074.9394154000993 | \n", + "\t\t-0.41900879613466196 | \n", + "\t\t-0.8516234489970328 | \n", + "\t\t-31.266292156182544 | \n", + "\t\t1 | \n", + "\t\t1 | \n", + "\t
144 | \n", + "\t\t83121.01622703334 | \n", + "\t\t78.52177145197345 | \n", + "\t\t374.24517113960087 | \n", + "\t\t231.53486414215413 | \n", + "\t\t95.91404929726042 | \n", + "\t\t9199.504852597303 | \n", + "\t\t-0.17056032020583595 | \n", + "\t\t-1.5247519859543917 | \n", + "\t\t-35.818755185093664 | \n", + "\t\t0 | \n", + "\t\t0 | \n", + "\t
123 | \n", + "\t\t83759.94919396425 | \n", + "\t\t82.6451402512838 | \n", + "\t\t368.3012871516082 | \n", + "\t\t233.3146217102068 | \n", + "\t\t82.76885574461353 | \n", + "\t\t6850.683481272646 | \n", + "\t\t-0.2867184557621234 | \n", + "\t\t-1.3075810926072349 | \n", + "\t\t-39.541343850154476 | \n", + "\t\t0 | \n", + "\t\t0 | \n", + "\t
TD_IsTrainRow | WELDING_ID | sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | min_resistance_diff | anomaly_int | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|
1 | \n", + "\t\t10 | \n", + "\t\t95127.1795645449 | \n", + "\t\t144.88744123637863 | \n", + "\t\t356.36420112865824 | \n", + "\t\t264.97821605722817 | \n", + "\t\t54.9337378770633 | \n", + "\t\t3017.7155571458993 | \n", + "\t\t-0.2307254513118324 | \n", + "\t\t-1.1858367926106634 | \n", + "\t\t-32.0320370169095 | \n", + "\t\t1 | \n", + "\t
1 | \n", + "\t\t8 | \n", + "\t\t100195.44141325781 | \n", + "\t\t153.1729060302975 | \n", + "\t\t369.01676378573256 | \n", + "\t\t279.0959370842836 | \n", + "\t\t53.34160790042546 | \n", + "\t\t2845.3271334027318 | \n", + "\t\t-0.4776006642407464 | \n", + "\t\t-0.7252063427887376 | \n", + "\t\t-30.30756652342805 | \n", + "\t\t1 | \n", + "\t
1 | \n", + "\t\t35 | \n", + "\t\t101079.20526104877 | \n", + "\t\t187.26783471658626 | \n", + "\t\t358.73415881062687 | \n", + "\t\t281.55767482186286 | \n", + "\t\t49.84128428232629 | \n", + "\t\t2484.153618911666 | \n", + "\t\t-0.2591425375150598 | \n", + "\t\t-1.3078073722006127 | \n", + "\t\t-45.314281342120864 | \n", + "\t\t1 | \n", + "\t
1 | \n", + "\t\t9 | \n", + "\t\t82501.00500514822 | \n", + "\t\t91.14168264526084 | \n", + "\t\t365.18561530292624 | \n", + "\t\t229.80781338481398 | \n", + "\t\t89.14456616163214 | \n", + "\t\t7946.7536761456095 | \n", + "\t\t-0.18283169109922082 | \n", + "\t\t-1.6351004381704022 | \n", + "\t\t-33.84552053148343 | \n", + "\t\t0 | \n", + "\t
1 | \n", + "\t\t21 | \n", + "\t\t87651.6631041502 | \n", + "\t\t100.06115552653354 | \n", + "\t\t370.50674200883566 | \n", + "\t\t244.15505042938773 | \n", + "\t\t77.73139844534938 | \n", + "\t\t6042.170304269665 | \n", + "\t\t-0.10823631050168349 | \n", + "\t\t-1.2142935096694525 | \n", + "\t\t-35.92449265501136 | \n", + "\t\t0 | \n", + "\t
7.2 Train RandomForest Classifier
\n", + "Train dataset is created using sampleid = 1.
" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "5eef1a68-6211-4b4a-a870-083f6aff1633", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "bead7343638f493fa1e329c078fee65f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "WELDING_ID | sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | min_resistance_diff | anomaly_int | \n", + "
---|---|---|---|---|---|---|---|---|---|---|
9 | \n", + "\t\t82501.00500514822 | \n", + "\t\t91.14168264526084 | \n", + "\t\t365.18561530292624 | \n", + "\t\t229.80781338481398 | \n", + "\t\t89.14456616163214 | \n", + "\t\t7946.7536761456095 | \n", + "\t\t-0.18283169109922082 | \n", + "\t\t-1.6351004381704022 | \n", + "\t\t-33.84552053148343 | \n", + "\t\t0 | \n", + "\t
12 | \n", + "\t\t106817.32190479447 | \n", + "\t\t191.7494296610409 | \n", + "\t\t385.8402275855924 | \n", + "\t\t297.5412866428815 | \n", + "\t\t52.55922597785767 | \n", + "\t\t2762.4722353915085 | \n", + "\t\t-0.1999867594892224 | \n", + "\t\t-1.3022494693454283 | \n", + "\t\t-31.826116223990255 | \n", + "\t\t1 | \n", + "\t
6 | \n", + "\t\t105201.78708839459 | \n", + "\t\t199.73777915742855 | \n", + "\t\t369.66316282209505 | \n", + "\t\t293.0411896612663 | \n", + "\t\t48.937854771632054 | \n", + "\t\t2394.91362964935 | \n", + "\t\t-0.2972221842013988 | \n", + "\t\t-1.2708881859616288 | \n", + "\t\t-44.07554059750447 | \n", + "\t\t1 | \n", + "\t
10 | \n", + "\t\t95127.1795645449 | \n", + "\t\t144.88744123637863 | \n", + "\t\t356.36420112865824 | \n", + "\t\t264.97821605722817 | \n", + "\t\t54.9337378770633 | \n", + "\t\t3017.7155571458993 | \n", + "\t\t-0.2307254513118324 | \n", + "\t\t-1.1858367926106634 | \n", + "\t\t-32.0320370169095 | \n", + "\t\t1 | \n", + "\t
3 | \n", + "\t\t76967.210140556 | \n", + "\t\t104.14666690623334 | \n", + "\t\t287.7835576436938 | \n", + "\t\t214.39334300990527 | \n", + "\t\t51.09115870026167 | \n", + "\t\t2610.306497335324 | \n", + "\t\t-0.4833111981907075 | \n", + "\t\t-0.8441517264101307 | \n", + "\t\t-22.450629480628777 | \n", + "\t\t0 | \n", + "\t
Test dataset is created using sampleid = 2.
" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "be644b0e-dcfd-40ff-ba0a-b5800cfd0875", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "492a163cd1f34097ab58c864fbea4d6c", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "WELDING_ID | sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | min_resistance_diff | anomaly_int | \n", + "
---|---|---|---|---|---|---|---|---|---|---|
23 | \n", + "\t\t80968.38566460606 | \n", + "\t\t91.32685504056975 | \n", + "\t\t362.0288544976556 | \n", + "\t\t225.5386787314932 | \n", + "\t\t76.16092244254854 | \n", + "\t\t5800.486107299894 | \n", + "\t\t-0.06229470076093798 | \n", + "\t\t-1.2994883640937822 | \n", + "\t\t-38.24098140508306 | \n", + "\t\t0 | \n", + "\t
26 | \n", + "\t\t103807.76297225684 | \n", + "\t\t152.857497527659 | \n", + "\t\t383.578384675018 | \n", + "\t\t289.15811412884915 | \n", + "\t\t57.608322823675024 | \n", + "\t\t3318.7188585567565 | \n", + "\t\t-0.21002500953619418 | \n", + "\t\t-1.3168188493421034 | \n", + "\t\t-42.325211030065475 | \n", + "\t\t1 | \n", + "\t
69 | \n", + "\t\t97411.15857106655 | \n", + "\t\t168.72998702644077 | \n", + "\t\t362.43335495393376 | \n", + "\t\t271.340274571216 | \n", + "\t\t55.08092368489766 | \n", + "\t\t3033.9081539815206 | \n", + "\t\t-0.19776981850595154 | \n", + "\t\t-1.3735577645369346 | \n", + "\t\t-33.54196500414861 | \n", + "\t\t1 | \n", + "\t
82 | \n", + "\t\t94048.76279519273 | \n", + "\t\t114.03951750210967 | \n", + "\t\t366.35161875486074 | \n", + "\t\t261.97426962449225 | \n", + "\t\t68.10084349437736 | \n", + "\t\t4637.72488464568 | \n", + "\t\t-0.4827546065748303 | \n", + "\t\t-0.8556540622845826 | \n", + "\t\t-49.74532255752476 | \n", + "\t\t0 | \n", + "\t
33 | \n", + "\t\t93185.74584100883 | \n", + "\t\t124.65019295111625 | \n", + "\t\t351.7031928317579 | \n", + "\t\t259.5703226769048 | \n", + "\t\t59.354738112601765 | \n", + "\t\t3522.9849364155407 | \n", + "\t\t-0.3229589598739873 | \n", + "\t\t-1.046640890827172 | \n", + "\t\t-40.22434101551627 | \n", + "\t\t1 | \n", + "\t
Copy the Train and Test datasets into vantage
" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "130cdab5-841a-4e65-b4f3-090414df65c3", + "metadata": {}, + "outputs": [], + "source": [ + "copy_to_sql(data_train, table_name='data_train', if_exists='replace')\n", + "copy_to_sql(data_val, table_name='data_val', if_exists='replace')" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "f717da10-a24f-4345-a36e-8554fefcdc2e", + "metadata": {}, + "outputs": [], + "source": [ + "data_train=DataFrame('data_train')\n", + "data_val= DataFrame('data_val')" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "5217c805-010b-4184-b312-b22c7f0b1d49", + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import td_sklearn as osml\n", + "X_train = data_train.drop(['anomaly_int','WELDING_ID'], axis = 1)\n", + "y_train = data_train.select([\"anomaly_int\"])\n", + "X_test = data_val.drop(['anomaly_int','WELDING_ID'], axis = 1)\n", + "y_test = data_val.select([\"anomaly_int\"])" + ] + }, + { + "cell_type": "markdown", + "id": "139fef94-8a5b-4cfc-964a-14c1498d8ba5", + "metadata": {}, + "source": [ + "Set the session to use the Analytic compute group and cluster to execute the OpenSourceML function.
" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "72c6f350-9dd5-4e61-af02-b368b8014414", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Compute group set to GPUGroup\n" + ] + } + ], + "source": [ + "gpu_compute_group = env_vars.get(\"gpu_compute_group\")\n", + "execute_sql(f\"SET SESSION COMPUTE GROUP {gpu_compute_group};\")\n", + "print(f\"Compute group set to {gpu_compute_group}\")" + ] + }, + { + "cell_type": "markdown", + "id": "30978fe8-6c08-47b8-8b79-3157a74151e7", + "metadata": {}, + "source": [ + "Check the user environments and create an environment for the usecase.
" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "bb089556-3f28-4ad8-8de7-1506cf7a4412", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No user environment(s) found.\n" + ] + } + ], + "source": [ + "list_user_envs()" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "id": "8dcea3eb-0d96-45e4-b525-76b59dba9b98", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "User environment 'osml_env' created.\n" + ] + }, + { + "data": { + "text/plain": [ + "\n", + "================================================\n", + "Environment Name: osml_env\n", + "Base Environment: python_3.9\n", + "Description: OAF Demo env for Anomaly OSML\n", + "\n", + "############ Libraries installed in User Environment ############\n", + "\n", + " name version\n", + "0 pip 25.0.1\n", + "1 setuptools 78.1.0\n", + "\n", + "================================================" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "try:\n", + " env = create_env(\n", + " env_name=\"osml_env\",\n", + " base_env=\"python_3.9\",\n", + " desc=\"OAF Demo env for Anomaly OSML\",\n", + " )\n", + "except:\n", + " remove_env(\"osml_env\")\n", + " env = create_env(\n", + " env_name=\"osml_env\",\n", + " base_env=\"python_3.9\",\n", + " desc=\"OAF Demo env for Anomaly OSML\",\n", + " )\n", + " \n", + "env " + ] + }, + { + "cell_type": "markdown", + "id": "c51c6334-d126-4668-94a3-e8e5f9c76b13", + "metadata": {}, + "source": [ + "Confirm that the versions in the local environment are same to the virtual environment.
" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "f529092a-43da-4a42-9eb1-9beceec29792", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "scikit-learn 1.1.3\n", + "scipy 1.11.2\n", + "numpy 1.24.2\n", + "geopandas 0.12.2\n", + "pandas 2.1.3\n", + "sklearn-pandas 2.2.0\n" + ] + } + ], + "source": [ + "!pip list | grep scikit-learn\n", + "!pip list | grep scipy\n", + "!pip list | grep numpy\n", + "!pip list | grep pandas" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "7a82e027-864c-4590-ba76-dc493311fdf4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Request to install libraries initiated successfully in the remote user environment osml_env. Check the status using status() with the claim id '68add8e1-7c66-406d-90f9-1ede4695e870'.\n" + ] + } + ], + "source": [ + "claim_id = env.install_lib([\"pandas==2.1.3\",\n", + " \"scipy==1.11.2\",\n", + " \"scikit-learn==1.1.3\",\n", + " \"numpy==1.24.2\"], asynchronous=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "606ca6eb-845c-4fea-8bd6-ec2e9094b43f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " | Claim Id | \n", + "File/Libs/Model | \n", + "Method Name | \n", + "Stage | \n", + "Timestamp | \n", + "Additional Details | \n", + "
---|---|---|---|---|---|---|
0 | \n", + "68add8e1-7c66-406d-90f9-1ede4695e870 | \n", + "pandas==2.1.3, scipy==1.11.2, scikit-learn==1.... | \n", + "install_lib | \n", + "Started | \n", + "2025-08-11T13:43:37Z | \n", + "\n", + " |
1 | \n", + "68add8e1-7c66-406d-90f9-1ede4695e870 | \n", + "pandas==2.1.3, scipy==1.11.2, scikit-learn==1.... | \n", + "install_lib | \n", + "Finished | \n", + "2025-08-11T13:47:04Z | \n", + "\n", + " |
\n", + " | name | \n", + "version | \n", + "
---|---|---|
0 | \n", + "joblib | \n", + "1.5.1 | \n", + "
1 | \n", + "numpy | \n", + "1.24.2 | \n", + "
2 | \n", + "pandas | \n", + "2.1.3 | \n", + "
3 | \n", + "pip | \n", + "25.0.1 | \n", + "
4 | \n", + "python-dateutil | \n", + "2.9.0.post0 | \n", + "
5 | \n", + "pytz | \n", + "2025.2 | \n", + "
6 | \n", + "scikit-learn | \n", + "1.1.3 | \n", + "
7 | \n", + "scipy | \n", + "1.11.2 | \n", + "
8 | \n", + "setuptools | \n", + "78.1.0 | \n", + "
9 | \n", + "six | \n", + "1.17.0 | \n", + "
10 | \n", + "threadpoolctl | \n", + "3.6.0 | \n", + "
11 | \n", + "tzdata | \n", + "2025.2 | \n", + "
Set the user environment to the created virtual environment and execute the RandomForestClassifier.
" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "id": "e775073f-81b6-47bd-8696-efee242e3baf", + "metadata": {}, + "outputs": [], + "source": [ + "configure.openml_user_env = env" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "id": "95aa7d9d-dadd-4267-9f13-2526d2d6989b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "RandomForestClassifier(max_depth=2, max_features='auto', max_leaf_nodes=2,\n", + " n_estimators=10)In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
RandomForestClassifier(max_depth=2, max_features='auto', max_leaf_nodes=2,\n", + " n_estimators=10)
Check the params for the Classifier.
" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "id": "ef508629-f7e7-4210-9f8d-9d2f21530a85", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'bootstrap': True,\n", + " 'ccp_alpha': 0.0,\n", + " 'class_weight': None,\n", + " 'criterion': 'gini',\n", + " 'max_depth': 2,\n", + " 'max_features': 'auto',\n", + " 'max_leaf_nodes': 2,\n", + " 'max_samples': None,\n", + " 'min_impurity_decrease': 0.0,\n", + " 'min_samples_leaf': 1,\n", + " 'min_samples_split': 2,\n", + " 'min_weight_fraction_leaf': 0.0,\n", + " 'n_estimators': 10,\n", + " 'n_jobs': None,\n", + " 'oob_score': False,\n", + " 'random_state': None,\n", + " 'verbose': 0,\n", + " 'warm_start': False}" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "RF_classifier.get_params()" + ] + }, + { + "cell_type": "markdown", + "id": "aca1ef54-8f11-48af-9d9f-ffe19a08b050", + "metadata": {}, + "source": [ + "7.3 Predict and Evaluate model
\n" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "id": "12ca4daf-6b7f-453b-b690-3ca59df0fb6b", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "7dba28565d8d45aea0fea458c4379def", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | min_resistance_diff | anomaly_int | randomforestclassifier_predict_1 | \n", + "
---|---|---|---|---|---|---|---|---|---|---|
110341.49664250232 | \n", + "\t\t205.03522927809342 | \n", + "\t\t380.74742538916405 | \n", + "\t\t307.35792936630173 | \n", + "\t\t45.5209819478354 | \n", + "\t\t2072.159797495157 | \n", + "\t\t-0.3214105274578798 | \n", + "\t\t-1.1819447978660633 | \n", + "\t\t-49.25786591005914 | \n", + "\t\t1 | \n", + "\t\t1 | \n", + "\t
96649.6900333734 | \n", + "\t\t122.17637448667617 | \n", + "\t\t366.32142645670035 | \n", + "\t\t269.2191922935192 | \n", + "\t\t64.87601147648358 | \n", + "\t\t4208.896865096829 | \n", + "\t\t-0.5753868635026909 | \n", + "\t\t-0.6683953472392237 | \n", + "\t\t-41.076280458269196 | \n", + "\t\t0 | \n", + "\t\t0 | \n", + "\t
84099.21496523272 | \n", + "\t\t118.69683849065697 | \n", + "\t\t355.3352831442057 | \n", + "\t\t234.25965171374017 | \n", + "\t\t70.96890818596847 | \n", + "\t\t5036.585929108423 | \n", + "\t\t0.15449954336904378 | \n", + "\t\t-1.383727210170674 | \n", + "\t\t-31.554292692684527 | \n", + "\t\t0 | \n", + "\t\t0 | \n", + "\t
107360.61084072788 | \n", + "\t\t201.71277038171522 | \n", + "\t\t377.2026817832662 | \n", + "\t\t299.05462629729215 | \n", + "\t\t45.158285010493685 | \n", + "\t\t2039.2707050889785 | \n", + "\t\t-0.46398574196047354 | \n", + "\t\t-1.0083162755064483 | \n", + "\t\t-34.04093502152949 | \n", + "\t\t1 | \n", + "\t\t1 | \n", + "\t
119047.29002453877 | \n", + "\t\t207.8252169086635 | \n", + "\t\t410.920900680535 | \n", + "\t\t331.6080502076289 | \n", + "\t\t49.55794200324507 | \n", + "\t\t2455.989615597002 | \n", + "\t\t-0.6231397861594759 | \n", + "\t\t-0.8036020482778766 | \n", + "\t\t-33.43931357109807 | \n", + "\t\t1 | \n", + "\t\t1 | \n", + "\t
score | \n", + "
---|
0.9746835443037974 | \n", + "\t
8. Compare PMML and OpenSource ML model
\n", + "8.1 Show AUC-ROC Curve
\n", + "\n", + "The ROC curve shows the performance of a binary classification model as its discrimination threshold varies. For a range of thresholds, the curve plots the true positive rate against false-positive rate.
\n", + "\n", + "This function accepts a set of prediction-actual pairs as input and calculates the following values for a range of discrimination thresholds.
\n", + "ROC for PMML
" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "id": "7c4b179b-a334-4dc0-b3f8-71c35f87283e", + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import ROC \n", + "roc_pmml = ROC(data = pmml_predict_result, \n", + " probability_column = \"prob_1\",\n", + " observation_column = \"anomaly\",\n", + " positive_class=\"1\"\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "id": "32b946fb-e09e-4e62-b78a-c5325d84c175", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " | threshold_value | \n", + "tpr | \n", + "fpr | \n", + "
---|---|---|---|
9 | \n", + "0.183673 | \n", + "1.0 | \n", + "0.366795 | \n", + "
8 | \n", + "0.163265 | \n", + "1.0 | \n", + "0.447876 | \n", + "
7 | \n", + "0.142857 | \n", + "1.0 | \n", + "0.490347 | \n", + "
6 | \n", + "0.122449 | \n", + "1.0 | \n", + "0.548263 | \n", + "
5 | \n", + "0.102041 | \n", + "1.0 | \n", + "0.594595 | \n", + "
4 | \n", + "0.081633 | \n", + "1.0 | \n", + "0.687259 | \n", + "
3 | \n", + "0.061224 | \n", + "1.0 | \n", + "0.698842 | \n", + "
2 | \n", + "0.040816 | \n", + "1.0 | \n", + "0.949807 | \n", + "
1 | \n", + "0.020408 | \n", + "1.0 | \n", + "1.000000 | \n", + "
0 | \n", + "0.000000 | \n", + "1.0 | \n", + "1.000000 | \n", + "
ROC for tdmlOpenSource RandomForestClassifier
" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "id": "02a1c9e2-be8c-44da-9e0a-9056a2ec8243", + "metadata": {}, + "outputs": [], + "source": [ + "roc_obj = ROC(data = predict_RF, \n", + " probability_column = \"randomforestclassifier_predict_1\",\n", + " observation_column = \"anomaly_int\",\n", + " positive_class=\"1\"\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "id": "27834036-13cc-49e9-a34e-b2bcb2c192b1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " | threshold_value | \n", + "tpr | \n", + "fpr | \n", + "
---|---|---|---|
15 | \n", + "0.306122 | \n", + "0.975 | \n", + "0.025641 | \n", + "
16 | \n", + "0.326531 | \n", + "0.975 | \n", + "0.025641 | \n", + "
17 | \n", + "0.346939 | \n", + "0.975 | \n", + "0.025641 | \n", + "
18 | \n", + "0.367347 | \n", + "0.975 | \n", + "0.025641 | \n", + "
19 | \n", + "0.387755 | \n", + "0.975 | \n", + "0.025641 | \n", + "
20 | \n", + "0.408163 | \n", + "0.975 | \n", + "0.025641 | \n", + "
21 | \n", + "0.428571 | \n", + "0.975 | \n", + "0.025641 | \n", + "
22 | \n", + "0.448980 | \n", + "0.975 | \n", + "0.025641 | \n", + "
12 | \n", + "0.244898 | \n", + "0.975 | \n", + "0.025641 | \n", + "
0 | \n", + "0.000000 | \n", + "1.000 | \n", + "1.000000 | \n", + "
Plot ROC Curves
" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "id": "93ab97d1-cbd3-4044-8546-0f170a5ca9ce", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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kyYlO//dd9+lSZMmNG3alObNmzNu3LiQyjx06FAiIiJISkryho0YMeKM8yMjI9mzZw8AO3fuZMCAAdStW5eWLVvSs2dP/vrrr5DyC8aJEye46qqrqFevHm3btiUuLi5gvJdeeokmTZoQFRXFiy++6A2/6qqriImJISYmhsjISGJiYgDYu3cvnTt3pkSJEtx1113J0urUqRMNGjTwnrdr1y4AtmzZQpcuXWjWrBmdOnVi27Zt3nMeeughoqKiaNSoEffccw+qyrFjx7jkkkto2LAhUVFRPPzww974L7zwAo0bN6ZZs2Z06dKFLVu2eI9ddNFFlClTxluPPAwePJjatWt75YqNjQVg//799O3bl2bNmtGmTRtWr17tPWf8+PFERUXRpEkTrr76au+EpmuuuYYGDRrQpEkTbrzxRm+d+uCDD2jWrBlNmzblvPPOY+XKld60brzxRipVqkSTJk2SyTV9+nSioqLIly9finXZSAOqapsqLVu21HTzAc6Wxaxdu1aTkpJUVfXUqSTduHG/HjlyMktlKF68uPf3wIED9fnnn/eGR0dH67Fjx1RV9csvv9To6Gi95JJLVFX17bff1qZNm+pNN93kPb9///4aHR2t06dPV1XVjh076m+//RY0782bN2tUVJSqqiYmJmrnzp31/fffV1XVHTt2aI0aNXT58uWqqrp7925t0aKFfv755155mjdvrtu3b1dV1fj4eJ00aVKq5T116pTWrFlT27Ztqz/88IM3/IknntDnnnsuWdxatWrp7t27NSkpSc8991ydOHGi91hsbKz+9NNPqeaXEhMmTNDbbrtNVVWnTZum/fv3PyPOqlWrNCoqSo8ePaoJCQnapUsX/fvvv8+I97///U+ffPJJVVU9cuSILly4UCdOnKhDhgxJFi/YNenXr59OnTpVVVW///57vfbaa1VV9eeff9bzzjtPExMTNTExUc8991z98ccf9ejRo179nThxQi+44AL98ssvVVX1hx9+0KNHj6qq6muvvZasXPPmzdO5c+d665GHQYMGeeuNLw888ICOGDFCVVXXrVunF154oaqqbtu2TSMjI73188orr9S3335bVVW/+OILTUpK0qSkJB0wYIC+9tpr3rLs27dPVZ3606ZNG28+CxYs0OXLl3vro4e1a9fq+vXrU63LOYW1a9eeEQYs0yx8Vlv3YA5FVTl6NIF16/bSoEE58sf+jzr7Y2FTBmZSNgZavhhy9Pbt2/PHH394//fs2ZMvvviCfv36MW3aNK6++moWLlyYLP7ChQtJSEjgxIkTbNiwwfu2n1by589PmzZt2L59OwATJkxg8ODBtGjRAoAKFSrw7LPPMmLECC655BJGjx7NuHHjqFatGgCFCxfmlltuSTWf+fPnExUVxVVXXcW0adPo3Llzquf8+OOPFCxYkNtvv90bFh0dnZ5iJmPOnDmMGDECgH79+nHXXXd5vfR7WLduHW3btqVYsWIAdOzYkZkzZ/LQQw9546gqn3zyCT/88AMAxYsX54ILLmDDhg0hy7J27VpeeOEFADp37kyfPn0Ap8UdHx/PyZMnUVUSEhKoXLkyxYoV8+quUKFCtGjRwts689Xpueeey/vvv+/936VLF+bPn58muTytuIYNGxIXF8d///0HOK3/48ePU7BgQY4dO+atCz179vSe36ZNG69c5513XjK5fFuTHTp0CNjSbdSoUciyGqFh3YM5kK1bD9Gr1yz27DmOiJCYmJT6SZlMYmIiX331FU2bNvWGDRgwgI8++oj4+Hj++OMP2rZtm+wcEaFr16588803zJkzh969e6c7//j4eH799VcuuugiANasWUPLli2TxWnVqhVr1qwBYPXq1WccDwWP8e3bty9ffPFFsu7IYKQlr/bt23u7uHw3325UD9u3b6dGjRoAFChQgNKlS7N3795kcZo0acLChQvZu3cvx44d48svv2Tr1q3J4ixcuJDKlStTv379kGS84YYbiImJ4amnnsJ50XaM8MyZMwGYNWsWhw8fZu/evbRr147OnTtTtWpVqlatSo8ePc54kB84cIDPPvuMLl26nJHXlClTuPjii0OS69FHH6VZs2bcd999nDhx4gy5li5dypYtW9i2bRsRERE88MAD1KxZk6pVq1K6dGm6d++eLL2EhATee+89b51Kr1xGxmItrRyEqvLGGyt56KGfOHUqicceq0vDhuWcN+s0tIgykuPHj3tbR+3bt+emm27yHmvWrBlxcXFMmzYt2durLwMGDODll1/m4MGDPP/88zzzzDNpyn/jxo3ExMSwefNmLrnkEpo1a5busqTGyZMn+fLLL3nhhRcoWbIkbdu25ZtvvuHSSy8NOuElrRNhfFuiGUGjRo0YNmwY3bt3p3jx4sTExJA/f/Lv9DyGOBQ++OADIiIiOHz4MFdccQXvvfce119/PePGjeOuu+5i6tSpdOjQgYiICPLnz8+GDRtYt26dt1XSrVs3Fi5cSPv27QHnZefqq6/mnnvuoU6dOsnyev/991m2bBkLFixIVa7Ro0dTpUoVTp48ya233srYsWN5/PHHefjhh7n33nuJiYnxjl3mz5+f/fv3M2fOHDZv3kyZMmW48soref/995ONw95555106NDBK6uHH3/8kSlTprBo0aKQdGZkLNbSymHMnPk3bdpUYdWqwdnCZ2DRokWJjY0lNjaWV155hUKFkk/+6N27Nw888EDQh2KbNm1YtWoVe/bs4Zxzzklz/nXr1iU2NpaNGzeyfPly5s6dC0Djxo1Zvnx5srjLly8nKioKgKioqDOOp8Y333zDgQMHaNq0KZGRkSxatIhp06YBUL58efbv358s/uHDhylTpkya8kpLSysiIsLbakpMTOTgwYOUL1/+jHg33XQTy5cv56effqJs2bLJ9JyYmMjMmTO56qqrQpIvIiICgJIlSzJw4ECWLl0KQLVq1Zg5cyYrVqzg6aefBqBMmTLMmjWLc889lxIlSlCiRAkuvvhilixZ4k3v1ltvpX79+gwdOjRZPvPmzePpp59m7ty5FC6c+ucaVatWRUQoXLgwN9xwg1euUqVK8fbbbxMbG8u7777L7t27qVOnDvPmzaN27dpUrFiRggULcvnll7N48WJvek8++SS7d+/2dnl6+OOPP7j55puZM2dOQF0bmY8ZrWxOYmIS48b9xj//HHJn1vXmu++upE6dMuEWLSRuvPFGnnjiiWTdhv6MGTMmzS0sfypUqMCYMWMYPXo0AEOGDGHq1KneWWR79+5l2LBh3rGc4cOH8+CDD7Jz507AaUVNnjw5xTymTZvG5MmTiYuLIy4ujs2bN/Pdd99x7NgxOnTowNy5czl8+DAAM2fOJDo6mvz583PhhRdy4sSJZLMX//jjj4CtqoULF3pfAny3rl27nhG3d+/evPPOOwDMmDGDCy+8MOBLjGeG3z///MPMmTMZOHCg99i8efNo2LAh1atXT7Hs4Bg4z2zIhIQEPv/8c+9suT179nhnU44ePZobb7wRgJo1a7JgwQISExNJSEhgwYIF3u7B//u//+PgwYPJZjQCrFixgttuu425c+dSqVKlVOUC2LFjB+D0RsyePdsr14EDBzh58iQAkydPpkOHDpQqVYqaNWvyyy+/cOzYMVSV77//3ivX5MmT+eabb5g2bRr58p1+RP7zzz9cfvnlvPfee+l6wTIyiKyc9ZGdt+w4ezA29j9t0eJdhef0mWd+OeN4oJk8WY3v7MHUwn/88cdkswf9Z6apJp8F1rFjR61UqZJGRERoRESE9uvXL1lc39mDqqpJSUnarFkz76y8BQsWaKtWrbRBgwZ6zjnneGeBeXjrrbc0KipKGzdurFFRUd6ZjxMnTkw2009V9ejRo1q2bFk9ePBgsvC+ffvqRx99pKqqr7/+ujZr1kyjo6O1W7duunHjRm+87du365VXXql16tTRxo0ba8+ePfWvv/4KqLtQOX78uPbr10/r1q2rrVu39ua3fft2vfjii73xLrjgAm3UqJE2a9ZM582blyyNQYMGnVFWVWfmY9myZbV48eIaERGha9as0SNHjmiLFi20adOm2rhxY73nnns0MTFRVVWnT5+u9erV0/r16+tNN92k8fHxqurM6rz11lu1YcOG2qhRI73vvvtUVXXr1q0KaMOGDTU6Olqjo6P1zTffVFXVLl26aKVKlbzhvXr1SlaWChUqaJEiRTQiIkK//vprVVXt3LmzNmnSRKOiovSaa67Rw4cPq6rq4sWLtX79+nrOOedo3759vbP/VFUff/xxbdCggUZFRem1117rlTl//vxap04db/6eWZU33XSTlilTxhvu+8wYMGCAVqlSRQsUKKARERE6efJkVVWdOXOmRkREaKFChbRSpUravXv3tF3kbEZ2mD0o6g6k5nVatWql6f6O4kP37XZgxujyxIlERo36hTFjllKuXBEmTOjCFVecc8Zb9Lp162x2kmEYWUagZ46ILFfVVlklg03EyIaMGvULo0b9wvXXN+aFFzpTvnzRcItkGIaRLTCjlU04evQku3Ydo3btMtx/fysuuCCCHj3C603ZMAwju2ETMbIB8+ZtoUmTqVx++VySkpQyZYqYwTIMwwiAGa0wsn9/PDfd9DXduk2nUKH8vPzyheTLZw5uDcMwgmHdg2Fi7do9dOkynd27j/Hww2144onzKFLELodhGEZK2FMyi0lKUvLlE+rVK8uFF9bk/vtb0aJF5XCLZRiGkSOw7sEsQlV59901xMS8w8GDJyhUKD8ffHBJjjdYvkuT9OrViwMHDmRIulOnTj1jWYz0EhkZSdOmTb3eJXw9H2QksbGxfPnllwGPzZ8/n9KlSxMTE0PDhg154IEHkh2fPXs2zZo1o1GjRjRt2pTZs2cnOz5u3DgaNmxITEwMrVu35t133w1Jpj59+nDuuecmCxs8eLB3+RcPJUqU8P7+66+/6NmzJ/Xr16dFixb079/f62Q2vezbt49u3bpRv359unXrdob3EA/Dhg2jSZMmNGnShI8//tgbHmy5EA+//fYbBQoU8JZry5YttGjRgpiYGKKionj99de9cYMtr/LPP//QuXNnmjdvTrNmzbzX8uTJk9xwww00bdqU6Ohor8Pew4cPJ/NaUqFChTM8e3z66aeIiHdZkqVLl3rjR0dHM2vWLG9c33raqtXpGeSxsbGce+653nCPt49gy678+eefyeQqVarUGR9wP//884iI92PxYHrMlmTlR2GeDRgILAQOAkeAZcAQIF8607sI+BbYBxwDVgOPAoVDTSMzPy6OizugPXpMV3hOzzvvA92y5WDQuGkhu31cfP311+uoUaMyJN1gHx+nB88SIWklISEhTfFTktn3w+pjx45pgwYNdNGiRarqLFNSt25d3bRpk6qqbtq0SevWrasrV65UVedj5+7du3s/bD548KB3GZCU2L9/v1avXl0bNmyY7EPnQMt4eK7j8ePHtV69ejp37txksq9atSokHQTjwQcf1NGjR6uq6ujRo/Whhx46I87nn3+uXbt21YSEBD1y5Ii2atXKW+Zgy4Wonl6W5uKLL/aW68SJE96PhQ8fPqy1atXyLkMTbJmQW265xZvumjVrtFatWqqq+uqrr+rgwYNVVfW///7TFi1a6KlTp844v0WLFrpgwQLv/0OHDmn79u21bdu23vw8S8Soqv77779asWJF7/9g9bRbt27eZVu++OIL7dixo6oGX3bFl8TERK1cubLGxcV5w/755x/t3r271qxZM1l+gfToT3b4uDjLuwdFZAJwJxAPfA8kAF2AV4EuItJPVUN2Wy4iDwFjgVPAfGA/0BEYBVwqIl1U9ViGFiJEkpKUiRNjefjhn1CFV165kDvvbJ4pky2Gfj2U2J2xGZpmTJUYXrzoxZDjt2vXzrs0ydKlS7n33nuJj4+naNGivP322zRo0ICpU6cyd+5cjh07xsaNG+nbty/PPvssAG+//TajR4+mTJkyREdHe33OxcXFceONN7Jnzx4qVqzI22+/Tc2aNRk8eDBFixZlxYoV7Nq1i7feeot3332XJUuW0LZtW6ZOnRpU1pTSLFKkCCtWrOD8889nyJAhDBkyhN27d1OsWDHefPNNGjZsyPTp03nyySfJnz8/pUuXZt68eTz++OMcP36cRYsWMXz48KD+/DwLV3qWURk3bhyPPPIItWs7M0Zr167N8OHDee6553jvvfd45plnmD9/PqVKlQIcf3qDBg1K9XrMnDmTXr16UblyZT766CMeeeSRVM/58MMPadeuHb169fKGderUKdXzUmPOnDneFsqgQYPo1KkTY8eOTRZn7dq1dOjQgQIFClCgQAGaNWvG119/Tf/+/YMuFwLwyiuvcMUVV/Dbb795w3x9YJ44cSLZgp3BEBEOHToEwMGDB71Llaxdu5YLL7wQgEqVKlGmTBmWLVtGmzZtvOf+9ddf7Nq1K5lz3ccee4xhw4bx3HPPecM8S8SAszJBKL5DU5Ir0LIrlSuf7r35/vvvqVu3LrVq1fKG3XfffTz77LNcdtllyfIJpMfsSJZ2D4rIFTgGayfQTFUvVdW+QH1gHdAXuDsN6bUCxuC0rs5X1a6qeiVQB/gJOBd4OmNLEToiMHfuRs4/P4I1awZz110tcu3swFOnTvH99997lxdp2LAhCxcuZMWKFYwcOTLZAzM2NpaPP/6YVatW8fHHH7N161Z27NjBE088wc8//8yiRYtYu3atN/7dd9/NoEGD+OOPP7jmmmu45557vMf279/PkiVLGD9+PL179+a+++5jzZo1rFq1yut3EJw1mmJiYrzLo6SU5rZt21i8eDEvvPACt956K6+88grLly9n3Lhx3HnnnQCMHDmSb775hpUrVzJ37lwKFSrEyJEjueqqq4iNjU3RAe3+/fv5+++/6dChA5DyMiqHDh3i8OHDZ3hADwWP9/arr77a69g3NUJdRsW/a8x38712Hv777z+qVq0KQJUqVQJ2N0ZHR/P1119z7Ngx9uzZw48//njGMir+y4Vs376dWbNmcccdd5yR3tatW2nWrBk1atRg2LBh3oc9BF5eZcSIEbz//vtUr16dnj178sorr3jlmjt3LomJiWzevJnly5efIddHH33EVVdd5TVCv//+O1u3buWSSy45Q65ff/2VqKgomjZtyuuvv06BAk7bQUTo3r07LVu2TOan8sUXX+TBBx+kRo0aPPDAA17/msGWXfGXy9dZ9Zw5c4iIiDhjPbeU9JjtyMpmHU43oALXBzjW0T22gxC7CYEZ7jmPBzhWB6f1dQIok1paGdU9ePJkoo4d+6vGxR1QVdVDh054VxfOaLJD92C+fPk0OjpaK1SooO3bt/f6ovvnn3+0T58+GhUVpU2aNNEGDRqoqtOFdvPNN3vPv+iii3ThwoU6a9Ysve6667zhL730krerrXz58nrypLMi88mTJ7V8+fKq6nRzeVYq3rhxo9arV897/nXXXaezZs1S1cDdLiml6el6O3z4sBYpUsTray46OlobNmyoqqq33Xabdu3aVSdNmqR79uzxli2l7sFSpUpps2bNtGjRojp8+HDvsebNm2tsbGyy+LGxsdq8eXM9ePCglilTJpj6g7Jz506tVauWt+41b97c28U3ePDgM7p/SpQooaqq9913n7744otpzi81Spcunex/sDKNGjVKo6OjtWvXrjpw4EAdP358suM333yz3nvvvd7//fr10yVLlqhq8NWLt2/frq1bt9adO3eqqrNqsarTfdetWzd95513VFX1+eef13Hjxqmq47OwUaNGeurUKU1ISNChQ4dqdHS09u7dWy+++GJv3fLQqFEjXbZsmao6q1t37NhRN2/erKrBuyPXrl2rrVu31uPHjyeT67///tNmzZp5uxrvvvtunTFjhqqqfvzxx9qlSxdVdbqJBw8erNHR0Xrttddqq1atdMWKFd70T5w4oeXLl/eW++jRo9qmTRs9cMB5NvneF6Ho0SOzP2Rx92CWtbREpDrQEjgJTPc/rqoLgO1AFZwWUmrpFQI8q7B9ECC9TcASoBAQeDGnDGbFiv9o2/YDhg37iWnT1gNQsmT4lw/JTDxLk2zZsgVVZcKECYDTNdK5c2dWr17NZ599Rnx8vPcc36Um8ufPT2JiYrrz96SVL1++ZOnmy5cv3ekWL14cgKSkJMqUKZPM2/q6desAeP311xk1ahRbt26lZcuWZyy+GIj27duzcuVK1qxZw5QpU7wtwZSWUSlVqhQlSpRg06a0LUn9ySefsH//fmrXrk1kZKR3XTM4cxmVffv2UaFCBSD0JVvS2tKqXLmy1xP7jh07gnpvf/TRR4mNjeW7775DVZN5Uw+0XMiyZcsYMGAAkZGRzJgxgzvvvPOMSSzVqlXzLoYJwZdXmTJlCv379wecru74+Hj27NlDgQIFGD9+PLGxscyZM4cDBw4kk2vlypUkJiZ6W6iHDx9m9erVdOrUicjISH755Rd69+6Nv2/TRo0aUaJECe8ECo9clSpVom/fvl653nnnHS6//HIArrzyylSXXfHw1Vdf0aJFC2934caNG9m8eTPR0dFERkaybds2WrRowc6dO0PSY3YhK7sHm7v7Nap6PEic3/zipkQDoBiwT1U3ZkB66Sb+ZAEe/eQiWrd+n3//PcKMGb15+OG2qZ+YiyhWrBgvv/wyzz//vHdtJ89NmNLYkoe2bduyYMEC9u7dS0JCAtOnn36vOe+88/joo48AZxFC/0X50kMoaZYqVYratWt7ZVFVVq5cCTgPgLZt2zJy5EgqVqzI1q1bKVmypHdpkpSoXbs2Dz/8sHdMx9Pl41muPS4ujmeeeYb7778fcJZRGTJkiHdc48iRI6nOHpw2bRpff/21dxmV5cuXe8vbqVMnPv74Y++SHVOnTvUucT9w4EAWL17MF1984U3rp59+8j5YPZQsWTLgEiqxsbE0btz4DHl8l1F55513zhhPAaeL2WP8//jjD/744w/vasLBlgvZvHmzt4z9+vXjtddeo0+fPmzbto3jx53HzP79+1m0aBENGjRIcXmVmjVr8v333wOOY9j4+HgqVqzIsWPHOHr0KADfffcdBQoUSFZG/0U0S5cuzZ49e7xynXvuucydO5dWrVqxefNm78vUli1bWL9+PZGRkRw9etRbd44ePcq3337rlatatWrehTB/+OEH7wrTwZZdCSZX06ZN2bVrl1eu6tWr8/vvv1OlSpWgesyOZOVEDI9foi0pxPnHL24o6f2TQpy0pJduRs3uwjNzujB4cGOef74T5crlTQe3nqnC06ZN46GHHmLQoEGMGjUqYL++P1WrVmXEiBG0a9eOMmXKeFdDBmeA+IYbbuC5557zTpo4W0JN84MPPuCOO+5g1KhRJCQkMGDAAKKjo3nwwQf5+++/UVW6dOlCdHQ0NWvWZMyYMcTExKQ4EQPg9ttvZ9y4ccTFxRETE8PYsWPp1asXCQkJFCxYkGeffdargzvuuIMjR47QunVrChYsSMGCBb0G7fHHH6dVq1besURwjN6WLVuSTXWvXbs2pUuX5tdff+XSSy9l+fLltGzZkvz581O3bl3vlPCiRYvy+eefM3ToUIYOHUrBggVp1qwZL7300lnp++GHH6Z///5MmTKFWrVq8cknnwBOS+n1119n8uTJJCQkeF8eSpUqxfvvv+8d77n99tupVasW7dq1A+Dyyy/n8ccfD5rfunXruP/++xERVJUHHniApk2bcvToUXr06EFCQgKnTp2ia9eu3HLLLYAzDfyWW25h/PjxiAhTp05FRNi1axc9evQgX758RERE8N577yXL65NPPgn6qYM/ixYtYsyYMRQsWJB8+fLx2muvUaFCBTZt2kTfvn0BZ92ygQMHesft3nzzTe69914SExMpUqSId7xr3bp1DBo0CBEhKiqKKVOmePM5evQo3333HW+88UZIcuUksmxpEhF5BGdSxAeqem2QOE8DjwCTVPW2VNIbiNMt+LOqXhAkzi3AJOBbVe0R4PitwK0ANWvWbLllS0r2NDgH3izKb5tq0G30X+k6P73Y0iSGYWQltjRJmFHVSThGjVatWqXbepe55TjdMkwqwzAMIxhZOaZ1xN0XTyGO57P81AcGMj49wzAMI5uTlUYrzt3XSiFODb+4oaRXM4PSy5FkVfeuYRh5m+zyrMlKo7XC3UeJSLCZCq394qbEeuA4UE5E6gaJ4/lkPZT0chxFihRh79692aYyGYaRO1FV9u7dS5EiRcItStaNaanqVhH5HWgBXAkkm7MrIh2B6jjeMpaEkN5JEfkKuBy4Bhjpl14doB3Od2FfnJlCzqd69eps27aN3bt3h1sUwzByOUWKFKF69erhFiPLJ2KMxvmweKyILFbVDQAiUgl4zY0zRn18D4rIXcBdwFJVvd4vvTE4rp+GicjXqrrUPacE8BZOS/I1VT2QiWUKGwULFvT6qzMMw8gLZKnvQVWdAUzE8XqxSkQ+E5GZwN9AY2A2juNcXyrgfEh8xtiVqv4GPIzzkfFiEflWRD4BNuK4hfoVx9u7YRiGkQvI8invqnqniCzCWYqkI5AfZ3zqLWCipsHDu5vesyLyB3A/zphYEWAT8DIwTlVPZKT8hmEYRvjIso+LszutWrVSf99ghmEYRspk9cfFZrRcRGQ3KbuYSo0KwJ5UYxkeTF9pw/SVNkxfaeNs9FVLVStmpDApYUYrgxCRZVn5tpHTMX2lDdNX2jB9pY2cpK8snYhhGIZhGGeDGS3DMAwjx2BGK+OYlHoUwwfTV9owfaUN01fayDH6sjEtwzAMI8dgLS3DMAwjx2BGyzAMw8gx5EmjJSIDRWShiBwUkSMiskxEhohIuvQhIhe5LqT2icgxEVktIo+KSOFUzmsrIrNEZJeIxIvI3yLyrIiUTl/JMo+M0JmI5BOR80RklIgsFpH9IpIgIv+JyJci0ieFc0eIiKawxWdIQTOIjKpjZ1vujK7rmUUG1a/IVHTlu3XwOzdH1C8RaSAi94rI+yKyXkSSXPn6nWW66dJ/ep99Z0OeW7lYRCYAdwLxwPdAAtAFx+dhFxHplxZXUiLyEDAWOAXMB/bjuKcaBVwqIl1U9ViA864G3sNxY/UzsB04F3gQ6Csi56vqrvSWMyPJQJ3VwSkrwD5gKY6+6gAXAxeLyFTgRg0+2LoSiA0QnhBSYbKAjK5jLmkudybJkeFkoJxHgHdSON4Yx9XbYWB5kDjZvX7dAdybkQmmV//pffadNaqaZzbgCkCBHUB9n/DKwFr32L1pSK8VkAQcBdr6hJcAFrjpjQ9wXnXgmHuxL/MJLwB85J43K9z6ymidAXVxboqLgPx+xzriPHQUuCHAuSPcYyPCrZMsrmPpKndGy5FT9JVKXl+66U3KwfXrZuBZoL97P8135e6XlfpP77MvQ3QQ7ouQxRd8mavM6wMc6+hz8fKFmN4M95zHAxyr4xqlE0AZv2Pj3PPeCnBeKeCge7xxbtNZKnn9n5ve9wGO5ZSHSkbXsfQarSy7btlJXynkE+Hej+r7kM1p9SuA3GdrtNKl//Q++zJiy1b92pmJiFQHWuIsCjnd/7iqLsDpoquC002XWnqFcLq0AD4IkN4mnMUsCwE9/Q73SeG8Q8BnfvHCQkbrLAQ8K0yHf6W5dBAGfWVrOVIji+UcjDOGv0ZVfz3LtHIF6dX/WT77zpo8Y7SA5u5+jaoeDxLnN7+4KdEAZx2vfaq6MdT0RKQUTrPe9/jZyJGZZLTOUqO+u9+RQpwWIjJWRCaJyBgR6eveRNmBzNRXWsqd1dctvWSlnIPd/ZRU4mXn+pXRpFf/6Xr2ZRR5aSKGZ4nflDy5/+MXN5T0/kkhTqD0It39AbdVdbZyZCYZrbOgiEgx4B7376cpRO3lbr5sE5Fr3TfDcJKZ+kpLubPsup0lWSKniHQE6uG0KN5LJXp2rl8ZTXr1n95nX4aQl1paJdz90RTiHHH3JTMxvYyWIzPJSllfw6ngawnsUmYjMByIAUoDFYELcQZ9qwNfikizs5ThbMkMfaWn3DmljmWVnDe6+7mqGmz5jZxQvzKaHPkMy0stLSObIiKPAYNwJqD01wCrTatqoDfkH4EfRWQGziyoZ4BLM1PWrCavljujcLvjPd8wvRUsnuk555CXWloey188hTieN4jDmZheRsuRmWS6rCLyP2Ckm9fFqromHcmMdPfdRKRgeuTIILL62gYrd06pY1kh5wCc8ZdtwDfpTCO71K+MJkc+w/KS0Ypz97VSiFPDL24o6dVMY3qe/uMy7lvg2cqRmXjyzyidJUNE7gaeB44Dl6rqkrSm4bLe3RfCWYE1XMS5+0zRVwCClTur5UgvnrwzU05P1+BUTf+H1NmlfmU0ce4+rfr3/E7rsy9DyEtGyzOdOkpEigaJ09ovbkqsx3nYlhORukHitPFPT1UP4vSf++aX6nlhIqN15kVEhgAv43yF3/ssB7nL+/w+EjRW5pNp+gpCsHJntRzpJVPlFJHGQFuc74neTrt4XrJL/cpo0qv/dD37Moo8Y7RUdSvwO87b0pX+x90ZRtWBnTjfGKSW3kngK/fvNQHSqwO0w5mx9IXf4TkpnFeK07OXZqUmR2aS0TrzOe92HBcxJ4A+qjrvLEXt7+7/VNWwdXdllr5SIGC5wyBHusgCOW9y9z+63w6ll2xRvzKa9Or/LJ99GSJ4ntlwBmQ9X3jX8wmvBKwhgMsS4C6cN4t3A6TXmtOuTNr4hJfg9Jfq4wOcV4PTbpx6+4QXAKaRvdw4ZbTObnF1Fo8zhhWKDDWBgUBhv3ABrnN1qcBtuUlfZ1Pu9MiR0/XlF6cg8J97/sDcUr8CyO55zgT1iAGMdvU1OqPqCel89mVImcOt9DBc5NdchR7H8Twxk9Nuk2Zxpk+8Ee6x+UHSe8g9ngh8C3zic7P8AhQLct7V7jlJwE84Pgfj3PP+BiqFW1cZrTOc6cRJ7rF1wNQg27gA5ylwyL0hPnTl2OSGK/BKuPWUSfpKd7nTKkdO15dfnL5unP1AkVTyzzH1C2iB81zxbIdc+f7yDfc7Z6obZ2pG1hPS+ew7ax2E+yKE6cIPxPE2fgjnTWE5MIQA/s1CvEEuAr5zb5DjOG8oj+L35hbgvLbAbGA3TlfZBhxnmKXDraPM0BnQyechkNIW53deeVcvPwJbcd5843GM/EfAheHWTybp66zLnRY5crq+/OJ85saZEELeOaZ+hXoP+Z0zlRSM1tnUE9L57DubTdyMDcMwDCPbk2cmYhiGYRg5HzNahmEYRo7BjJZhGIaRYzCjZRiGYeQYzGgZhmEYOQYzWoZhGEaOwYyWYRiGkWMwo2XkaURkvojcHG45UkJErhGRb1M43l5E/sxKmQwjXJjRMnINIhInIsdF5IjPVi0McswXkXg3/z0iMlNEqqY3PVX9QFW7+6SvIlLP5/hCVW1wtnL7IyIjRCTBLccBEVksIu3ScH4yOQ0jIzCjZeQ2eqlqCZ/t3zDJcZeqlgDOAcoA48Mkx9nysVuOCjhujqaHWR4jj2NGy8jViEhZEflcRHaLyH73d/UgceuJyAIROei2kD72OdZQRL4TkX0i8qeI9A+Uhj+qug/4FGjipnOeiPzm5vGbiJznk8dgEdkkIodFZLOIXOMTvsj9/ZMbfaXbArpKRDqJyDb3+DB3eXjfcr0kIi+7v0uLyBQR2SEi20VklIjkD6EcicAHQISIVHTTaiMiS9xW2A4ReVVECgWT0w2/VERifVpuzULRo2F4MKNl5Hby4SwAWAtnCYrjOGt5BeIpHG/VZXHWEXoFQESK4zgF/RBnyYYBwGvuIoMpIiIVgCuAFSJSDmd9oZdxnLS+AHwhIuXdPF7GWa6lJHAeEOufnqp2cH9Guy3Jj/2ifAT0FJGSbv75cdaD+tA9PhXHK3c9oDnQHUh1TM81RtcDe3Gco4KztM59OK2wdkAX4M5gcopIc+At4Da3/G8Ac0WkcGr5G4YHM1pGbmO2+xZ/QERmq+peVf1UVY+ps4Df00DHIOcm4Bi3aqoar6qL3PBLcTzPv62qiaq6Aqf1dMbCeT68LCIHgJU4axX9D7gE+FtV33PTmYazzpFn0c8koImIFFXVHaq6Jq2FV9UtOAv79XWDLgSOqeovIlIZ6AkMVdWjqroLp9tyQApJ9nfLcRxnLbR+bqsLVV2uqr+4ZYnDMULBdAtwK/CGqv6qqqdU9R2c1Q3OTWs5jbyLGS0jt9FHVcu4Wx8RKSYib4jIFhE5hLN2WZkgXWIP4Sz8t1RE1ojIjW54LaCtjzE8gLNia5UU5LjHlSFCVa9R1d1ANWCLX7wtQISqHgWuAm4HdojIFyLSMJ06+BBnvTZwlpzwtLJq4SyOuMOnHG/gtB6D8YmqlgEqA6uBlp4DInKO292609XtMzitrmDUAu7302MNHL0YRkiY0TJyO/cDDYC2qloK8HRbiX9EVd2pqreoajWcLqzX3NlvW4EFPsawjNvldUcaZfkX58HtS01gu5v/N6raDaiK0wJ7M43pe5gOdHLH7vpy2mhtxWnZVPApRylVjUotQVXdg9NSGuEzE3KiK2d9V7ePEECvPmwFnvbTYzG3xWkYIWFGy8jtlMTp2jrgjik9ESyiiFzpM0ljP87CeUnA58A5InKdiBR0t9Yi0iiNsnzppjNQRAq4kxMaA5+LSGURucwd2zoBHHHzDsR/QJ1gmbituvk4Y3mbVXWdG74DZ8zueREpJSL5RKSuiKTUpeeb7p/ANzgtUnB0ewg44rYK/Y24v5xvAreLSFtxKC4il3jG3wwjFMxoGbmdF4GiwB6cJcC/TiFua+BXETkCzAXuVdVN7lhYd5yxn3+BncBYIE0TCFR1L8742P04ExoeAi51WzH5cMa9/gX24YwNBWvJjQDecbvYgs1i/BDoyulWlofrgULAWhzDPAOnZRcqzwG3ikgl4AGc7sfDOAbJf1JIMjlVdRnOuNirbt4bgMFpyNswbOViwzAMI+dgLS3DMAwjx2BGyzAMw8gxmNEyDMMwcgxmtAzDMIwcgxktwzAMI8dgRsswDMPIMZjRMgzDMHIMZrQMwzCMHMP/A/UVmgxUfZwzAAAAAElFTkSuQmCC", + "text/plain": [ + "The closer the ROC curve is to the upper left corner of the graph, the higher the accuracy of the test because in the upper left corner, the sensitivity = 1 and the false positive rate = 0 (specificity = 1). The ideal ROC curve thus has an AUC = 1.0. As seen in the above graph the AUC for both the models is close to 1 so the accuracy of both models is very good.
\n", + "\n", + "8.2 Show Confusion Matrix
\n", + "\n", + "Confusion Matrix is a performance measurement for machine learning classification problem where output can be two or more classes. It is a table with 4 different combinations of predicted and actual values.
\n", + "\n", + "Confusion matrices represent counts from predicted and actual values. The output “TN” stands for True Negative which shows the number of negative examples classified accurately. Similarly, “TP” stands for True Positive which indicates the number of positive examples classified accurately. The term “FP” shows False Positive value, i.e., the number of actual negative examples classified as positive; and “FN” means a False Negative value which is the number of actual positive examples classified as negative.
\n" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "id": "0cac3275-2854-464a-b240-03e7b836b96d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "The confusion matrix for this binary class classification problem has the below 4 quadrants:
\n", + "\n", + "Conclusion
\n", + "We have seen an end-to-end exploration process for labelling anomalous time series using ClearScape Analytics on Teradata Vantage. Thanks to the in-database capabilities offered by Teradata Vantage with ClearScape Analytics, we were able to run this exploration with the smallest notebook instance. The unique massively-parallel architecture of Teradata Vantage allows users to prepare data, train, evaluate, and deploy models at unprecedented scale.
\n", + "In this particular use case, we have observed that with large volume of machine sensor data millions of ML models were created to derive analytic features that ultimately deployed tens of thousands of models for real-time scoring. This extent of scale is only possible by combining the power of Vantage with native ClearScape Analytic functions.
" + ] + }, + { + "cell_type": "markdown", + "id": "4cb4409a-847a-4501-95bb-8268958315ec", + "metadata": {}, + "source": [ + "9. Model Explainability
\n", + "Trusted AI
\n", + "\n", + "Trusted AI is important for the in-database functions and data pipelines used in predictive AI/ML, providing significant benefits when applied. One way to enhance the benefits: Teradata VantageCloud, the only platform to offer the massively parallel processing (MPP) architecture that enables best-in-class vertical and horizontal scaling of models.
\n", + "\n", + "LIME stands for Local Interpretable Model-agnostic Explanations. LIME focuses on training local surrogate models to explain individual predictions. Local surrogate models are interpretable models that are used to explain individual predictions of black box machine learning models. Surrogate models are trained to approximate the predictions of the underlying black box model. Instead of training a global surrogate model, LIME focuses on training local surrogate models.
\n", + "\n", + "In practice, LIME only optimizes the loss part. The user has to determine the complexity, e.g. by selecting the maximum number of features that the linear regression model may use.
\n", + "\n", + "So, the recipe for training local surrogate models is as follows:
\n", + "\n", + "Here we will use the model which is created using the teradataml opensouce ml functions to create the explainer and explain the modle parameters. LIME has an attribute lime_tabular that can interpret how the features correlate to the target outcome. We can also specify the mode to classification, training_label to the target outcome (Anomaly), and the features that we have selected on the training process.
\n" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "908bc562-13e9-4af4-893f-bf0097d22cc9", + "metadata": {}, + "outputs": [], + "source": [ + "import lime.lime_tabular\n", + "explainer = lime.lime_tabular.LimeTabularExplainer(X_train.get_values(), feature_names=X_train.columns, \n", + " class_names=['Anomaly','NoAnomaly'], verbose=True, mode='classification')" + ] + }, + { + "cell_type": "markdown", + "id": "dcfdd23a-a708-4954-9499-16da43b8c2ae", + "metadata": {}, + "source": [ + "We will choose 1 instance of the data and use it to explain the predictions.
\n", + "Note:Please replace the WELDING_ID with the ID we need to get explaination
\n" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "id": "56dc3b86-06ba-4599-838b-37e2c5b193fa", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "13cf6ec9c9da4a76af1198f2f374eb6f", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "WELDING_ID | sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | min_resistance_diff | anomaly_int | \n", + "
---|---|---|---|---|---|---|---|---|---|---|
31 | \n", + "\t\t86754.86978245218 | \n", + "\t\t118.8968714267842 | \n", + "\t\t362.48279195869617 | \n", + "\t\t241.65701889262445 | \n", + "\t\t69.87842670568841 | \n", + "\t\t4882.994518862268 | \n", + "\t\t0.08507576069901807 | \n", + "\t\t-1.42337112306267 | \n", + "\t\t-35.30970378099613 | \n", + "\t\t0 | \n", + "\t
49 | \n", + "\t\t91432.81224184402 | \n", + "\t\t88.86290355992934 | \n", + "\t\t363.8854353719825 | \n", + "\t\t254.68749928090256 | \n", + "\t\t70.82363815606475 | \n", + "\t\t5015.98772166119 | \n", + "\t\t-0.407115172919324 | \n", + "\t\t-0.9634199725189564 | \n", + "\t\t-35.26534136945912 | \n", + "\t\t0 | \n", + "\t
66 | \n", + "\t\t103051.29313790884 | \n", + "\t\t135.40482535648476 | \n", + "\t\t380.15990390532056 | \n", + "\t\t287.05095581590206 | \n", + "\t\t62.96273728425751 | \n", + "\t\t3964.3062863264304 | \n", + "\t\t-0.6235690534090123 | \n", + "\t\t-0.5482607552102269 | \n", + "\t\t-40.70364856459071 | \n", + "\t\t1 | \n", + "\t
69 | \n", + "\t\t97411.15857106655 | \n", + "\t\t168.72998702644077 | \n", + "\t\t362.43335495393376 | \n", + "\t\t271.340274571216 | \n", + "\t\t55.08092368489766 | \n", + "\t\t3033.9081539815206 | \n", + "\t\t-0.19776981850595154 | \n", + "\t\t-1.3735577645369346 | \n", + "\t\t-33.54196500414861 | \n", + "\t\t1 | \n", + "\t
134 | \n", + "\t\t94420.8995976158 | \n", + "\t\t94.11009786670994 | \n", + "\t\t375.05861641361037 | \n", + "\t\t263.01086238890196 | \n", + "\t\t80.60147862863109 | \n", + "\t\t6496.598357121674 | \n", + "\t\t-0.4659654036466217 | \n", + "\t\t-1.005563091732258 | \n", + "\t\t-33.038380967269234 | \n", + "\t\t0 | \n", + "\t
159 | \n", + "\t\t82057.37975225871 | \n", + "\t\t90.58182588355331 | \n", + "\t\t336.17284608259644 | \n", + "\t\t228.5720884464031 | \n", + "\t\t76.26957280821834 | \n", + "\t\t5817.0477363481195 | \n", + "\t\t-0.30761862548752666 | \n", + "\t\t-1.254185147630323 | \n", + "\t\t-30.42841019493534 | \n", + "\t\t0 | \n", + "\t
161 | \n", + "\t\t84858.52334969501 | \n", + "\t\t78.97502599970588 | \n", + "\t\t398.92248591342815 | \n", + "\t\t236.37471685151814 | \n", + "\t\t98.29532213355554 | \n", + "\t\t9661.970353339455 | \n", + "\t\t-0.047871194645529774 | \n", + "\t\t-1.3935480197759396 | \n", + "\t\t-42.87126718108749 | \n", + "\t\t0 | \n", + "\t
181 | \n", + "\t\t77288.85013686282 | \n", + "\t\t86.43693248109098 | \n", + "\t\t347.45875485406475 | \n", + "\t\t215.2892761472502 | \n", + "\t\t82.09548498215857 | \n", + "\t\t6739.668654455822 | \n", + "\t\t-0.00877229297708187 | \n", + "\t\t-1.3780222101024648 | \n", + "\t\t-32.23392513119438 | \n", + "\t\t0 | \n", + "\t
183 | \n", + "\t\t84737.54845905438 | \n", + "\t\t69.41522063694657 | \n", + "\t\t414.25927750342277 | \n", + "\t\t236.0377394402629 | \n", + "\t\t111.3020148836517 | \n", + "\t\t12388.138517160622 | \n", + "\t\t0.04790406345700506 | \n", + "\t\t-1.5726990344048148 | \n", + "\t\t-41.171495496964624 | \n", + "\t\t0 | \n", + "\t
191 | \n", + "\t\t70922.03807495922 | \n", + "\t\t85.22354420250932 | \n", + "\t\t324.8828641407507 | \n", + "\t\t197.55442360712874 | \n", + "\t\t73.60226748752646 | \n", + "\t\t5417.293779305394 | \n", + "\t\t0.0890401373922395 | \n", + "\t\t-1.390612017613927 | \n", + "\t\t-28.39684234679362 | \n", + "\t\t0 | \n", + "\t
197 | \n", + "\t\t89400.06752725711 | \n", + "\t\t101.29585436346969 | \n", + "\t\t361.75865663789 | \n", + "\t\t249.02525773609221 | \n", + "\t\t73.94867759539977 | \n", + "\t\t5468.40691810838 | \n", + "\t\t-0.24937134877639008 | \n", + "\t\t-1.150863210615582 | \n", + "\t\t-37.831497680579446 | \n", + "\t\t0 | \n", + "\t
213 | \n", + "\t\t77113.92086390035 | \n", + "\t\t95.5138494285472 | \n", + "\t\t310.05832297655536 | \n", + "\t\t214.8020079774383 | \n", + "\t\t62.3636669442054 | \n", + "\t\t3889.2269547277774 | \n", + "\t\t-0.18709413696807978 | \n", + "\t\t-1.201959178021247 | \n", + "\t\t-31.09975538009448 | \n", + "\t\t0 | \n", + "\t
220 | \n", + "\t\t80431.80679541029 | \n", + "\t\t99.8457585154082 | \n", + "\t\t318.63240984263155 | \n", + "\t\t224.04403007078074 | \n", + "\t\t62.14756504135687 | \n", + "\t\t3862.319840569682 | \n", + "\t\t-0.3778431806772692 | \n", + "\t\t-1.0024887103133715 | \n", + "\t\t-34.43533812140225 | \n", + "\t\t0 | \n", + "\t
246 | \n", + "\t\t75325.58109881892 | \n", + "\t\t87.41145030453134 | \n", + "\t\t328.385988902767 | \n", + "\t\t209.820560163841 | \n", + "\t\t72.69350084131506 | \n", + "\t\t5284.345064566274 | \n", + "\t\t-0.16540605044478487 | \n", + "\t\t-1.3743463677707606 | \n", + "\t\t-34.40794546664989 | \n", + "\t\t0 | \n", + "\t
288 | \n", + "\t\t82600.6500639613 | \n", + "\t\t105.11201031767013 | \n", + "\t\t321.9040522651045 | \n", + "\t\t230.0853762227334 | \n", + "\t\t60.675474581119914 | \n", + "\t\t3681.5132156441286 | \n", + "\t\t-0.2672838739091899 | \n", + "\t\t-1.1058119595257525 | \n", + "\t\t-39.32726399334618 | \n", + "\t\t0 | \n", + "\t
212 | \n", + "\t\t83454.39580858205 | \n", + "\t\t100.12825272685797 | \n", + "\t\t361.5405819021655 | \n", + "\t\t232.4634980740447 | \n", + "\t\t75.20271193179973 | \n", + "\t\t5655.447881897253 | \n", + "\t\t0.024830506918099376 | \n", + "\t\t-1.293111687332468 | \n", + "\t\t-32.1240297553486 | \n", + "\t\t0 | \n", + "\t
82 | \n", + "\t\t94048.76279519273 | \n", + "\t\t114.03951750210967 | \n", + "\t\t366.35161875486074 | \n", + "\t\t261.97426962449225 | \n", + "\t\t68.10084349437736 | \n", + "\t\t4637.72488464568 | \n", + "\t\t-0.4827546065748303 | \n", + "\t\t-0.8556540622845826 | \n", + "\t\t-49.74532255752476 | \n", + "\t\t0 | \n", + "\t
33 | \n", + "\t\t93185.74584100883 | \n", + "\t\t124.65019295111625 | \n", + "\t\t351.7031928317579 | \n", + "\t\t259.5703226769048 | \n", + "\t\t59.354738112601765 | \n", + "\t\t3522.9849364155407 | \n", + "\t\t-0.3229589598739873 | \n", + "\t\t-1.046640890827172 | \n", + "\t\t-40.22434101551627 | \n", + "\t\t1 | \n", + "\t
26 | \n", + "\t\t103807.76297225684 | \n", + "\t\t152.857497527659 | \n", + "\t\t383.578384675018 | \n", + "\t\t289.15811412884915 | \n", + "\t\t57.608322823675024 | \n", + "\t\t3318.7188585567565 | \n", + "\t\t-0.21002500953619418 | \n", + "\t\t-1.3168188493421034 | \n", + "\t\t-42.325211030065475 | \n", + "\t\t1 | \n", + "\t
23 | \n", + "\t\t80968.38566460606 | \n", + "\t\t91.32685504056975 | \n", + "\t\t362.0288544976556 | \n", + "\t\t225.5386787314932 | \n", + "\t\t76.16092244254854 | \n", + "\t\t5800.486107299894 | \n", + "\t\t-0.06229470076093798 | \n", + "\t\t-1.2994883640937822 | \n", + "\t\t-38.24098140508306 | \n", + "\t\t0 | \n", + "\t
Please replace the IDs in the below cell with any 2 WELDING_IDs from the above output dataframe.
" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "id": "6ab9cc59-a9a7-4445-be5d-09665230b782", + "metadata": {}, + "outputs": [ + { + "name": "stdin", + "output_type": "stream", + "text": [ + "ID1: 31\n", + "ID2: 23\n" + ] + } + ], + "source": [ + "ID1=input('ID1:')\n", + "ID2=input('ID2:')" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "id": "ba156ce1-34a1-4a24-a04d-882d0cd1a082", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4d95d72933ad4cdf9900b837a844f5ed", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | min_resistance_diff | \n", + "
---|---|---|---|---|---|---|---|---|
86754.86978245218 | \n", + "\t\t118.8968714267842 | \n", + "\t\t362.48279195869617 | \n", + "\t\t241.65701889262445 | \n", + "\t\t69.87842670568841 | \n", + "\t\t4882.994518862268 | \n", + "\t\t0.08507576069901807 | \n", + "\t\t-1.42337112306267 | \n", + "\t\t-35.30970378099613 | \n", + "\t
Next, we call the explainer using the selected instance and the model object created using the RandomForestClassifier.
" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "id": "1e463fab-ef93-42e7-888a-93d560fec61c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Intercept 0.3255261119033892\n", + "Prediction_local [0.16654005]\n", + "Right: 0.049446324561220036\n" + ] + } + ], + "source": [ + "exp = explainer.explain_instance(df.get_values().flatten(), RF_classifier.modelObj.predict_proba, num_features=9)" + ] + }, + { + "cell_type": "markdown", + "id": "36c413e2-fbea-4c14-9a6d-c57439d02db7", + "metadata": {}, + "source": [ + "We display the results using the show_in_notebook function of the explainer
" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "id": "eace0bf3-be59-47ab-a99f-007c2c2829b6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "This gives a result as shown in the image above. There are three parts to the explanation :
\n", + "\n", + "We will repeat the same steps for 1 more instance
" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "id": "c7900aca-d181-41a0-a114-5a812273d657", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3dddb984c51840a68d35ff77a82aa51a", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "\n", + "sum_RESISTANCE | min_RESISTANCE | max_RESISTANCE | mean_RESISTANCE | std_RESISTANCE | var_RESISTANCE | skew_RESISTANCE | kurtosis_RESISTANCE | min_resistance_diff | \n", + "
---|---|---|---|---|---|---|---|---|
80968.38566460606 | \n", + "\t\t91.32685504056975 | \n", + "\t\t362.0288544976556 | \n", + "\t\t225.5386787314932 | \n", + "\t\t76.16092244254854 | \n", + "\t\t5800.486107299894 | \n", + "\t\t-0.06229470076093798 | \n", + "\t\t-1.2994883640937822 | \n", + "\t\t-38.24098140508306 | \n", + "\t
Next, we call the explainer using the selected instance and the model object created using the RandomForestClassifier.
" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "id": "1ee238a5-3122-44c8-8bc3-286df4f8216f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Intercept 0.3665620653425659\n", + "Prediction_local [0.04139662]\n", + "Right: 0.049446324561220036\n" + ] + } + ], + "source": [ + "exp = explainer.explain_instance(df.get_values().flatten(), RF_classifier.modelObj.predict_proba, num_features=9)" + ] + }, + { + "cell_type": "markdown", + "id": "521cc53a-4afb-498a-84ae-4fe45de60c53", + "metadata": {}, + "source": [ + "We display the results using the show_in_notebook function of the explainer
" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "id": "e7844ab3-87ab-44d6-a1c9-eb43818d5ad7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " " + ], + "text/plain": [ + "Similar to the previous example, the above image shows three graphs that each show essential information about the anomaly.
\n", + "\n", + "The left graph shows the prediction probabilities and the middle and right most show the features and their contribution towards the prediction.
\n", + "Thus, with the explainer functions we try to get explainations using the different feature values on why the weldings have anomaly or do not have anomaly.
" + ] + }, + { + "cell_type": "markdown", + "id": "29e90d19-1b71-44e8-b6d5-aa53e3b673c1", + "metadata": {}, + "source": [ + "10. Cleanup
\n", + "Work Tables
" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "id": "48a959e6-319f-4592-93af-482d391224b4", + "metadata": {}, + "outputs": [], + "source": [ + "tables = ['ADS_train_data', 'ADS_test_data','DF_train', 'DF_Predict', 'DF_Predict_test','additional_metrics_test']\n", + "\n", + "# Loop through the list of tables and execute the drop table command for each table\n", + "for table in tables:\n", + " try:\n", + " db_drop_table(table_name=table)\n", + " except:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "id": "c233387e-cff1-4e6e-81a7-2e3b3221b957", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "User environment 'osml_env' removed.\n" + ] + }, + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "remove_env(\"osml_env\")" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "id": "bbf8f9bc-9f3a-47e9-b2d4-81fd00291bc8", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No user environment(s) found.\n" + ] + }, + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "remove_context()" + ] + }, + { + "cell_type": "markdown", + "id": "c5cea44c-e3e0-4634-bfa9-efa65c42ac44", + "metadata": {}, + "source": [ + "If you have updated the teradataml package, reinstall the package by uncommenting and running the below code cell.
" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "id": "93311aa2-79b1-44bd-926d-5c5bc23a1999", + "metadata": {}, + "outputs": [], + "source": [ + "%%capture\n", + "# !pip install teradataml==17.20.0.6 --force-reinstall\n", + "!pip install scikit-learn==1.0.2 --force-reinstall\n", + "!pip install numpy==1.24.2 --force-reinstall" + ] + }, + { + "cell_type": "markdown", + "id": "d51fd98f-b9b2-48b9-b639-16cc51f9116f", + "metadata": {}, + "source": [ + "11. Exploring the Versatility of this Analytical Approach in Alternative Use Case Settings
\n", + "How this analytic approach can be levaraged in other use case settings
\n", + "\n", + "The analytical approach of leveraging clustering followed by classification for anomaly detection in short time series data is highly adaptable and can be broadly applied across various industries, especially in settings where operations or processes are characterized by short, continuous time series with a defined start and end and where ground truth labels are not initially available.
\n", + "This method begins with unsupervised learning to explore and understand the data, identifying patterns, similarities, and potential outliers through techniques like Dynamic Time Warping (DTW). Such exploration is crucial in settings where anomalies are not predefined or where the data’s inherent complexity requires initial unsupervised insight to develop an understanding of what constitutes normal behavior versus an anomaly. Following the clustering phase, supervised classification models are trained on the newly identified labels to predict anomalies. This generic approach is particularly effective for short time series data, where each sequence represents a process or event whose normal operational parameters need to be defined through exploratory analysis before precise anomaly detection can occur.
\n", + "Potential Use Cases Across Industries:
\n", + "- Power Grid Load Monitoring:
Analyzing short time series of electricity load during peak usage times to identify anomalies that could indicate equipment failure, energy theft, or inefficiencies in power distribution. Each series could represent the load profile for a brief, high-demand period.- ECG or EEG Analysis:
Short segments of electrocardiogram (ECG) or electroencephalogram (EEG) readings can be analyzed to detect anomalies indicating cardiac arrhythmias or neurological issues, respectively. Each segment represents a complete heartbeat or a brief brain activity pattern.- CNC Machine Operations:
Monitoring the torque and force profiles of a CNC (Computer Numerical Control) machine during a single machining operation. Anomalies could indicate tool wear, material inconsistency, or operational errors.- Aircraft Engine Test Runs:
Analyzing the time series data of engine parameters (e.g., temperature, pressure, vibration) during short test runs to identify deviations from normal operational profiles, suggesting maintenance or safety issues.- Theme Park Ride Operations:
Analyzing sensor data from individual rides, where each ride cycle produces a time series of mechanical or operational parameters. Anomalies in these series could indicate safety concerns or maintenance needs.Conclusion
\n", + "In each of these scenarios, the focus is on analyzing the shape or behavior of a curve within a short time frame, similar to observing a spot welding curve. These curves are shaped by the specific activity taking place, whether it’s a machine at work, a health test running, financial trades happening, or people interacting with a service. The method begins by sorting these curves into groups based on their patterns, without needing to know ahead of time which ones are out of the ordinary. Then, it moves on to use a more detailed approach to pinpoint which curves don’t fit the expected pattern, labeling them as either normal or not normal. This way of doing things is great for quickly finding and addressing issues, and it also helps in getting a better grasp of how these processes work. This can lead to making things run more smoothly and keeping equipment in good shape before problems even start.
" + ] + }, + { + "cell_type": "markdown", + "id": "91bd8857-19e0-4200-b3ae-b2efdbca73d3", + "metadata": {}, + "source": [ + "Let’s look at the elements we have available for reference for this notebook:
\n", + "Filters: \n", + "\n",
+ " Telco Churn using Enterprise Feature Store in Vantage\n",
+ "
\n",
+ " \n",
+ "
Introduction
\n", + "\n", + "\n", + "Customer churn is a concern for all companies, but the complexity makes it difficult to track. Customers may leave due to various reasons such dissatisfaction with service quality, pricing, customer service, or finding better alternatives from competitors. Although some churn may be expected, companies aim to retain their customers to avoid using additional resources to find new customers. Thus, with the help of Teradata Vantage, companies can attain their goal of identifying the factors contributing to the churn, so they can take appropriate measures to retain customers. Vantage’s capabilities allow companies to analyze large amounts of customer data, such as usage patterns, billing information, demographics, and interactions, to find patterns that may indicate customers who are at risk of churning. Plus, Teradata’s machine learning and predictive analytics can be used to build models to predict customers which are likely to churn in the future. This information will give companies the chance to intervene, including sending targeted marketing campaigns, personalized offers, improved customer service, or addressing customer concern.
\n", + "\n", + "Successful AI/ML implementations face three main challenges:
\n", + "Addressing these challenges requires strategic planning, skilled talent, and integration with existing systems. Oraganizations with a history in Data Management recognize the benefits of reusable Data Products, making Enterprise Feature Stores a valuable investment.
\n", + "\n", + "A Feature Store is a curated repository of pre-calculated features, simplifying the journey from data to actionable insights. An Enterprise Feature Store extends across domains/teams, incorporating a Governance Framework for predictable feature delivery.
\n", + " \n", + "While most features are reusable, some need model-specific calculations before integration into a unified dataset.
\n", + " \n", + "The key difference between Feature Store (FS) and Enterprise Feature Store (EFS) is the scope across multiple domains/teams along with the Governance Framework (that gives an assurance that features are delivered under predictable SLAs and it also defines the operating model how the EFS is used across different teams/domains and how features lifecycle is managed). Although most Features are considered as re-usable, there is still some minor part of Features that must be calculated as model-specific (e.g., scaled variables, principal components, etc.) and then combined with the rest of the pre-calculated Features into a single data set (ADS). The figure below describes this co-existence of model-specific ADS(es) and model-independent EFS.
\n", + "\n", + "Business Values
\n", + "\n", + "Why Vantage?
\n", + "There are several reasons why EFS naturally fits to Teradata Vantage:
\n", + "The unique massively-parallel architecture of Teradata Vantage allows users to prepare data, train, evaluate, and deploy models at unprecedented scale.
\n", + "\n", + "\n", + "Methodology
\n", + "In this demo we have used a methodology which involves analyzing a time series of data, where each data point represents the outstanding amount at the end of each month. To detect anomalies, we use the following steps:
\n", + "\n", + "Z = (X - μ) / σ
where X is the value in question, μ is the mean, and σ is the standard deviation.
\n", + "\n", + "It's important to note that the computation of the Z-score and the anomaly flag is dependent on the values of the mean and standard deviation. These dependent features are not computed at the same time as the static features but are derived later, once the latest outstanding amount (the new data point) becomes available.
\n", + "\n", + "Feature Engineering
\n", + "Feature engineering is a crucial step in the entity-feature paradigm, as it involves creating and transforming features to better represent the underlying problem for predictive modeling. In our case, the feature engineering process is twofold, each with its specific inputs and outputs. Below are the processes that are a part of this feature engineering
\n", + "\n", + "1. Configure the environment
\n", + "\n",
+ "Before we start working with our data, we need to set up our environment. This involves importing the necessary packages and establishing a connection to Vantage.\n",
+ "
\n",
+ "Here's how we can do this:
Note: Please execute the above pip install to get the latest version of the required library. Be sure to restart the kernel after executing those lines to bring the installed libraries into memory. The simplest way to restart the Kernel is by typing zero zero: 0 0
\n", + "2. Connect to VantageCloud Lake
\n", + "Connect to VantageCloud using create_context
from the teradataml Python library. If this environment has been prepared for connecting to a VantageCloud Lake OAF Container, all the details required will be loaded and you will see an acknowledgement after executing this cell.
Setup a Feature Store
" + ] + }, + { + "cell_type": "markdown", + "id": "0776e2ee-bdb8-4927-9d14-5cff5583b6ee", + "metadata": {}, + "source": [ + "We can now set-up the feature store using the FeatureStore.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3e72cc2f-2e36-47cd-a2da-19da50f892d2", + "metadata": {}, + "outputs": [], + "source": [ + "username=env_vars.get(\"username\")\n", + "fs = FeatureStore(repo=username)\n", + "fs.setup()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4d7f40c3-8efe-4042-9ede-a767681f0fcf", + "metadata": {}, + "outputs": [], + "source": [ + "# List whether FeatureStore is setup or not.\n", + "fs.list_repos()" + ] + }, + { + "cell_type": "markdown", + "id": "e80e18e4-d009-4d88-8340-72636ca8f0dd", + "metadata": {}, + "source": [ + "3.Load the data
\n", + "\n", + "We have provided data for this demo in the lake environment. The data is available in the database \"DEMO_Telco\". Your user should have read access to the database. In case of any issues please write a mail to the support group (\"SC230208@teradata.com\").
\n", + " \n", + "**Note: The tables are available in DEMO_Telco_DB database and we have created views in DEMO_Telco database which are used in the cells below
" + ] + }, + { + "cell_type": "markdown", + "id": "d8540286-8309-47c6-9aff-fe153700ee9d", + "metadata": {}, + "source": [ + "4. Feature Engineering
" + ] + }, + { + "cell_type": "markdown", + "id": "c4992424-3837-4a9f-b532-2e8d188d8c02", + "metadata": {}, + "source": [ + "The code creates a DataFrame named df
using the DataFrame function. The in_schema
function specifies the schema, which in this case is \"DEMO_Telco\", and the table name \"Customer_Churn\". Let us now start with feature engineering.
This code performs the following operations:
\n", + "df.assign()
function is used to create new columns or modify existing ones in the DataFrame df
.case
function to convert \"Yes\" to 1 and \"No\" to 0. If the value is neither \"Yes\" nor \"No\", it defaults to 0.df
statement displays the modified DataFrame.Let's store the transformed data to table.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "df39f7d9-37b5-445f-bb29-4f4883c0d021", + "metadata": {}, + "outputs": [], + "source": [ + "copy_to_sql(\n", + " df=df,\n", + " table_name='transformed_data',\n", + " if_exists='replace'\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "3cf33828-2e9e-42e5-883b-469cb47dd515", + "metadata": {}, + "source": [ + "5. Save feature and feature processing to Feature Store
" + ] + }, + { + "cell_type": "markdown", + "id": "2ec83605-4d29-47d5-93c3-7c05791d1782", + "metadata": {}, + "source": [ + "Now we will proceed to save the features as well as the feature processing logic in feature store.
\n", + "This will allow us to re-use the features and processing later-on, avoiding to re-write the processing logic.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "19557186-c5be-4be6-a452-1ff6869865e3", + "metadata": {}, + "outputs": [], + "source": [ + "df = DataFrame('transformed_data')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "edbe4e7e-0b44-4624-9657-da2f5b7aff02", + "metadata": {}, + "outputs": [], + "source": [ + "# Create FeatureGroup for this DataFrame.\n", + "fg = FeatureGroup.from_DataFrame(name='telcom', df=df, entity_columns='CustomerID')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0565b334-f84e-4843-92b2-7e784494ac07", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's look at Features\n", + "fg.features" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9cb9c82f-8e99-4cca-bd7a-5d77c7764bd9", + "metadata": {}, + "outputs": [], + "source": [ + "# Let's look at Entity.\n", + "fg.entity.columns" + ] + }, + { + "cell_type": "markdown", + "id": "191c113e-08af-4eca-bf7c-fcab24be71ec", + "metadata": {}, + "source": [ + "Here we will saving the features and processing with additional metadata such as project names as churn
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8c5c15a2-ddca-4af5-919b-bc7cfd5fd11e", + "metadata": {}, + "outputs": [], + "source": [ + "# upload the features in the physical feature store\n", + "fs.apply(fg)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "37931c07-6843-4835-9b33-edd8b8fbc131", + "metadata": {}, + "outputs": [], + "source": [ + "fs.list_features()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e3a60da1-b8ea-4461-a953-2da276a11d8f", + "metadata": {}, + "outputs": [], + "source": [ + "fs.list_feature_groups()" + ] + }, + { + "cell_type": "markdown", + "id": "beda7104-0cc0-48f9-b98f-ad573be558ea", + "metadata": {}, + "source": [ + "6. Re-using features for machine learning
" + ] + }, + { + "cell_type": "markdown", + "id": "57de3efb-2956-4a2a-9fc9-9c9ddd7bc155", + "metadata": {}, + "source": [ + "Now that our features have been stores in feature store, let us re-use them to train a machine learning model
\n", + "We now need to just specify the feature name, we do not need to specify the processing logic
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dce440d3-7c72-4400-82b0-2ff09e8fc914", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "df = fs.get_dataset('telcom')\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "fcaca5d6-2e5a-400f-a653-cbf70c1564c8", + "metadata": {}, + "source": [ + "We have our training dataset which is created, with all the feature engineering
\n", + "We can see from that the column Multiple lines has only two values yes and no. The same features can also be re-used accross multiple use-cases and models without any data preperation
" + ] + }, + { + "cell_type": "markdown", + "id": "46f6bf8f-b9e1-441a-b089-c1ceebdbc059", + "metadata": {}, + "source": [ + "We split the dataset in to training and testing dataset with 80:20 split ratio.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a5f3a51-60a2-4b80-8f82-a77d8adcc322", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Performing sampling to get 80% for trainning and 20% for testing\n", + "tdf_sample = df.sample(frac = [0.8, 0.2])\n", + "\n", + "# Fetching train and test data\n", + "tdf_train= tdf_sample[tdf_sample['sampleid'] == 1].drop('sampleid', axis=1)\n", + "tdf_test = tdf_sample[tdf_sample['sampleid'] == 2].drop('sampleid', axis=1)" + ] + }, + { + "cell_type": "markdown", + "id": "c86ae3c5-c44c-4c1d-bf08-c8e8d3d83d58", + "metadata": {}, + "source": [ + "AutoML (Automated Machine Learning) is an approach that automates the process of building, training, and validating machine learning models. It involves various algorithms to automate various aspects of the machine learning workflow, such as data preparation, feature engineering, model selection, hyperparameter tuning, and model deployment. It aims to simplify the process of building machine learning models, by automating some of the more time-consuming and labor-intensive tasks involved in the process.
\n", + "\n", + "We create a AutoClassifier
instance which is a special purpose AutoML feature to run classification specific tasks. We use the exclude
parameter to specify model algorithms to be excluded from model training phase. Here we exclude the 'knn' model. The max_runtime_secs
specifies the time limit in seconds for model training.\n",
+ "
\n",
+ "verbose
: specifies the detailed execution steps based on verbose level as follows:\n",
+ "
AutoML (Automated Machine Learning) is an approach that automates the process of building, training, and validating machine learning models. It involves various algorithms to automate various aspects of the machine learning workflow, such as data preparation, feature engineering, model selection, hyperparameter tuning, and model deployment. It aims to simplify the process of building machine learning models, by automating some of the more time-consuming and labor-intensive tasks involved in the process.
\n", + "\n", + "We create a AutoClassifier
instance which is a special purpose AutoML feature to run classification specific tasks. We use the exclude
parameter to specify model algorithms to be excluded from model training phase. Here we exclude the 'knn' model. The max_runtime_secs
specifies the time limit in seconds for model training.\n",
+ "
\n",
+ "verbose
: specifies the detailed execution steps based on verbose level as follows:\n",
+ "
Note: Since the AutoML functionality does a lot of steps like Feature exploration and Data Preparation along with Model Training and Evaluating to select the Best model the below step may take anywhere between 12-15 minutes
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "378743d2-daae-4a91-af06-fbd566072902", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Fitting train data \n", + "aml.fit(data = tdf_train, target_column = 'Churn')" + ] + }, + { + "cell_type": "markdown", + "id": "3ea7b521-d7c1-4994-b380-b0308c85743d", + "metadata": {}, + "source": [ + "Here, we generate model leaderboard and leader for a given dataset. Leaderboard is a ranked table with a list of models with all their evaluation metrics.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "22d69751-fe5e-46dd-9c24-3322a5bd1487", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Fetching leaderboard\n", + "\n", + "aml.leaderboard()" + ] + }, + { + "cell_type": "markdown", + "id": "7a330d76-3671-42f0-a2e3-e0b7f2138048", + "metadata": {}, + "source": [ + "The following function displays the best performing model.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2054141f-3c2e-47be-b9db-aef8b4c3424d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Fetching best performing model\n", + "aml.leader()" + ] + }, + { + "cell_type": "markdown", + "id": "55a1096f-7c8b-4e2f-b028-aa7f89c22f15", + "metadata": {}, + "source": [ + "The predict function generates predictions using either the default test data or any specified dataset, based on the model's rank in the leaderboard, and displays the performance metrics of the chosen model. If the test data contains a target column, both predictions and performance metrics are displayed; otherwise, only the predictions are shown.\n",
+ "
\n",
+ "You can also use the rank
parameter in the predict function. The rank
parameter specifies the model's rank in the leaderboard to be used for prediction. By default, the rank is set to 1, meaning the best-performing model is used.
Here, we specify the tdf_test
dataset for prediction. When using external data instead of the default test data, the predict function applies all the data transformation steps performed during the training phase on the external data before passing the data to the model for prediction.
We used feature store to store features as well as its processing. We re-used it in model training. The features and processing can be re-used accross multiple machine leanring models and use-case , helping to improve data science productivity
\n", + "\n", + "Teradata's AutoML functionality plays a crucial role in this context by automating the complex process of building and deploying machine learning models. AutoML ensures the most optimal preparation and training of models, delivering high-quality machine learning models in minutes. Through hyperparameter tuning (HPT), Teradata's AutoML can automatically select the best parameters for machine learning algorithms using grid search and random search techniques, significantly enhancing model performance.\n",
+ "
\n",
+ "By leveraging Teradata's AutoML, companies can save time and reduce costs associated with manual model building and tuning. The technology not only improves the accuracy of predictive models but also democratizes the power of machine learning, allowing customers to utilize advanced analytics without requiring extensive coding or data science expertise. This capability enables companies to swiftly and effectively analyze customer churn data, develop predictive models, and implement proactive strategies to retain customers and enhance their satisfaction.\n",
+ "
\n",
+ "In conclusion, Teradata's AutoML functionality is a vital tool for banks aiming to reduce customer churn. By automating and optimizing the machine learning process, Teradata empowers various industries to make data-driven decisions that improve customer retention and drive long-term profitability.
Work Tables
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ff3fb9b-4d13-4628-988d-f82463d96537", + "metadata": {}, + "outputs": [], + "source": [ + "tables = ['transformed_data']\n", + "\n", + "# Loop through the list of tables and execute the drop table command for each table\n", + "for table in tables:\n", + " try:\n", + " db_drop_table(table_name=table)\n", + " except:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21fac6bb-3e3a-488c-848b-41473d6156e7", + "metadata": {}, + "outputs": [], + "source": [ + "remove_context()" + ] + }, + { + "cell_type": "markdown", + "id": "72bfa61c-3daa-4d47-b0d7-0a69ef13dc1a", + "metadata": {}, + "source": [ + "Let’s look at the elements we have available for reference for this notebook:
" + ] + }, + { + "cell_type": "markdown", + "id": "fc4938d2-5ce6-412e-a665-5d62a3b1a1b5", + "metadata": {}, + "source": [ + "Filters:
\n", + "Related Resources:
\n", + "Reference Links:
\n", + "\n",
+ " Telco Churn using Feature Store in Vantage\n",
+ "
\n",
+ " \n",
+ "
Introduction
\n", + "\n", + "\n", + "Customer churn is a concern for all companies, but the complexity makes it difficult to track. Customers may leave due to various reasons such dissatisfaction with service quality, pricing, customer service, or finding better alternatives from competitors. Although some churn may be expected, companies aim to retain their customers to avoid using additional resources to find new customers. Thus, with the help of Teradata Vantage, companies can attain their goal of identifying the factors contributing to the churn, so they can take appropriate measures to retain customers. Vantage’s capabilities allow companies to analyze large amounts of customer data, such as usage patterns, billing information, demographics, and interactions, to find patterns that may indicate customers who are at risk of churning. Plus, Teradata’s machine learning and predictive analytics can be used to build models to predict customers which are likely to churn in the future. This information will give companies the chance to intervene, including sending targeted marketing campaigns, personalized offers, improved customer service, or addressing customer concern.
\n", + "\n", + "Successful AI/ML implementations face three main challenges:
\n", + "Addressing these challenges requires strategic planning, skilled talent, and integration with existing systems. Oraganizations with a history in Data Management recognize the benefits of reusable Data Products, making Enterprise Feature Stores a valuable investment.
\n", + "\n", + "A Feature Store is a curated repository of pre-calculated features, simplifying the journey from data to actionable insights. An Enterprise Feature Store extends across domains/teams, incorporating a Governance Framework for predictable feature delivery.
\n", + " \n", + "While most features are reusable, some need model-specific calculations before integration into a unified dataset.
\n", + " \n", + "The key difference between Feature Store (FS) and Enterprise Feature Store (EFS) is the scope across multiple domains/teams along with the Governance Framework (that gives an assurance that features are delivered under predictable SLAs and it also defines the operating model how the EFS is used across different teams/domains and how features lifecycle is managed). Although most Features are considered as re-usable, there is still some minor part of Features that must be calculated as model-specific (e.g., scaled variables, principal components, etc.) and then combined with the rest of the pre-calculated Features into a single data set (ADS). The figure below describes this co-existence of model-specific ADS(es) and model-independent EFS.
\n", + "\n", + "Business Values
\n", + "\n", + "Why Vantage?
\n", + "There are several reasons why EFS naturally fits to Teradata Vantage:
\n", + "The unique massively-parallel architecture of Teradata Vantage allows users to prepare data, train, evaluate, and deploy models at unprecedented scale.
\n", + "\n", + "\n", + "Methodology
\n", + "In this demo we have used a methodology which involves analyzing a time series of data, where each data point represents the outstanding amount at the end of each month. To detect anomalies, we use the following steps:
\n", + "\n", + "Z = (X - μ) / σ
where X is the value in question, μ is the mean, and σ is the standard deviation.
\n", + "\n", + "It's important to note that the computation of the Z-score and the anomaly flag is dependent on the values of the mean and standard deviation. These dependent features are not computed at the same time as the static features but are derived later, once the latest outstanding amount (the new data point) becomes available.
\n", + "\n", + "Feature Engineering
\n", + "Feature engineering is a crucial step in the entity-feature paradigm, as it involves creating and transforming features to better represent the underlying problem for predictive modeling. In our case, the feature engineering process is twofold, each with its specific inputs and outputs. Below are the processes that are a part of this feature engineering
\n", + "\n", + "1. Configure the environment
\n", + "\n",
+ "Before we start working with our data, we need to set up our environment. This involves importing the necessary packages and establishing a connection to Vantage.\n",
+ "
\n",
+ "Here's how we can do this:
Note: Please execute the above pip install to get the latest version of the required library. Be sure to restart the kernel after executing those lines to bring the installed libraries into memory. The simplest way to restart the Kernel is by typing zero zero: 0 0
\n", + "2. Connect to VantageCloud Lake
\n", + "Connect to VantageCloud using create_context
from the teradataml Python library. If this environment has been prepared for connecting to a VantageCloud Lake OAF Container, all the details required will be loaded and you will see an acknowledgement after executing this cell.
Setup a Feature Store
" + ] + }, + { + "cell_type": "markdown", + "id": "0776e2ee-bdb8-4927-9d14-5cff5583b6ee", + "metadata": {}, + "source": [ + "We can now set-up the feature store using the tdfs4dslibrary.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3e72cc2f-2e36-47cd-a2da-19da50f892d2", + "metadata": {}, + "outputs": [], + "source": [ + "username=env_vars.get(\"username\")\n", + "tdfs4ds.setup(database=username)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4d7f40c3-8efe-4042-9ede-a767681f0fcf", + "metadata": {}, + "outputs": [], + "source": [ + "tdfs4ds.connect(database=username)" + ] + }, + { + "cell_type": "markdown", + "id": "e80e18e4-d009-4d88-8340-72636ca8f0dd", + "metadata": {}, + "source": [ + "3.Load the data
\n", + "\n", + "We have provided data for this demo in the lake environment. The data is available in the database \"DEMO_Telco\". Your user should have read access to the database. In case of any issues please write a mail to the support group (\"SC230208@teradata.com\").
\n", + " \n", + "**Note: The tables are available in DEMO_Telco_DB database and we have created views in DEMO_Telco database which are used in the cells below
" + ] + }, + { + "cell_type": "markdown", + "id": "d8540286-8309-47c6-9aff-fe153700ee9d", + "metadata": {}, + "source": [ + "4. Feature Engineering
" + ] + }, + { + "cell_type": "markdown", + "id": "c4992424-3837-4a9f-b532-2e8d188d8c02", + "metadata": {}, + "source": [ + "Let us now start with feature engineering. We will replace multiple values which indicate absence of a service by No
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "271b6d33-7792-442d-8c46-7e4d659e5920", + "metadata": {}, + "outputs": [], + "source": [ + "df = DataFrame(in_schema(\"DEMO_Telco\", \"Customer_Churn\"))\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a4cb4956-2260-4c65-a6fa-b91ec4048cc2", + "metadata": {}, + "outputs": [], + "source": [ + "df = df.assign(\n", + " oreplace_MultipleLines = func.oreplace(\n", + " df.MultipleLines.expression,\"No phone service\",\"No\"\n", + " ),\n", + " oreplace_OnlineSecurity = func.oreplace(\n", + " df.OnlineSecurity.expression, \"No internet service\",\"No\"\n", + " ),\n", + " oreplace_OnlineBackup = func.oreplace(\n", + " df.OnlineBackup.expression, \"No internet service\",\"No\"\n", + " ),\n", + " oreplace_DeviceProtection = func.oreplace(\n", + " df.DeviceProtection.expression, \"No internet service\",\"No\"\n", + " ), \n", + " oreplace_TechSupport = func.oreplace(\n", + " df.TechSupport.expression, \"No internet service\",\"No\"\n", + " ),\n", + " oreplace_StreamingTV = func.oreplace(\n", + " df.StreamingTV.expression, \"No internet service\",\"No\"\n", + " ),\n", + " oreplace_StreamingMovies = func.oreplace(\n", + " df.StreamingMovies.expression, \"No internet service\",\"No\"\n", + " )\n", + ")\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "b702973d-8a23-4070-94cc-b031013a11e1", + "metadata": {}, + "source": [ + "We will also convert Churn column value from Yes / No to 1 or 0
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e491f404-c614-4c13-a2f0-31daa7305750", + "metadata": {}, + "outputs": [], + "source": [ + "df = df.assign(\n", + " drop_columns = True,\n", + " CustomerID = df.CustomerID,\n", + " Gender = df.Gender,\n", + " SeniorCitizen = df.SeniorCitizen,\n", + " Partner = df.Partner,\n", + " Dependents = df.Dependents,\n", + " Tenure = df.Tenure,\n", + " PhoneService = df.PhoneService,\n", + " MultipleLines = df.oreplace_MultipleLines,\n", + " InternetService = df.InternetService,\n", + " OnlineSecurity = df.oreplace_OnlineSecurity,\n", + " OnlineBackup = df.oreplace_OnlineBackup,\n", + " DeviceProtection = df.oreplace_DeviceProtection,\n", + " TechSupport = df.oreplace_TechSupport,\n", + " StreamingTV = df.oreplace_StreamingTV,\n", + " StreamingMovies = df.oreplace_StreamingMovies,\n", + " Contract = df.Contract,\n", + " PaperlessBilling = df.PaperlessBilling,\n", + " PaymentMethod = df.PaymentMethod,\n", + " MonthlyCharges = df.MonthlyCharges,\n", + " TotalCharges = df.TotalCharges,\n", + " Churn = case({ \"Yes\" : 1, \"No\" : 0},value=df.Churn,else_=0)\n", + ") \n", + "\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "3cf33828-2e9e-42e5-883b-469cb47dd515", + "metadata": {}, + "source": [ + "5. Save feature and feature processing to Feature Store
" + ] + }, + { + "cell_type": "markdown", + "id": "2ec83605-4d29-47d5-93c3-7c05791d1782", + "metadata": {}, + "source": [ + "Now we will proceed to save the features as well as the feature processing logic in feature store.
\n", + "This will allow us to re-use the features and processing later-on, avoiding to re-write the processing logic.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "edbe4e7e-0b44-4624-9657-da2f5b7aff02", + "metadata": {}, + "outputs": [], + "source": [ + "tdfs4ds.DATA_DOMAIN='efs_telco'\n", + "tdfs4ds.VARCHAR_SIZE=50" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7ed9af79-d838-4ac3-8d67-3bb80f380bb9", + "metadata": {}, + "outputs": [], + "source": [ + "df = crystallize_view(df, view_name = 'PROC_FEATURE_ENGINEERING', schema_name = username,output_view=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "68668b95-3b30-4f34-99e0-a19e37a52aec", + "metadata": {}, + "outputs": [], + "source": [ + "df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f61ac745-3c56-43c0-8e24-b32ed6c24246", + "metadata": {}, + "outputs": [], + "source": [ + "# define the set of columns defining the entity id\n", + "entity_id = ['CustomerID']\n", + "# list the columns dealing with the features\n", + "features = df.columns[1::]\n", + "features" + ] + }, + { + "cell_type": "markdown", + "id": "cc8da6b1-fa36-44f8-ab70-bc0aa0329897", + "metadata": {}, + "source": [ + "We will create a Data Domain for the feature store
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9665f2d9-4968-4ac6-b880-fc3f6fa46b12", + "metadata": {}, + "outputs": [], + "source": [ + "tdfs4ds.DATA_DOMAIN" + ] + }, + { + "cell_type": "markdown", + "id": "191c113e-08af-4eca-bf7c-fcab24be71ec", + "metadata": {}, + "source": [ + "Here we will saving the features and processing with additional metadata such as project names as churn
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8c5c15a2-ddca-4af5-919b-bc7cfd5fd11e", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# upload the features in the physical feature store\n", + "tdfs4ds.upload_features(\n", + " df,\n", + " entity_id = entity_id,\n", + " feature_names = features,\n", + " metadata = {'project': 'churn'}\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "81390658-0330-423d-87b4-001311a51289", + "metadata": {}, + "source": [ + "We can now use the feature catalog command to visualize all features which have been saved in the feature store
\n", + "All features are time dependent, as seen by the column validity start and end
\n", + "This means you can change the processing logic, but still keep the history of the features
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "37931c07-6843-4835-9b33-edd8b8fbc131", + "metadata": {}, + "outputs": [], + "source": [ + "tdfs4ds.feature_catalog()" + ] + }, + { + "cell_type": "markdown", + "id": "beda7104-0cc0-48f9-b98f-ad573be558ea", + "metadata": {}, + "source": [ + "6. Re-using features for machine learning
" + ] + }, + { + "cell_type": "markdown", + "id": "57de3efb-2956-4a2a-9fc9-9c9ddd7bc155", + "metadata": {}, + "source": [ + "Now that our features have been stores in feature store, let us re-use them to train a machine learning model
\n", + "We now need to just specify the feature name, we do not need to specify the processing logic
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dce440d3-7c72-4400-82b0-2ff09e8fc914", + "metadata": {}, + "outputs": [], + "source": [ + "tdfs4ds.connect(database=username)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "537bc561-8519-41d3-88f9-37ebfa215836", + "metadata": {}, + "outputs": [], + "source": [ + "entity_id = ['CustomerID']\n", + "features = ['Gender',\n", + " 'SeniorCitizen',\n", + " 'Partner',\n", + " 'Dependents',\n", + " 'Tenure',\n", + " 'PhoneService',\n", + " 'MultipleLines',\n", + " 'InternetService',\n", + " 'OnlineSecurity',\n", + " 'OnlineBackup',\n", + " 'DeviceProtection',\n", + " 'TechSupport',\n", + " 'StreamingTV',\n", + " 'StreamingMovies',\n", + " 'Contract',\n", + " 'PaperlessBilling',\n", + " 'PaymentMethod',\n", + " 'MonthlyCharges',\n", + " 'TotalCharges',\n", + " 'Churn']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8a64b16-9913-4b10-a3f7-1f1be67fef8d", + "metadata": {}, + "outputs": [], + "source": [ + "selected_features = get_feature_versions(entity_name=entity_id,features=features)\n", + "selected_features" + ] + }, + { + "cell_type": "markdown", + "id": "f5dd9918-f5d1-4cf3-9f4e-cbf1241ff47f", + "metadata": {}, + "source": [ + "We can now build our training dataset by specifying the build_dataset command
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b8d3d05c-2d1d-4307-bce3-b879a8624f38", + "metadata": {}, + "outputs": [], + "source": [ + "df = tdfs4ds.build_dataset(\n", + " entity_id = entity_id,\n", + " selected_features = selected_features,\n", + " view_name = 'mydataset',\n", + " schema_name = username,\n", + " comment = 'dataset for churn prediction'\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "fcaca5d6-2e5a-400f-a653-cbf70c1564c8", + "metadata": {}, + "source": [ + "We have our training dataset which is created, with all the feature engineering
\n", + "We can see from that the column Multiple lines has only two values yes and no. The same features can also be re-used accross multiple use-cases and models without any data preperation
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cb1ff7df-5216-4c26-95ff-641e16d9ba9c", + "metadata": { + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "df = DataFrame(in_schema(username , 'mydataset'))\n", + "copy_to_sql(df, table_name='fs_dataset', if_exists ='replace')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "73057d11-c8b9-4ce5-9cc3-1f7375d0f3f7", + "metadata": {}, + "outputs": [], + "source": [ + "df = DataFrame('fs_dataset')\n", + "df" + ] + }, + { + "cell_type": "markdown", + "id": "46f6bf8f-b9e1-441a-b089-c1ceebdbc059", + "metadata": {}, + "source": [ + "We split the dataset in to training and testing dataset with 80:20 split ratio.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a5f3a51-60a2-4b80-8f82-a77d8adcc322", + "metadata": {}, + "outputs": [], + "source": [ + "# Performing sampling to get 80% for trainning and 20% for testing\n", + "tdf_sample = df.sample(frac = [0.8, 0.2])\n", + "\n", + "# Fetching train and test data\n", + "tdf_train= tdf_sample[tdf_sample['sampleid'] == 1].drop('sampleid', axis=1)\n", + "tdf_test = tdf_sample[tdf_sample['sampleid'] == 2].drop('sampleid', axis=1)" + ] + }, + { + "cell_type": "markdown", + "id": "c86ae3c5-c44c-4c1d-bf08-c8e8d3d83d58", + "metadata": {}, + "source": [ + "AutoML (Automated Machine Learning) is an approach that automates the process of building, training, and validating machine learning models. It involves various algorithms to automate various aspects of the machine learning workflow, such as data preparation, feature engineering, model selection, hyperparameter tuning, and model deployment. It aims to simplify the process of building machine learning models, by automating some of the more time-consuming and labor-intensive tasks involved in the process.
\n", + "\n", + "We create a AutoClassifier
instance which is a special purpose AutoML feature to run classification specific tasks. We use the exclude
parameter to specify model algorithms to be excluded from model training phase. Here we exclude the 'knn' model. The max_runtime_secs
specifies the time limit in seconds for model training.\n",
+ "
\n",
+ "verbose
: specifies the detailed execution steps based on verbose level as follows:\n",
+ "
Note: Since the AutoML functionality does a lot of steps like Feature exploration and Data Preparation along with Model Training and Evaluating to select the Best model the below step may take anywhere between 12-15 minutes
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "378743d2-daae-4a91-af06-fbd566072902", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Fitting train data \n", + "aml.fit(data = tdf_train,target_column = 'Churn')" + ] + }, + { + "cell_type": "markdown", + "id": "3ea7b521-d7c1-4994-b380-b0308c85743d", + "metadata": {}, + "source": [ + "Here, we generate model leaderboard and leader for a given dataset. Leaderboard is a ranked table with a list of models with all their evaluation metrics.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "22d69751-fe5e-46dd-9c24-3322a5bd1487", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Fetching leaderboard\n", + "\n", + "aml.leaderboard()" + ] + }, + { + "cell_type": "markdown", + "id": "7a330d76-3671-42f0-a2e3-e0b7f2138048", + "metadata": {}, + "source": [ + "The following function displays the best performing model.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2054141f-3c2e-47be-b9db-aef8b4c3424d", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Fetching best performing model\n", + "aml.leader()" + ] + }, + { + "cell_type": "markdown", + "id": "55a1096f-7c8b-4e2f-b028-aa7f89c22f15", + "metadata": {}, + "source": [ + "The predict function generates predictions using either the default test data or any specified dataset, based on the model's rank in the leaderboard, and displays the performance metrics of the chosen model. If the test data contains a target column, both predictions and performance metrics are displayed; otherwise, only the predictions are shown.\n",
+ "
\n",
+ "You can also use the rank
parameter in the predict function. The rank
parameter specifies the model's rank in the leaderboard to be used for prediction. By default, the rank is set to 1, meaning the best-performing model is used.
Here, we specify the tdf_test
dataset for prediction. When using external data instead of the default test data, the predict function applies all the data transformation steps performed during the training phase on the external data before passing the data to the model for prediction.
We used feature store to store features as well as its processing. We re-used it in model training. The features and processing can be re-used accross multiple machine leanring models and use-case , helping to improve data science productivity
\n", + "\n", + "Teradata's AutoML functionality plays a crucial role in this context by automating the complex process of building and deploying machine learning models. AutoML ensures the most optimal preparation and training of models, delivering high-quality machine learning models in minutes. Through hyperparameter tuning (HPT), Teradata's AutoML can automatically select the best parameters for machine learning algorithms using grid search and random search techniques, significantly enhancing model performance.\n",
+ "
\n",
+ "By leveraging Teradata's AutoML, companies can save time and reduce costs associated with manual model building and tuning. The technology not only improves the accuracy of predictive models but also democratizes the power of machine learning, allowing customers to utilize advanced analytics without requiring extensive coding or data science expertise. This capability enables companies to swiftly and effectively analyze customer churn data, develop predictive models, and implement proactive strategies to retain customers and enhance their satisfaction.\n",
+ "
\n",
+ "In conclusion, Teradata's AutoML functionality is a vital tool for banks aiming to reduce customer churn. By automating and optimizing the machine learning process, Teradata empowers various industries to make data-driven decisions that improve customer retention and drive long-term profitability.
Work Tables
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a07f45cf-ff45-4b95-810c-061fb4d1e528", + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "list_of_tables = db_list_tables()\n", + "[execute_sql(f\"DROP VIEW {username}.{t}\") for t in list_of_tables.TableName if t.startswith('FS_V')]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7e0c61f8-ce5a-4d77-a8dc-ed1628b499d0", + "metadata": {}, + "outputs": [], + "source": [ + "list_of_tables = db_list_tables()\n", + "[execute_sql(f\"DROP TABLE {username}.{t}\") for t in list_of_tables.TableName if t.startswith('FS_T')]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4c9de55f-8b22-40f6-8044-8b63cf5617e6", + "metadata": {}, + "outputs": [], + "source": [ + "list_of_tables = db_list_tables()\n", + "[execute_sql(f\"DROP TABLE {username}.{t}\") for t in list_of_tables.TableName if t.startswith('FS_')]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bc241d13-6921-4582-8a9c-d1f5da3ec360", + "metadata": {}, + "outputs": [], + "source": [ + "[execute_sql(f\"DROP TABLE {username}.{t}\") for t in list_of_tables.TableName if t in ['temp','tdfs__fgjnojnsmdoignmosnig']]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21fac6bb-3e3a-488c-848b-41473d6156e7", + "metadata": {}, + "outputs": [], + "source": [ + "remove_context()" + ] + }, + { + "cell_type": "markdown", + "id": "72bfa61c-3daa-4d47-b0d7-0a69ef13dc1a", + "metadata": {}, + "source": [ + "Let’s look at the elements we have available for reference for this notebook:
" + ] + }, + { + "cell_type": "markdown", + "id": "fc4938d2-5ce6-412e-a665-5d62a3b1a1b5", + "metadata": {}, + "source": [ + "Filters:
\n", + "Related Resources:
\n", + "Reference Links:
\n", + "\n",
+ " Financial Fraud Detection with Python and TeradataML\n",
+ "
\n",
+ " \n",
+ "
Introduction
\n", + "\n",
+ " In recent years we have seen a massive increase in Fraud attempts, making fraud detection imperative for Banking and Financial Institutions. Despite countless efforts and human supervision, hundreds of millions of dollars are lost due to fraud. Fraud can happen using various methods, i.e., stolen credit cards, misleading accounting, phishing emails, etc. Due to small cases in significant populations, fraud detection has become more and more challenging. \n",
+ "
\n",
+ "
\n",
+ " With ClearScape Analytics, data scientists can use their preferred language, tools and platform to develop models to identify this fraud. Even in large scale operations, users have the guarantee that Vantage can scale to their needs and reduce fraud.
Business Values
\n", + "Why Vantage?
\n", + "To maximize the business value of advanced analytic techniques including Machine Learning and Artificial Intelligence, it is estimated that organizations must scale their model development and deployment pipelines to 100s or 1000s of times greater amounts of data, models, or both.\n",
+ "
\n",
+ "
\n",
+ " ClearScape Analytics provides powerful, flexible end-to-end data connectivity, feature engineering, model training, evaluation, and operational functions that can be deployed at scale as enterprise data assets; treating the products of ML and AI as first-class analytic processes in the enterprise.
Here, we import the required libraries, set environment variables and environment paths (if required).
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%capture\n", + "!pip install dotenv" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Standard Libraries\n", + "import os\n", + "import json\n", + "import getpass\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\")\n", + "\n", + "# Teradata Libraries\n", + "from teradataml import *\n", + "\n", + "from dotenv import load_dotenv, dotenv_values\n", + "# Configuration\n", + "spacing_large = \" \"*95\n", + "spacing_small = \" \"*12\n", + "display.max_rows = 5\n", + "configure.val_install_location = 'td_val'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will be prompted to provide the password. We will enter the password, press the Enter key, and then use the down arrow to go to the next cell.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "print(\"Checking if this environment is ready to connect to VantageCloud Lake...\")\n", + "\n", + "if os.path.exists(\"/home/jovyan/JupyterLabRoot/VantageCloud_Lake/.config/.env\"):\n", + " print(\"Your environment parameter file exist. Please proceed with this use case.\")\n", + " # Load all the variables from the .env file into a dictionary\n", + " env_vars = dotenv_values(\"/home/jovyan/JupyterLabRoot/VantageCloud_Lake/.config/.env\")\n", + " # Create the Context\n", + " eng = create_context(host=env_vars.get(\"host\"), username=env_vars.get(\"username\"), password=env_vars.get(\"my_variable\"))\n", + " execute_sql(\"SET query_band='DEMO=VCL_Financial_Fraud_Detection_Python.ipynb;' UPDATE FOR SESSION;\")\n", + " print(\"Connected to VantageCloud Lake with:\", eng)\n", + "else:\n", + " print(\"Your environment has not been prepared for connecting to VantageCloud Lake.\")\n", + " print(\"Please contact the support team.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We begin running steps with Shift + Enter keys.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3.Load the data and Data Exploration
\n", + "\n", + "We have provided data for this demo in the lake environment. The data is available in the database \"DEMO_GLM_Fraud\". Your user should have read access to the database. In case of any issues please write a mail to the support group (\"SC230208@teradata.com\").
\n", + " \n", + "Note: The tables are available in DEMO_GLM_Fraud_DB databases and we have created views in DEMO_GLM_Fraud databases which are used in the cells below
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We loaded the data from https://www.kaggle.com/code/georgepothur/4-financial-fraud-detection-xgboost/data into Vantage in a table named \"transaction_data\". We checked the data size and printed sample rows: 63k rows and 12 columns.
\n", + "*Please scroll down to the end of the notebook for detailed column descriptions of the dataset.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "txn_data = DataFrame(in_schema('DEMO_GLM_Fraud', 'transaction_data'))\n", + "\n", + "print(txn_data.shape)\n", + "txn_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this simulated scenario, deceptive agents engage in transactions with the objective of taking control of customers' accounts, transferring funds to another account, and ultimately cashing out for profit.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3.1 How many fraudulent transactions do we have in our dataset?
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# There are 92 fraud transactions i.e. 0.14% of fraud transactions in the dataset.\n", + "print(\"No of fraud transactions: %d\\nPercentage of fraud transactions: %.2f%%\"%(\n", + " txn_data.loc[txn_data.isFraud == 1].shape[0],\n", + " txn_data.loc[txn_data.isFraud == 1].shape[0]/txn_data.shape[0]*100)\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3.2 How many transactions do we have group by transaction type?
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Filter data for fraud transactions and group by 'type'\n", + "transactions_by_type = txn_data.groupby('type').count().get(['type','count_txn_id'])\n", + "\n", + "\n", + "# Sort by 'count_step' column in descending order\n", + "transactions_by_type = transactions_by_type.sort('count_txn_id', ascending = False)\n", + "\n", + "transactions_by_type = transactions_by_type.assign(\n", + " type_int = case([\n", + " (transactions_by_type.type == 'CASH_IN', 0),\n", + " (transactions_by_type.type == 'CASH_OUT', 1),\n", + " (transactions_by_type.type == 'DEBIT', 2),\n", + " (transactions_by_type.type == 'PAYMENT ', 3),\n", + " (transactions_by_type.type == 'TRANSFER', 4),\n", + " ])\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "transactions_by_type.plot(\n", + " x = transactions_by_type.type_int,\n", + " y = transactions_by_type.count_txn_id,\n", + " kind = 'bar',\n", + " legend = ['Count by Type'],\n", + " ylabel = 'Count of Transactions',\n", + " xlabel = spacing_small.join(sorted(list(transactions_by_type[['type']].get_values().flatten()))),\n", + " title = \"Number of Transactions per Transaction Type\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3.3 How many fraudulent transactions do we have group by transaction type?
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Filter data for fraud transactions and group by 'type'\n", + "fraud_transactions_by_type = txn_data.loc[txn_data.isFraud == 1].groupby('type').count().get(['type','count_txn_id'])\n", + "\n", + "# Sort by 'count_step' column in descending order\n", + "fraud_transactions_by_type = fraud_transactions_by_type.sort('count_txn_id', ascending = False)\n", + "\n", + "fraud_transactions_by_type = fraud_transactions_by_type.assign(\n", + " total_fraud = txn_data.loc[txn_data.isFraud == 1].shape[0],\n", + " type_int = case([(fraud_transactions_by_type.type == 'TRANSFER', 0)], else_ = 1)\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "fraud_transactions_by_type.plot(\n", + " x = fraud_transactions_by_type.type_int,\n", + " y = [fraud_transactions_by_type.total_fraud, fraud_transactions_by_type.count_txn_id],\n", + " kind = 'bar',\n", + " figsize = (800, 500),\n", + " legend = ['Total Fraud', 'Count by Type'],\n", + " ylabel = 'Count of Fraud Transactions',\n", + " xlabel = 'TRANSFER' + spacing_large + 'CASH_OUT',\n", + " title = \"Number of Fraud Transactions by Transaction Type\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the above result, we can see that out of the 92 fraud transactions, 47 are from transaction type \"TRANSFER\" and 45 are from \"CASH_OUT\".
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3.4 What percentage of fraudulent transactions do we have where transaction amount is equal to old balance in the origin account?
\n", + "\n", + "This might be the case where the fraudster emptied the account of the victim.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"No of cleanout fraud transactions: %d\\nPercentage of cleanout fraud transactions: %.2f%%\"%(\n", + " txn_data.loc[txn_data['amount'] == txn_data.oldbalanceOrig].loc[txn_data['isFraud'] == 1].shape[0],\n", + " txn_data.loc[txn_data['amount'] == txn_data.oldbalanceOrig].loc[txn_data['isFraud'] == 1].shape[0] / txn_data.loc[txn_data.isFraud == 1].shape[0]*100)\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "From the above result, we can see that out of 92 Fraud transactions, the amount involved in 90 fraud transactions was equal to the total balance in the account.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Below are some insights about the dataset:
\n", + "3.5 Univariate statistics
\n", + "\n", + "The describe funtion computes the count, mean, std, min, percentiles, and max for numeric columns.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "txn_data.describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3.6 Checking for Null Values
\n", + "The ColumnSummary() function can be used to take a quick look at the columns, their datatypes, and summary of NULLs/non-NULLs for a given table.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "colsum = ColumnSummary(\n", + " data = txn_data,\n", + " target_columns = [':']\n", + ")\n", + "colsum.result" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3.7 Checking for Outliers
\n", + "The OutlierFilterFit() function calculates the lower percentile, upper percentile, count of rows and median for all the \"target_columns\" provided by the user. These metrics for each column help the function OutlierTransform() detect outliers in data.
\n", + "\n", + "Here we are using teradataml syntax for the function. The same can be achived using the following SQL as well.
\n", + "\n", + "SELECT * FROM TD_OutlierFilterFit(\n",
+ " ON \"DEMO_GLM_Fraud\".\"transaction_data\" AS InputTable\n",
+ " OUT TABLE OutputTable(\"DEMO_USER\".\"Outlier_output\")\n",
+ " USING\n",
+ " TargetColumns('amount','newbalanceOrig','oldbalanceDest','newbalanceDest','oldbalanceOrig')\n",
+ ") as dt;
\n",
+ "\n",
+ "*Please note that both the versions run in-database and there is no data transfer involved.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fit_object = OutlierFilterFit(\n", + " data = txn_data,\n", + " target_columns = ['amount','newbalanceOrig', 'oldbalanceDest','newbalanceDest','oldbalanceOrig']\n", + ")\n", + "\n", + "res = fit_object.transform(data = txn_data).result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(f\"Rows before removing outliers: {txn_data.shape[0]}\\n\\\n", + "Rows after removing outliers: {res.shape[0]}\\n\\\n", + "Total outliers: {txn_data.shape[0] - res.shape[0]}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "outliers = td_minus([txn_data, res])\n", + "outliers" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll perform the following steps:
\n", + "We perform feature scaling during data pre-processing to handle highly varying magnitudes, values, or units. If feature scaling is not done, then a machine learning algorithm tends to weigh greater values higher and consider smaller values as lower ones, regardless of the unit of the values.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "4.1 Drop redundant columns
\n", + "We don't need nameDest, nameOrigin, and isFlaggedFraud for model training as they do not impact the outcome. We have txn_id to uniquely identify each transaction.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "txn_data = txn_data.drop(['nameDest', 'nameOrig', 'isFlaggedFraud'], axis = 1)\n", + "txn_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "4.2 One-hot encoding
\n", + "\n", + "Here, we are one-hot encoding the \"type\" column. We find one-hot encoding necessary in many cases to represent categorical variables as binary values, enable numerical processing, ensure feature independence, handle non-numeric data, and improve the performance and interpretability of our machine learning models.\n", + "
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "txn_type_encoder = OneHotEncoder(\n", + " values = [\"CASH_IN\", \"CASH_OUT\", \"DEBIT\", \"PAYMENT\", \"TRANSFER\"],\n", + " columns = \"type\"\n", + ")\n", + "\n", + "retain = Retain(\n", + " columns = ['step', 'amount','newbalanceOrig','oldbalanceDest','newbalanceDest','oldbalanceOrig', 'isFraud']\n", + ")\n", + "\n", + "obj = valib.Transform(\n", + " data = txn_data,\n", + " one_hot_encode = txn_type_encoder,\n", + " retain = retain,\n", + " index_columns = 'txn_id'\n", + ")\n", + "txn_trans = obj.result\n", + "txn_trans" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The above output shows that we have transformed the data into a transfromed dataset.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "copy_to_sql(txn_trans, table_name = 'clean_data', if_exists = 'replace')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We'll create two datasets for training and testing in the ratio of 80:20.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "TrainTestSplit_out = TrainTestSplit(\n", + " data = txn_trans,\n", + " id_column = \"txn_id\",\n", + " train_size = 0.80,\n", + " test_size = 0.20,\n", + " seed = 25\n", + ")\n", + "\n", + "df_train = TrainTestSplit_out.result[TrainTestSplit_out.result['TD_IsTrainRow'] == 1].drop(['TD_IsTrainRow'], axis = 1)\n", + "df_test = TrainTestSplit_out.result[TrainTestSplit_out.result['TD_IsTrainRow'] == 0].drop(['TD_IsTrainRow'], axis = 1)\n", + "\n", + "print(\"Training Set = \" + str(df_train.shape[0]) + \". Testing Set = \" + str(df_test.shape[0]))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "copy_to_sql(df_train, table_name = 'clean_data_train', if_exists = 'replace')\n", + "copy_to_sql(df_test, table_name = 'clean_data_test', if_exists = 'replace')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "df_train" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The above output shows that we have transformed the data into a scaled dataset. Scaling our data makes it easy for our model to learn and understand the problem.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The XGBoost() function, also known as eXtreme Gradient Boosting, is an implementation of the gradient boosted decision tree algorithm designed for speed and performance. It has recently been dominating applied machine learning.
\n", + "In gradient boosting, each iteration fits a model to the residuals (errors) of the previous iteration to correct the errors made by existing models. The predicted residual is multiplied by this learning rate and then added to the previous prediction. Models are added sequentially until no further improvements can be made. It is called gradient boosting because it uses a gradient descent algorithm to minimize the loss when adding new models.
\n", + "\n", + "Here we are using teradataml syntax for the function. The same can be achived using the following SQL as well.
\n", + "\n", + "SELECT * FROM TD_XGBoost(\n",
+ "\tON \"DEMO_USER\".\"clean_data_train\" AS \"input\"\n",
+ "\tPARTITION BY ANY\n",
+ "\tUSING InputColumns('amount','newbalanceOrig','oldbalanceDest','newbalanceDest','oldbalanceOrig','CASH_IN_type','CASH_OUT_type','DEBIT_type','PAYMENT_type','TRANSFER_type')\n",
+ "\tResponseColumn('isFraud')\n",
+ "\tMaxDepth(7)\n",
+ "\tSeed(42)\n",
+ "\tModelType('Classification')\n",
+ "\tRegularizationLambda(120.0)\n",
+ "\tShrinkageFactor(0.1)\n",
+ ") as sqlmr
\n",
+ "\n",
+ "*Please note that both the versions run in-database and there is no data transfer involved.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "cols = df_train.columns\n", + "cols.remove('txn_id')\n", + "cols.remove('step')\n", + "cols.remove('isFraud')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "XGBoost_out = XGBoost(\n", + " data=df_train,\n", + " input_columns=cols,\n", + " response_column = 'isFraud',\n", + " lambda1 = 120.0,\n", + " model_type='Classification',\n", + " seed=42,\n", + " shrinkage_factor=0.1,\n", + " max_depth=7\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "XGBoost_out.output_data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The function output is a trained XGBoost model, and we can input it to the XGBoostPredict() function for prediction.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The XGBoostPredict() function runs the predictive algorithm based on the model generated by XGBoost(). The XGBoost() function, also known as eXtreme Gradient Boosting, performs classification or regression analysis on datasets.
\n", + "\n", + "When using the function, we should provide only numeric features. We need to convert the categorical features to numeric values before prediction.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "XGBoostPredict_out = XGBoostPredict(\n", + " newdata=df_test,\n", + " object=XGBoost_out.result,\n", + " model_type='Classification',\n", + " id_column='txn_id',\n", + " object_order_column=['task_index', 'tree_num',\n", + " 'iter', 'tree_order'],\n", + " accumulate='isFraud',\n", + " output_prob=True,\n", + " output_responses=['0', '1']\n", + ").result" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "XGBoostPredict_out" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output above shows our prob_1, i.e., the transaction is fraud, and prob_0, i.e., the transaction is not a fraud. We use these probabilities in our prediction column to assign a class label.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "combined_df = df_test.join(XGBoostPredict_out, on='txn_id', lsuffix='test', rsuffix='pred')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "combined_df[combined_df['Prediction']==1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "out = XGBoostPredict_out.assign(Prediction = XGBoostPredict_out.Prediction.cast(type_ = BYTEINT))\n", + "out = out.assign(Prediction = out.Prediction.cast(type_ = VARCHAR(2)))\n", + "out = out.assign(isFraud = out.isFraud.cast(type_ = VARCHAR(2)))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ClassificationEvaluator_obj = ClassificationEvaluator(\n", + " data = out,\n", + " observation_column = 'isFraud',\n", + " prediction_column = 'Prediction',\n", + " labels = ['0', '1']\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "ClassificationEvaluator_obj.output_data.head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We create the ROC curve, which is a graph between TPR (True Positive Rate) and FPR (False Positive Rate). We use the area under the ROC curve as a metric to evaluate how well our model can distinguish between positive and negative classes. A higher AUC indicates better performance in distinguishing between the positive and negative categories. We generally consider an AUC above 0.75 as decent.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from teradataml import ROC\n", + "\n", + "roc_out = ROC(\n", + " probability_column = '\"Prob_1\"',\n", + " observation_column = \"isFraud\",\n", + " positive_class = \"1\",\n", + " data = XGBoostPredict_out,\n", + " num_thresholds=300\n", + ")\n", + "\n", + "roc_out" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "# Assigning new index column\n", + "roc_out.result = roc_out.result.assign(row = 1)\n", + "# Changing the index label.\n", + "roc_out.result._index_label = [\"row\"]\n", + "auc = roc_out.result.get_values()[0][0]\n", + "\n", + "figure = Figure(width=500, height=400, heading=\"Receiver Operating Characteristic (ROC) Curve\")\n", + "\n", + "plot = roc_out.output_data.plot(\n", + " x=roc_out.output_data.fpr,\n", + " y=[roc_out.output_data.tpr, roc_out.output_data.fpr],\n", + " xlabel='False Positive Rate',\n", + " ylabel='True Positive Rate',\n", + " color='carolina blue',\n", + " figure=figure,\n", + " legend=[f'XGBoost AUC = {round(auc, 4)}', 'AUC Baseline'],\n", + " legend_style='lower right',\n", + " grid_linestyle='--',\n", + " grid_linewidth=0.5,\n", + " linestyle = ['-', '--']\n", + ")\n", + "\n", + "plot.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at the above ROC Curve, we can confidently say that our model has performed well on testing data. The AUC value is above 0.75 and resonates with our understanding that the model is performing well.
\n", + "\n", + "Conclusion
\n", + "\n", + "In this demonstration, we have illustrated a simplified - but complete - overview of how we can implement a typical machine learning workflow completely inside the database using Vantage. This allows us to leverage Vantage's operational scale, power, and stability.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Work Tables
\n", + "We need to clean up our work tables to prevent errors next time.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "tables = ['clean_data', 'clean_data_train', 'clean_data_test']\n", + "\n", + "# Loop through the list of tables and execute the drop table command for each table\n", + "for table in tables:\n", + " try:\n", + " db_drop_table(table_name = table)\n", + " except:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "remove_context()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s look at the elements we have available for reference for this notebook:
\n", + "\n", + "Filters:
\n", + "Related Resources:
\n", + "\n", + "Links:
\n", + "\n",
+ " Store Sales Forecasting with In-Database Time Series\n",
+ "
\n",
+ " \n",
+ "
Introduction
\n", + "\n", + "\n", + "Retail stores rely on sales and an accurate amount of inventory to support these sales. However, demand can be everchanging leading to stores being overstocked or out of stock. In these situations, retail stores need to quickly adjust to increase revenues and avoid additional unnecessary costs. The best way to keep ROI up is with retail demand forecasting in Teradata Vantage and ClearScape Analytics. Teradata’s capabilities allow users to combine and analyze sales and inventory data across all stores, while taking into consideration seasonal events, such as holidays or the weather. Bringing together all the components that influence customers to buy products allows retail stores to accurately predict sales and demand to ensure for precise inventory.
\n", + "\n", + "\n", + "Good Eats Grocery is a renowned retail corporation that operates a chain of hypermarkets. Here, Good Eats Grocery has provided a data combining of 45 stores including store information and monthly sales. The data is provided on weekly basis. Good Eats Grocery tries to find the impact of holidays on the sales of store. For which it has included four holidays’ weeks into the dataset which are Christmas, Thanksgiving, Super Bowl, Labor Day.
\n",
+ "
\n",
+ "Our Main Objective is to predict sales of store in a week. As in dataset size and time related data are given as feature, so analyze if sales are impacted by time-based factors and space- based factor. Most importantly how inclusion of holidays in a week soars the sales in store?\n",
+ "
\n",
+ " \n",
+ "
Business Value
\n", + "Why Vantage?
\n", + "Unbounded Array Framework (UAF) is the Teradata framework for building end-to-end time series forecasting pipelines. It also provides functions for digital signal processing and 4D spatial analytics. The series can reside in any Teradata supported or Teradata accessible table or in an analytic result table (ART). The UAF architecture provides a range of unique benefits including:
\n", + "\n", + "UAF provides data scientists with the tools for all phases of forecasting:
\n", + "Plus, with Teradata Vantage, users can perform these functions at scale and analyze and forecast hundreds/thousands series at once. Time Series analysis requires significant effort in analyzing, preparing, and testing forecast models. Traditional approaches require users to perform these laborious tasks multiple times for each prediction, so scaling forecasting efforts beyond a small number of different forecasts becomes prohibitive.
\n", + " \n", + "\n", + "Data
\n", + "The dataset contains historical sales data for 45 Good Eats Grocery stores located in different regions. Each store contains a number of departments, and you are tasked with predicting the department-wide sales for each store.
\n", + "\n", + "In addition, Good Eats Grocery runs several promotional markdown events throughout the year. These markdowns precede prominent holidays, the four largest of which are the Super Bowl, Labor Day, Thanksgiving, and Christmas. The weeks including these holidays are weighted five times higher in the evaluation than non-holiday weeks. Part of the challenge presented by this competition is modelling the effects of markdowns on these holiday weeks in the absence of complete/ideal historical data.
\n", + "\n", + "The basic idea of analyzing the Good Eats Grocery Forecasting dataset is to get a fair idea about the factors affecting the Sales of the Good Eats Grocery Store.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Configure the environment
\n", + "\n",
+ "Before we start working with our data, we need to set up our environment. This involves importing the necessary packages and establishing a connection to Vantage.\n",
+ "
\n",
+ "Here's how we can do this:
2. Connect to VantageCloud Lake
\n", + "Connect to VantageCloud using create_context
from the teradataml Python library. If this environment has been prepared for connecting to a VantageCloud Lake OAF Container, all the details required will be loaded and you will see an acknowledgement after executing this cell.
3.Load the data
\n", + "\n", + "We have provided data for this demo in the lake environment. The data is available in the database \"DEMO_SalesForecasting\". Your user should have read access to the database. In case of any issues please write a mail to the support group (\"SC230208@teradata.com\").
\n", + " \n", + "**Note: The tables are available in DEMO_SalesForecasting_DB database and we have created views in DEMO_SalesForecasting database which are used in the cells below
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3.1 Prepare data to do some basic Analysis of the Sales data.
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us start by creating a \"Virtual DataFrame\" that points directly to the dataset in Vantage. We begin our analysis by obtaining the necessary data types for columns and extract values such as Sales_week, Sales_year, etc., from the Sales_date column. These extracted values will be used in our subsequent analysis.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df=DataFrame(in_schema('DEMO_SalesForecasting','Weekly_Sales'))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml.dataframe.sql_functions import case\n", + "from teradatasqlalchemy import TIMESTAMP, VARCHAR, INTEGER\n", + "from sqlalchemy import func\n", + "df = df.assign(IsHoliday = case([(df.IsHoliday == 0, 'False')], else_ = 'True'))\n", + "df = df.assign(Sales_Week = func.td_week_of_year(df.Sales_Date.expression))\n", + "df = df.assign(Sales_Date = df.Sales_Date.cast(type_=TIMESTAMP))\n", + "df = df.assign(Sales_Year = df.Sales_Date.cast(type_=VARCHAR(10)))\n", + "df = StrApply(data=df,\n", + " target_columns='Sales_Year',\n", + " string_operation='SUBSTRING',\n", + " string_length = 4,\n", + " accumulate = ['Store', 'Dept', 'Sales_Date', 'Weekly_Sales', 'IsHoliday','Sales_Week'],\n", + " in_place=True).result\n", + "df = df.assign(Sales_Year = df.Sales_Year.cast(type_=INTEGER))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "testdf=df\n", + "testdf" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Let's do some basic analysis of the dataset
\n", + "We group the weekly sales by Sales Date and calculate the Average Sales based on Sales date. Alongside aggregating the data, we leverage the InDB plot() function for teradataml dataframes to visualize the data. This allows us to avoid transferring data to the client side even for visualizations.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "df=testdf.select(['Sales_Date','Weekly_Sales']).groupby('Sales_Date')\n", + "df_plot=df.avg()\n", + "df_plot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import Figure\n", + "figure = Figure(width=1000, height=800, heading=\"Average Weekly Sales\")\n", + "plot = df_plot.plot(x=df_plot.Sales_Date, y=df_plot.avg_Weekly_Sales,\n", + " xtick_format='YYYY-MM',\n", + " xlabel='Week', ylabel='Sales', color=\"blue\",figure=figure)\n", + "plot.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The above graph shows the Average Sales per week. We can see that there are peaks mainly during the Year end period.
\n", + "Next we try to get the average sales for each Store, for that we group the Weekly Sales by each Store.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "weekly_sales = testdf.select(['Store','Weekly_Sales']).groupby('Store')\n", + "ws_plot=weekly_sales.avg()\n", + "ws_plot" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from teradataml import Figure\n", + "figure = Figure(width=1000, height=800, heading=\"Average Sales per Store\")\n", + "plot = ws_plot.plot(x=ws_plot.Store, y=ws_plot.avg_Weekly_Sales,\n", + " kind='bar',\n", + " xlabel='Store', ylabel='Sales', figure=figure)\n", + "plot.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The above graph shows the Average Weekly Sales for each store. We can see that Store 4 shows highest weekly sales while Store 5 shows the lowest weekly sales.
\n", + "Next we try to get the Weekly Sales for each year separately. For this we group the data for all 3 years by Sales Date for each year
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "week_df = testdf.select(['Sales_Week','Sales_Year','Weekly_Sales'])\n", + "week_df = week_df.assign(Weekly_Sales_2010 = case([(week_df.Sales_Year == 2010, week_df.Weekly_Sales)], else_ = 0))\n", + "week_df = week_df.assign(Weekly_Sales_2011 = case([(week_df.Sales_Year == 2011, week_df.Weekly_Sales)], else_ = 0))\n", + "week_df = week_df.assign(Weekly_Sales_2012 = case([(week_df.Sales_Year == 2012, week_df.Weekly_Sales)], else_ = 0))\n", + "week_df = week_df.select(['Sales_Week','Weekly_Sales_2010','Weekly_Sales_2011','Weekly_Sales_2012'])\n", + "week_df = week_df.groupby('Sales_Week')\n", + "week_df = week_df.avg()\n", + "week_df = week_df[((week_df.avg_Weekly_Sales_2010 != 0.0 ) & (week_df.avg_Weekly_Sales_2011 != 0.0) &\n", + " (week_df.avg_Weekly_Sales_2012 != 0.0))]\n", + "week_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import Figure\n", + "figure = Figure(width=1000, height=600, heading=\"Average Weekly Sales per Year\")\n", + "week_df.plot(x=week_df.Sales_Week, y=[week_df.avg_Weekly_Sales_2010, week_df.avg_Weekly_Sales_2011, week_df.avg_Weekly_Sales_2012], \n", + " style=['dark orange', 'green','blue'], xlabel='Week', ylabel='Sales', grid_color='black',\n", + " grid_linewidth=0.5, grid_linestyle=\"-\", legend=['2010','2011','2012'],figure=figure)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The above graph shows the Average Weekly Sales for different years. We can see that there are peaks mainly during 10-15th week and 20-30th week.
\n", + "We try to get the comparison of Sales during Holidays and Other Working Days. We do a grouping of data for Sales based on whether the Sale is on Holiday or Working Day
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "week_holiday_df = testdf.select(['Sales_Date','Sales_Week','IsHoliday','Weekly_Sales'])\n", + "week_holiday_df = week_holiday_df.assign(Weekly_Sales_True = case([(week_holiday_df.IsHoliday == 'True', week_holiday_df.Weekly_Sales)], else_ = 0))\n", + "week_holiday_df = week_holiday_df.assign(Weekly_Sales_False = case([(week_holiday_df.IsHoliday == 'False', week_holiday_df.Weekly_Sales)], else_ = 0))\n", + "week_holiday_df = week_holiday_df.select(['Sales_Date','Sales_Week','Weekly_Sales_True','Weekly_Sales_False'])\n", + "week_holiday_df = week_holiday_df.groupby(['Sales_Date','Sales_Week'])\n", + "week_holiday_df = week_holiday_df.sum()\n", + "week_holiday_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import Figure\n", + "figure = Figure(width=1000, height=600, heading=\"Total Sales per Week\")\n", + "week_holiday_df.plot(x=week_holiday_df.Sales_Week, y=[week_holiday_df.sum_Weekly_Sales_True, week_holiday_df.sum_Weekly_Sales_False], \n", + " style=['blue','brown'], xlabel='Week', ylabel='Sales', grid_color='black',\n", + " grid_linewidth=0.5, grid_linestyle=\"-\", legend=['Holidays','Week Days'],kind='bar', figure=figure)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The above graph shows the Weekly Sales per Week. The Orange colored bars show weekly sales during working days while the Blue colored bars show weekly sales during holidays.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "4. Preparing Dataset by joining the datasets.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "
We prepare the dataset by creating a view by joining data from Weekly Sales, Stores and features. The view is created using SQL to reduce the number of steps to join and data preocessing which gets used in further steps.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "query2='''REPLACE VIEW Weekly_Sales_Details AS\n", + "SELECT\n", + " w.Sales_date AS times,\n", + " CAST('2012-02-03' AS DATE) AS cutoff_date,\n", + " w.Dept,\n", + " w.Store,\n", + " CAST(w.Sales_Date AS TIMESTAMP) AS Sales_Date,\n", + " ZEROIFNULL(Weekly_Sales) AS Weekly_Sales,\n", + " ZEROIFNULL(Store_Size) AS Store_Size,\n", + " Store_Type AS Store_Type,\n", + " w.IsHoliday,\n", + " ZEROIFNULL(Temperature) AS Temperature,\n", + " ZEROIFNULL(MarkDown1) AS MarkDown1,\n", + " ZEROIFNULL(MarkDown2) AS MarkDown2,\n", + " ZEROIFNULL(MarkDown3) AS MarkDown3,\n", + " ZEROIFNULL(MarkDown4) AS MarkDown4,\n", + " ZEROIFNULL(MarkDown5) AS MarkDown5,\n", + " ZEROIFNULL(CPI) AS CPI,\n", + " ZEROIFNULL(Unemployment) AS Unemployment,\n", + " ZEROIFNULL(Fuel_Price) AS Fuel_Price,\n", + " CAST(TRIM(w.Dept) || TRIM(w.Store) AS INT) AS idcols\n", + "FROM\n", + " Demo_SalesForecasting.Weekly_Sales w\n", + "LEFT JOIN\n", + " Demo_SalesForecasting.Stores s ON w.Store = s.Store\n", + "LEFT JOIN\n", + " Demo_SalesForecasting.Features f ON w.Store = f.store AND w.Sales_Date = f.Sales_Date\n", + "WHERE\n", + " w.Store IN (20, 4);\n", + "'''\n", + "\n", + "execute_sql(query2)\n", + "modeldf=DataFrame.from_query('select * from Weekly_Sales_Details;')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "dfacheck = modeldf.groupby([\"idcols\"])\n", + "dfacheck=dfacheck.count().select([\"idcols\",\"count_Sales_Date\"])\n", + "\n", + "dfa4=modeldf.join(dfacheck, on = 'idcols', how = \"left\", lsuffix = 't1', rsuffix = 't2').drop(['idcols_t2'],axis=1)\n", + "dfa4=dfa4.assign(idcols = dfa4['idcols_t1'])\n", + "dfa4=dfa4.drop(['idcols_t1'],axis=1)\n", + "\n", + "# filter out incomplete time series \n", + "\n", + "modeldf1 = dfa4[dfa4.count_Sales_Date == 143]\n", + "modeldf1.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "modeldf1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "5. Checking for Stationarity of Time Series using the Dickey Fuller Test
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To be able to model a time series, it needs to be stationary. ARIMA models deal with non-stationary time series by differencing (The \"d' parameter in ARIMA determines the number of differences needed to make a series stationary)
\n", + "Here we will check for stationarity of all time series using the Dickey-Fuller Test. For more info on the test, see here. \n", + "
The null hypothesis for the test is that the data is non-stationary. We want to REJECT the null hypothesis for this test. So, we want a p-value of less than 0.05 (or smaller) and a negative coefficient value for the lag term in our regression model.
\n", + "The Dickey fuller function needs series data, so we use the TDSeries function to create a series and apply DickeyFuller to check the stationarity of the data.
\n", + "We use the OutlierFilterFit and the OutlierFilterTransform functions to remove the outliers in the series and then use the Rescaled Data to check the stationarity of the data using the DickeyFuller function.
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales_df=modeldf1" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales_df.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The OutlierFilterFit() function calculates the lower_percentile, upper_percentile, count of rows and median for all the \"target_columns\" provided by the user. These metrics for each column helps the function OutlierTransform() detect outliers in the input table. It also stores parameters from arguments into a FIT table used during transformation. The lower_percentile specifies lower range of percentile to be used to detect if value is outlier or not and the upper_percentile specifies upper range of percentile to be used to detect if value is outlier or not.
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import OutlierFilterFit\n", + "OutlierFilterFit_out = OutlierFilterFit(data = sales_df,\n", + " target_columns = \"Weekly_Sales\",\n", + " )\n", + "out_df=OutlierFilterFit_out.output_data\n", + "out_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "The OutlierFilterfit creates a fit table with different values which need to be applied on the data to get the transformed data.
\n", + "\n", + "OutlierFilterTransform() function filters the outliers from the input teradataml DataFrame.
\n", + "OutlierFilterTransform() uses the result DataFrame from OutlierFilterFit() function to get statistics like median, count of rows, lower percentile and upper percentile for every column specified in target columns argument and filters the outliers in the input data.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import OutlierFilterFit, OutlierFilterTransform\n", + "obj = OutlierFilterTransform(data=sales_df,\n", + " object=OutlierFilterFit_out.result)\n", + "out_transform_df = obj.result\n", + "out_transform_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "The OutlierFilterTransform transforms the data and creates the output data after applying the Fit Table details on the data.
\n", + "\n", + "The Resample() function transforms an irregular time series into a regular time series. It can also be used to alter the sampling interval for a time series. The Resample functions requires a series as inuput for which we use the TDSeries function.
\n", + "\n", + "TDSeries object from a teradataml DataFrame representing a SERIES in time series which is used as input to Unbounded Array Framework, time series functions. A series is a one-dimensional array. They are the basic input of UAF functions. A series is identified by its series ID, i.e., \"id\" argument, and indexed by \"row_index\" argument. Series is passed to and returned from UAF functions as wavelets. Wavelets are collections of rows, grouped by one or more fields, and ordered on the \"row_index\" argument.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import Resample\n", + "data_series_df = TDSeries(data=obj.result,\n", + " id=\"idcols\",\n", + " row_index=(\"Sales_Date\"),\n", + " row_index_style= \"TIMECODE\",\n", + " payload_field=\"Weekly_Sales\",\n", + " payload_content=\"REAL\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "uaf_out1 = Resample(data=data_series_df,\n", + " interpolate='LINEAR',\n", + " timecode_start_value=\"TIMESTAMP '2010-02-05 00:00:00'\",\n", + " timecode_duration=\"WEEKS(1)\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df=uaf_out1.result\n", + "df1=df.select(['idcols','ROW_I', 'Weekly_Sales']).assign(Sales_Date=df.ROW_I)\n", + "df1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "The DickeyFuller() function tests for the presence of one or more unit roots in a series to determine if the series is non-stationary. When a series contains unit roots, it is non-stationary. When a series contains no unit roots, whether the series is stationary is based on other factors.
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import DickeyFuller\n", + "data_series_df_1 = TDSeries(data=df1,\n", + " id=\"Sales_Date\",\n", + " row_index=(\"idcols\"),\n", + " row_index_style= \"SEQUENCE\",\n", + " payload_field=\"Weekly_Sales\",\n", + " payload_content=\"REAL\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "df_out = DickeyFuller( data=data_series_df_1,\n", + " algorithm='NONE')\n", + "\n", + "# Print the result DataFrame.\n", + "print(df_out.result)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "In the above output the p-value corresponding to the calculated test statistic is less than 0.05. It means that the series is stationary. The output column NULL_HYP which means NULL HYPOTHESIS can have 2 values \n", + "
6. ARIMA Modelling
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "ARIMA stands for Autoregressive Integrated Moving Average. It is a statistical method used for time series forecasting and analysis. ARIMA is a form of regression analysis that gauges the strength of one dependent variable relative to other changing variables. ARIMA models are popular in various fields, including finance, economics, and environmental science, for predicting future points in a time series based on its historical values.
\n", + "The ArimaEstimate() function estimates the coefficients corresponding to an ARIMA (AutoRegressive Integrated Moving Average) model, and to fit a series with an existing ARIMA model. The function can also provide the \"goodness of fit\" and the residuals of the fitting operation. The function generates model layer used as input for the ArimaValidate() and ArimaForecast() functions. This function is for univariate series.
\n", + "\n", + "The following procedure is an example of how to use ArimaEstimate() function:
\n", + "Here the input series to the ArimaEstimate is the output series of the Resample function. The series is created by using the output of Resample function and passed to ArimaEstimate.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import ArimaEstimate\n", + "# Execute ArimaEstimate function.\n", + "arima_est_out = ArimaEstimate(data1=data_series_df_1,\n", + " nonseasonal_model_order=[2,1,1],\n", + " constant=False,\n", + " algorithm=\"MLE\",\n", + " coeff_stats=True,\n", + " fit_metrics=True,\n", + " residuals=True,\n", + " fit_percentage=80)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "est_result=arima_est_out.fitresiduals\n", + "est_result = est_result.groupby('Sales_Date').avg()\n", + "est_result" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We plot the Actual Value of Weekly Sales vs the Calculated Value of the ArimaEstimate function.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from teradataml import Figure\n", + "figure = Figure(width=1000, height=700, heading=\"Comparison of Actual vs Predicted Sales\")\n", + "est_result.plot(x=est_result.Sales_Date, y=[est_result.avg_ACTUAL_VALUE, est_result.avg_CALC_VALUE], \n", + " style=['dark orange', 'green'], xlabel='Sales Date', ylabel='Sales', grid_color='black',xtick_format='YYYY-MM',\n", + " grid_linewidth=0.5, grid_linestyle=\"-\", legend=['Actual Value','Predicted Value'],figure=figure)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ArimaValidate() function performs an in-sample forecast for both seasonal and non-seasonal auto-regressive (AR), moving-average (MA), ARIMA models and Box-Jenkins seasonal ARIMA model formula followed by an analysis of the produced residuals. The aim is to provide a collection of metrics useful to select the model and expose the produced residuals such that multiple model validation and statistical tests can be conducted.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import ArimaValidate\n", + "data_art_df = TDAnalyticResult(data=arima_est_out.result)\n", + "\n", + "\n", + "arima_val_out = ArimaValidate(data=data_art_df, fit_metrics=True, residuals=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "val_result=arima_val_out.fitresiduals\n", + "val_result = val_result.groupby('Sales_Date').avg()\n", + "val_result" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We plot the Actual Value of Weekly Sales vs the Calculated Value of the ArimaValidate function.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "from teradataml import Figure\n", + "figure = Figure(width=1000, height=700, heading=\"Comparison of Actua vs Predicted\")\n", + "val_result.plot(x=val_result.Sales_Date, y=[val_result.avg_ACTUAL_VALUE, val_result.avg_CALC_VALUE], \n", + " style=['dark orange', 'green'], xlabel='Sales Date', ylabel='Sales', grid_color='black',\n", + " grid_linewidth=0.5, grid_linestyle=\"-\", legend=['Actual Value','Predicted Value'],figure=figure)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The ArimaForecast() function is used to forecast a user-defined number of periods based on models fitted from the ArimaEstimate() function.
\n", + "Here we are considering 7 periods (forecast_periods=7)
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import ArimaForecast\n", + "arima_estimate_op = ArimaEstimate(data1=data_series_df_1,\n", + " nonseasonal_model_order=[2,1,1],\n", + " constant=False,\n", + " algorithm=\"MLE\",\n", + " coeff_stats=True,\n", + " fit_metrics=True,\n", + " residuals=True,\n", + " fit_percentage=100)\n", + "\n", + "# Create teradataml TDAnalyticResult object over the result attribute of 'arima_estimate_op'\n", + "data_art_df = TDAnalyticResult(data=arima_estimate_op.result)\n", + " \n", + "arima_forcast_out = ArimaForecast(data=data_art_df, forecast_periods=7)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "tags": [] + }, + "outputs": [], + "source": [ + "forecast_result=arima_forcast_out.result\n", + "forecast_result = forecast_result.groupby('ROW_I').avg()\n", + "forecast_result" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We plot the Forecasted Value of Weekly Sales for the defined number of periods.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import Figure\n", + "figure = Figure(width=1000, height=700, heading=\"Forecast Sales\")\n", + "forecast_result.plot(x=forecast_result.ROW_I, y=forecast_result.avg_FORECAST_VALUE, \n", + " xlabel='Forecast Period', ylabel='Forecast Sales', grid_color='black',\n", + " grid_linewidth=0.5, grid_linestyle=\"-\", figure=figure)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "7. Conclusion:
\n", + "We have trained and validated the ARIMA model on the Weekly Sales dataset, and the results closely match the actual data. The goodness of fit metrics calculated in the estimate and validate phase also resonate with our understanding that the model is well-trained to forecast. This can be observed in the Estimate and the Validate function graphs. So, we can say that the model is well trained to forecast the Weekly Sales.
\n", + "\n", + "Thus with Teradata Vantage we can do rapid data exploration, preparation, and testing functions that can analyze massive amounts of data across an unlimited number of forecasts in parallel, drastically reducing the development and testing times. We can create unlimited number of forecasts in parallel, unlocking value in hyper-segmented (per-store-per-SKU inventory demand, per-household energy consumption) predictions, based on individualized models.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "8. Cleanup
\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "try:\n", + " db_drop_view('Weekly_Sales_Details')\n", + "except:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "remove_context()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let’s look at the elements we have available for reference for this notebook:
\n", + "\n", + "Dataset
\n", + "This is the historical data that covers sales from 2010-02-05 to 2012-11-01. Within this file you will find the following fields:
\n", + "\n", + "Filters:
\n", + "Related Resources:
\n", + "\n",
+ " Store Sales Forecasting with Prophet using Script Table Operator\n",
+ "
\n",
+ " \n",
+ "
Introduction
\n", + "\n", + "Rossmann operates over 3,000 drug stores in 7 European countries. Currently, Rossmann store managers are tasked with predicting their daily sales for up to six weeks in advance. Store sales are influenced by many factors, including promotions, competition, school and state holidays, seasonality, and locality. With thousands of individual managers predicting sales based on their unique circumstances, the accuracy of results can be quite varied.
\n", + "Our Main Objective is to predict sales of store in a week. We are using the python Prophet model and using the Open Analytics Framework(OAF) of VantageCloud Lake for forecasting the Store Sales.
\n", + "The Open Analytics Framework builds on the existing Vantage facilities for data scientists and analysts to do the following:
\n", + "APPLY table operator is the VantageCloud Lake successor to the Vantage Enterprise SCRIPT and ExecR table operators. The APPLY table operator bears more similarities to the SCRIPT operating mode, in that APPLY takes an external language script as input to run, rather than ingesting external language statements in a contract function as ExecR does. The APPLY table operator is nevertheless designed to expand its features in the future in a way that encompasses additional key features from both the SCRIPT and ExecR table operators. The fastpath APPLY table operator runs a user-installed script or any Linux command inside the remote user environment using Open Analytics Framework. Installed script runs in parallel with data from Analytics Database.
\n", + "\n", + "An overview of the steps for using the Open Analytics Framework follow.
\n", + "Hence as a data science consultant, we are showcasing the complete approach about how we can make prediction of sales for different stores in advance. We are demonstrating how we can train our models and use them for scoring using the ClearScape Analytics platform. The data we are using is a sample dataset and the results and predictions may not be entirely accurate.\n", + "
\n", + "Data
\n", + "The dataset contains historical sales data for 1,115 Rossmann stores. The task is to forecast the \"Sales\" column for the test set. Note that some stores in the dataset were temporarily closed for refurbishment.
\n", + "\n", + "Most of the fields are self-explanatory. The following are descriptions for those that aren't.
\n", + "\n", + "1. Configure the environment
\n", + "\n",
+ "Before we start working with our data, we need to set up our environment. This involves importing the necessary packages and establishing a connection to Vantage.\n",
+ "
\n",
+ "Here's how we can do this:
Note: After installing the above libraries, Please restart the kernel. The simplest way is by typing zero zero: 0 0
\n", + "In the section, we import the required libraries and set environment variables and environment paths (if required).
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import warnings\n", + "warnings.filterwarnings(\"ignore\")\n", + "warnings.simplefilter(action='ignore', category=FutureWarning)\n", + "import getpass\n", + "import pandas as pd\n", + "\n", + "import numpy as np\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "from time import time\n", + "import os\n", + "# from prophet import Prophet\n", + "import warnings\n", + "import itertools\n", + "from dotenv import load_dotenv, dotenv_values\n", + "import pickle\n", + "import base64\n", + "import time\n", + "from teradataml import *\n", + "from IPython.display import display as ipydisplay\n", + "from IPython.display import clear_output\n", + "from time import sleep\n", + "\n", + "display.max_rows=5\n", + "display.suppress_vantage_runtime_warnings = True" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2. Connect to VantageCloud Lake
\n", + "Connect to VantageCloud using create_context
from the teradataml Python library. If this environment has been prepared for connecting to a VantageCloud Lake OAF Container, all the details required will be loaded and you will see an acknowledgement after executing this cell.
3.Load the data
\n", + "\n", + "We have provided data for this demo in the lake environment. The data is available in the database \"DEMO_AnomalyDetection\". Your user should have read access to the database. In case of any issues please write a mail to the support group (\"SC230208@teradata.com\").
\n", + " \n", + "**Note: The tables are available in DEMO_AnomalyDetection_DB database and we have created views in DEMO_AnomalyDetection database which are used in the cells below
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3.1 Prepare data to do some basic Analysis of the Sales data.
\n", + "\n", + "We create dataframe for the Stores and the Sales Data using tables from Vantage. To gain insights into the data's characteristics, we display a sample of 5 rows each.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "store=DataFrame(in_schema('DEMO_ProphetSTO','Store'))\n", + "store " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Store dataset contains description of the Stores like, StoreType, distance from the Competition Store and also various Promotion codes and Details.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales=DataFrame(in_schema('DEMO_ProphetSTO','Sales_Data'))\n", + "sales " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The Store Sales dataset contains the Store, DayofWeek, Date of Sales , Sales done, Customer involved, SalesOpen is a flag mentioning if the Store is Open or Closed and Promotion Code applied for the Sales.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "4. Data Analysis and Transformation
\n", + "In this first section we go through the Sales and store data, handle missing values and create new features for further analysis.
\n", + "We check the missing values for the CompetitionDistance column and replace it with the median values.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import SimpleImputeFit, SimpleImputeTransform\n", + "fit_obj = SimpleImputeFit(data=store,\n", + " stats_columns=\"CompetitionDistance\",\n", + " stats=\"median\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "obj = SimpleImputeTransform(data=store,\n", + " object=fit_obj.output)\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "store=obj.result\n", + "store" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We join the Store and Sales dataset to get the required columns for our analysis.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales_store = sales.merge(right = store, how = \"inner\", on = \"store=store\",lsuffix='l', rsuffix='r')\n", + "sales_store=sales_store.assign(Store=sales_store.Store_l)\n", + "sales_store=sales_store.drop(['Store_l', 'Store_r'], axis=1)\n", + "sales_store" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales_store.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The final dataset used for analysis contains 18 columns and 91,256 rows.
\n", + "Based on the data available we do some transformations on the data and create various features. From the SalesDate we, generate columns like , Year, Month, DayOfWeek , WeekofYear etc. Using the columns related to Competition like CompetionOpenSinceYear and CompetitionOpenSinceMonth we calculate if the Competition Store is Open or not(CompetitionOpen). Similarly, we do the processing for Promotions and create a flag(PromoOpen)
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales_store = sales_store.assign(CompetitionOpenSinceYear = \n", + " case([(sales_store.CompetitionOpenSinceYear.isnull() == True, '0')], else_ = sales_store.CompetitionOpenSinceYear),\n", + " CompetitionOpenSinceMonth = \n", + " case([(sales_store.CompetitionOpenSinceMonth.isnull() == True, '0')], else_ = sales_store.CompetitionOpenSinceMonth),\n", + " Promo2SinceYear = \n", + " case([(sales_store.Promo2SinceYear.isnull() == True, '0')], else_ = sales_store.Promo2SinceYear),\n", + " Promo2SinceWeek = \n", + " case([(sales_store.Promo2SinceWeek.isnull() == True, '0')], else_ = sales_store.Promo2SinceWeek)\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales_store = sales_store.assign(Year = sales_store.SalesDate.year(),\n", + " Month = sales_store.SalesDate.month(),\n", + " Day = sales_store.SalesDate.day_of_month(),\n", + " DayOfWeek = sales_store.SalesDate.day_of_week(),\n", + " WeekOfYear = sales_store.SalesDate.week_of_year())\n", + "\n", + "sales_store = sales_store.assign(CompetitionOpen = 12 * (sales_store.Year - sales_store.CompetitionOpenSinceYear)+\n", + " (sales_store.Month - sales_store.CompetitionOpenSinceMonth),\n", + " PromoOpen = 12 * (sales_store.Year - sales_store.Promo2SinceYear)+\n", + " (sales_store.WeekOfYear - sales_store.Promo2SinceWeek) / 4.0)\n", + "\n", + "\n", + "sales_store = sales_store.assign(CompetitionOpen = case([(sales_store.CompetitionOpen > 0, sales_store.CompetitionOpen)], else_ = 0),\n", + " PromoOpen = case([(sales_store.PromoOpen > 0, sales_store.PromoOpen)], else_ = 0))\n", + " \n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales_store = sales_store.assign(StoreType = case([(sales_store.StoreType == '0', 0),(sales_store.StoreType == 'a', 1),\n", + " (sales_store.StoreType == 'b', 2),(sales_store.StoreType == 'c', 3),\n", + " (sales_store.StoreType == 'd', 4)]),\n", + " Assortment = case([(sales_store.Assortment == '0', 0),(sales_store.Assortment == 'a', 1),\n", + " (sales_store.Assortment == 'b', 2),(sales_store.Assortment == 'c', 3),\n", + " (sales_store.Assortment == 'd', 4)]),\n", + " StateHoliday = case([(sales_store.StateHoliday == '0', 0),(sales_store.StateHoliday == 'a', 1),\n", + " (sales_store.StateHoliday == 'b', 2),(sales_store.StateHoliday == 'c', 3),\n", + " (sales_store.StateHoliday == 'd', 4)])\n", + " \n", + " ) \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales_store = sales_store.assign(monthStr = case([(sales_store.Month == 1, 'Jan'),(sales_store.Month == 2, 'Feb'),\n", + " (sales_store.Month == 3, 'Mar'),(sales_store.Month == 4, 'Apr'),\n", + " (sales_store.Month == 5, 'May'),(sales_store.Month == 6, 'Jun'),\n", + " (sales_store.Month == 7, 'Jul'),(sales_store.Month == 8, 'Aug'),\n", + " (sales_store.Month == 9, 'Sep'),(sales_store.Month == 10, 'Oct'),\n", + " (sales_store.Month == 11,' Nov'),(sales_store.Month == 12, 'Dec')]),\n", + " IsPromoMonth = 0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales_store" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plot_sales = sales_store.select(['Month','Sales']).groupby('Month').mean()\n", + "plot = plot_sales.plot(x=plot_sales.Month, y=plot_sales.mean_Sales,\n", + " kind='bar', xlabel='Month', ylabel='Sales', color=\"orange\")\n", + " \n", + "# Display the plot.\n", + "plot.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The above graph shows the total sales across months for all stores. We can see that the sales are highest in December which is the Holiday Season.
\n", + "Now we will see the same metrics across different Store types and also based on whether there was any Promotion available(Promo=1) or not (Promo=0)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#Catplot month Vs Sales\n", + "features_df = sales_store.to_pandas(all_rows=True)\n", + "sns.catplot(data = features_df, x = 'Month', y = \"Sales\", \n", + " col = 'StoreType', # per store type in cols\n", + " palette = 'plasma',\n", + " # hue = 'StoreType',\n", + " row = 'Promo' # per promo in the store in rows\n", + " # color ='Year'\n", + " ) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
The above graph shows the Sales per Month for each of the 4 StoreTypes(a,b,c,d) for all the 1,115 Stores. The Top row shows the sales for Promo=0 and the bottom row is for Promo=1. Each dot represents the sum of sales for a particular store in a month depending on the Store Type and Promo Code. We can see that there are peaks mainly during the Year end period.
\n", + "All store types follow the same trend but at different scales depending on the presence of the promotion `Promo` and `StoreType` except for the StoreType = b.\n", + "
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "Next we try to get four stores from store types to represent their group:
\n", + "It also makes sense to down sample the data from days to weeks using the `resample` method to see the present trends more clearly.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "train_df = sales_store.select(['Store','SalesDate','Sales'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales_a = train_df[train_df.Store == 2].select(['SalesDate','Sales']).groupby('SalesDate').mean()\n", + "sales_b = train_df[train_df.Store == 85].select(['SalesDate','Sales']).groupby('SalesDate').sum()\n", + "# .sort_index(ascending = True) # solve the reverse order\n", + "sales_c = train_df[train_df.Store == 1].select(['SalesDate','Sales']).groupby('SalesDate').sum()\n", + "sales_d = train_df[train_df.Store == 15].select(['SalesDate','Sales']).groupby('SalesDate').sum()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "fig, axes = subplots(nrows=4, ncols=1)\n", + " \n", + "plot = sales_a.plot(x=sales_a.SalesDate, y=sales_a.mean_Sales,\n", + " ax=axes[0], figure=fig, kind=\"line\",xlabel='Sales Date', ylabel='Sales',\n", + " title=\"Sales for Store 2\", color=\"blue\",figsize=(1200, 1600))\n", + " \n", + "plot = sales_b.plot(x=sales_b.SalesDate, y=sales_b.sum_Sales,\n", + " ax=axes[1],figure=fig, kind=\"line\",xlabel='Sales Date', ylabel='Sales',\n", + " title=\"Sales for Store 85\", color=\"blue\")\n", + " \n", + "plot = sales_c.plot(x=sales_c.SalesDate, y=sales_c.sum_Sales,\n", + " ax=axes[2],figure=fig, kind=\"line\",xlabel='Sales Date', ylabel='Sales',\n", + " title=\"Sales for Store 1\", color=\"blue\")\n", + "\n", + "plot = sales_d.plot(x=sales_d.SalesDate, y=sales_d.sum_Sales,\n", + " ax=axes[3],figure=fig, kind=\"line\",xlabel='Sales Date', ylabel='Sales',\n", + " title=\"Sales for Store 15\", color=\"blue\")\n", + " \n", + "# Display the plot.\n", + "plot.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Retail sales for all store types tend to peak for the Christmas season and then decline after the holidays.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next we check the Yearly trend for these Store Types thing to check the presence of a trend in series. Time series decomposition is the process of separating time series data into its core components. These components include a potential trend (overall rise or fall in the mean), seasonality (a recurring cycle), and the remaining random residual. Python’s statsmodels library has a method for time series decomposition called seasonal_decompose(). The model type parameter can either be additive or multiplicative, here we consider additive as If the seasonality’s amplitude is independent of the level then you should use the additive model. The \"period\" parameter is the number of observations in a seasonal cycle. For example, if you have daily observations, the period is 1.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Sorting with 'date'\n", + "pd_sales_store = features_df\n", + "train_df = pd_sales_store.set_index('SalesDate')\n", + "# Sales datacheck\n", + "train_df['Sales'] = train_df['Sales'] * 1.0\n", + "# storewise sales data\n", + "sales_a = train_df[train_df.Store == 2]['Sales']\n", + "sales_b = train_df[train_df.Store == 85]['Sales']\n", + "# .sort_index(ascending = True) # solve the reverse order\n", + "sales_c = train_df[train_df.Store == 1]['Sales']\n", + "sales_d = train_df[train_df.Store == 15]['Sales']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Seasonal decompose\n", + "from statsmodels.tsa.seasonal import seasonal_decompose\n", + "\n", + "f, (ax1, ax2, ax3, ax4) = plt.subplots(4, figsize = (15, 15))\n", + "\n", + "# monthly\n", + "decomposition_a = seasonal_decompose(sales_a, model = 'additive', extrapolate_trend='freq', period=1)\n", + "decomposition_a.trend.plot(ax = ax1)\n", + "\n", + "decomposition_b = seasonal_decompose(sales_b, model = 'additive', extrapolate_trend='freq', period=1)\n", + "decomposition_b.trend.plot( ax = ax2)\n", + "\n", + "decomposition_c = seasonal_decompose(sales_c, model = 'additive', extrapolate_trend='freq', period=1)\n", + "decomposition_c.trend.plot( ax = ax3)\n", + "\n", + "decomposition_d = seasonal_decompose(sales_d, model = 'additive', extrapolate_trend='freq', period=1)\n", + "decomposition_d.trend.plot( ax = ax4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Overall sales follow similar Trend for all StoreTypes as seen above. There are spikes around the year end which indicate higher sales over the year end holiday season.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "5. Creating the model and forecasting using Prophet in python (stoSalesForecastnew.py).
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Prophet is a procedure for forecasting time series data based on an additive model where non-linear trends are fit with yearly, weekly, and daily seasonality, plus holiday effects. It works best with time series that have strong seasonal effects and several seasons of historical data. Prophet is robust to missing data and shifts in the trend, and typically handles outliers well.
\n", + "Prophet follows the sklearn model API. We create an instance of the Prophet class and then call its fit and predict methods.
\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "All the below steps which include the Prophet model are executed in the python in the file stoSalesForecastnew.py file. We then use this py file in the Script command and get the forecasted values.
\n", + "The input to Prophet is always a dataframe with two columns: ds and y. The ds (datestamp) column should be of a format expected by Pandas, ideally YYYY-MM-DD for a date or YYYY-MM-DD HH:MM:SS for a timestamp. The y column must be numeric and represents the measurement we wish to forecast.
\n", + "\n", + "The below code shows the creation of the Sales DataFrame and the holidays Dataframe which are used in the model creation and model fit.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create Sales data dataframe using data from Vantage
\n", + "\n", + "```python \n", + "# create Sales data \n", + "sales = pd_sales_store.rename(columns = {'SalesDate': 'ds','Sales': 'y'})\n", + "``` " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create holidays dataframe
\n", + "\n", + "```python\n", + "#create holidays dataframe\n", + " \n", + "\n", + "school_dates = df[df.SchoolHoliday == 1].loc[:, 'Date'].values\n", + "\n", + "school = pd.DataFrame({'holiday': 'school_holiday',\n", + " 'ds': pd.to_datetime(school_dates)})\n", + "\n", + "holidays = school \n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We fit the model by instantiating a new Prophet object. Any settings to the forecasting procedure are passed into the constructor. Then you call its fit method and pass in the historical dataframe(sales).
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Instantiate and fit model using Prophet
\n", + "\n", + "```python\n", + "\n", + "# Prophet implementation \n", + "my_model = Prophet(interval_width = 0.95, \n", + " holidays = holidays.head(50000))\n", + "my_model.fit(sales) \n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Predictions are then made on a dataframe with a column ds containing the dates for which a prediction is to be made. You can get a suitable dataframe that extends into the future a specified number of days using the helper method Prophet.make_future_dataframe. By default, it will also include the dates from the history, so we will see the model fit as well.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Create future dates for forecasting
\n", + "\n", + "```python\n", + "dt = min(sales['ds'].values)\n", + "date1 = datetime.datetime.strptime(dt, \"%y/%m/%d\").date()\n", + "\n", + "\n", + "\n", + "# # Subtract one month\n", + "start_date = date1 - relativedelta(months=1)\n", + "\n", + "# Get man date and then get future dates for 1 month\n", + "dt1 = max(sales['ds'].values)\n", + "date2 = datetime.datetime.strptime(dt1, \"%y/%m/%d\").date()\n", + "# date2 = datetime.datetime.strptime(datetime_str, \"%Y/%m/%dT%H:%M:%S.%f\").date()\n", + "end_date = date2 + relativedelta(months=1)\n", + "# end_date= str(end_value)\n", + "\n", + "\n", + "# # date_range = pd.date_range(start_date, periods=num_days)\n", + "date_range = pd.date_range(str(start_date), str(end_date))\n", + "\n", + "future_dates = pd.DataFrame({'ds': date_range}) \n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The predict method will assign each row in future a predicted value which it names yhat. If you pass in historical dates, it will provide an in-sample fit. The forecast object here is a new dataframe that includes the \"yhat\" column, which is the forecast values for sales, as well as columns for components and uncertainty intervals.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
Create dataframe with forecast values
\n", + "\n", + "```python\n", + "# forecast\n", + "forecast = my_model.predict(future_dates.head(10000)) \n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The forecasted values will be sent back to Vantage using the Returns clause of the Script function as seen in the section below.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "
6. Using APPLY Command to get the forecasted values back to Vantage.
\n", + "6.1 Create virtual environment for executing the script
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Function to set the Authentication token to connect to User Environment Service in VantageCloud Lake.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# We've already loaded all the values into our environment variables and into a dictionary, env_vars.\n", + "# username=env_vars.get(\"username\") isn't required when using base_url, pat and pem.\n", + "\n", + "if set_auth_token(base_url=env_vars.get(\"ues_uri\"),\n", + " pat_token=env_vars.get(\"access_token\"), \n", + " pem_file=env_vars.get(\"pem_file\"),\n", + " valid_from=int(time.time())\n", + " ):\n", + " print(\"UES Authentication successful\")\n", + "else:\n", + " print(\"UES Authentication failed. Check credentials.\")\n", + " sys.exit(1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Set the session to use the Analytic compute group and cluster to execute the OpenSourceML function.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "gpu_compute_group = env_vars.get(\"gpu_compute_group\")\n", + "execute_sql(f\"SET SESSION COMPUTE GROUP {gpu_compute_group};\")\n", + "print(f\"Compute group set to {gpu_compute_group}\") " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Check the user environments and create an environment for the usecase.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "list_user_envs()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "try:\n", + " env = create_env(\n", + " env_name=\"oaf_demo_env\",\n", + " base_env=\"python_3.9\",\n", + " desc=\"OAF Demo env for SalesForecasting Prophet\"\n", + " )\n", + "except:\n", + " remove_env(\"oaf_demo_env\")\n", + " env = create_env(\n", + " env_name=\"oaf_demo_env\",\n", + " base_env=\"python_3.9\",\n", + " desc=\"OAF Demo env for SalesForecasting Prophet\"\n", + " )\n", + " \n", + "env " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Confirm that the versions in the local environment are same to the virtual environment.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!pip list | grep scikit-learn\n", + "!pip list | grep scipy\n", + "!pip list | grep numpy\n", + "!pip list | grep pandas\n", + "!pip list | grep prophet" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "claim_id = env.install_lib([\"pandas==2.1.3\",\n", + " \"scipy==1.11.2\",\n", + " \"scikit-learn==1.1.3\",\n", + " \"numpy==1.24.2\",\n", + " \"sklearn-pandas==2.2.0\", \n", + " \"prophet==1.1.4\"], asynchronous=True)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Check the status of installation using status() API.\n", + "# Create a loop here for demo purposes\n", + "\n", + "ipydisplay(env.status(claim_id))\n", + "stage = env.status(claim_id)['Stage'].iloc[-1]\n", + "while stage == 'Started':\n", + " stage = env.status(claim_id)['Stage'].iloc[-1]\n", + " clear_output()\n", + " ipydisplay(env.status(claim_id))\n", + " sleep(5)\n", + " \n", + "# Verify the Python libraries have been installed correctly.\n", + "ipydisplay(env.libs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Set the user environment to the created virtual environment for the execution of the python script.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "configure.openml_user_env = env" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "6.2 Install the file and any additional artifacts
\n", + "\n", + "Use the install_file() method to install this python file to the container. As a reminder, this container is persistent, so these steps need only be done infrequently.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.install_file(\"stoSalesForecastnew.py\", replace=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "6.3 APPLY using Python
\n", + "The process is as follows
\n", + "\n", + "First we will create a dataset which can be passed to the Apply function.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "qry='''CREATE SET TABLE Store_Sales_ID \n", + " (\n", + " SlsID INTEGER,\n", + " Store INTEGER,\n", + " DayOfWeek INTEGER,\n", + " SalesDate DATE FORMAT 'yyyy/mm/dd',\n", + " Sales INTEGER,\n", + " Customers INTEGER,\n", + " SalesOpen INTEGER,\n", + " Promo INTEGER,\n", + " StateHoliday CHAR(1) CHARACTER SET LATIN NOT CASESPECIFIC,\n", + " SchoolHoliday INTEGER)\n", + " PRIMARY INDEX ( SlsID ); '''\n", + "qry1='''insert into Store_Sales_ID select 1, Store ,\n", + " DayOfWeek ,\n", + " SalesDate ,\n", + " Sales ,\n", + " Customers ,\n", + " SalesOpen ,\n", + " Promo ,\n", + " StateHoliday,\n", + " SchoolHoliday from DEMO_prophetSTO.Sales_Data where Store <= 5;'''\n", + "try:\n", + " execute_sql(qry)\n", + " execute_sql(qry1) \n", + "except:\n", + " db_drop_table('Store_Sales_ID')\n", + " execute_sql(qry)\n", + " execute_sql(qry1) " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "final_table_df2 = DataFrame('Store_Sales_ID')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Install the user script file on Vantage. In case of rerun if the file already exists we first remove it and then install again.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# return types\n", + "types_dict = OrderedDict({})\n", + "types_dict[\"ds\"] = VARCHAR(100)\n", + "types_dict[\"yhat\"] = VARCHAR(100)\n", + "types_dict[\"yhat_lower\"] = VARCHAR(100)\n", + "types_dict[\"yhat_upper\"] = VARCHAR(100)\n", + "types_dict[\"trend\"] = VARCHAR(100)\n", + "types_dict[\"trend_lower\"] = VARCHAR(100)\n", + "types_dict[\"trend_upper\"] = VARCHAR(100)\n", + "\n", + "# \"ds\":TIMESTAMP(0), \"yhat\": FLOAT(), \"yhat_lower\": FLOAT(), \"yhat_upper\": FLOAT() , \n", + "# \"trend\": FLOAT(), \"weekly\": FLOAT(), \"yearly\": FLOAT()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "env.install_file(\"stoSalesForecastnew.py\", replace=True)\n", + "apply_obj = Apply(\n", + " data=final_table_df2,\n", + " apply_command=\"python stoSalesForecastnew.py\",\n", + " # returns={\"ds\": VARCHAR(100)},\n", + " returns=types_dict,\n", + " env_name=env,\n", + " delimiter=\"\\t\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Execute the script in SQL using APPLY command with the following SQL code:
\n", + "Since the entire process of model training , fitting and scoring takes place in the .py file when used in the script command the below query make take some time approximately 50-60 seconds.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales_forecast_df = apply_obj.execute_script()\n", + "sales_forecast_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "sales_forecast_df.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output contains 5005 rows(1 for each date) and 7 columns.\n", + "
The forecasting output contains information for:\n", + "
\n", + "To plot the forecast Values we select only the required columns and convert the teradataml dataframe to pandas dataframe.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plot_output = sales_forecast_df.to_pandas(all_rows=True).reset_index()\n", + "plot_output[\"ds\"] = pd.to_datetime(plot_output['ds']).dt.date\n", + "plot_output[\"yhat\"] = pd.to_numeric(plot_output['yhat'])\n", + "plot_output[\"yhat_lower\"] = pd.to_numeric(plot_output['yhat_lower'])\n", + "plot_output[\"yhat_upper\"] = pd.to_numeric(plot_output['yhat_upper'])\n", + "plot_output[\"trend\"] = pd.to_numeric(plot_output['trend'])\n", + "plot_output[\"trend_lower\"] = pd.to_numeric(plot_output['trend_lower'])\n", + "plot_output[\"trend_upper\"] = pd.to_numeric(plot_output['trend_upper'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "plot_output_forecast = plot_output[['ds','yhat','yhat_lower','yhat_upper']].sort_values('ds', ascending=True)\n", + "# .tail(300)\n", + "plot_output_forecast = plot_output_forecast.reset_index()\n", + "plot_output_forecast.head(5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To plot the forecast Values and the confidence level we set the lower and upper bounds of the confidence interval to yhat_lower and yhat_upper.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "\n", + "\n", + "# Create the data for the line graph, including the x-values and the corresponding upper and lower bounds\n", + "x_values = plot_output_forecast['ds'].values\n", + "y_values = plot_output_forecast['yhat'].values\n", + "lower_bounds = plot_output_forecast['yhat_lower'].values\n", + "upper_bounds = plot_output_forecast['yhat_upper'].values\n", + "\n", + " \n", + "plt.figure(figsize=(12, 8))\n", + "# Plot the line graph\n", + "plt.plot(x_values, y_values, color='black', label='Forecast Values')\n", + "plt.fill_between(x_values, lower_bounds, upper_bounds, color='lightblue', alpha=0.3, label='Confidence Interval')\n", + "\n", + " \n", + "\n", + "# Customize the plot\n", + "\n", + "plt.xlabel('Date')\n", + "plt.ylabel('Forecast Values')\n", + "plt.title('Forecast Sales Values with Confidence Interval')\n", + "plt.legend()\n", + "\n", + " \n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The above graph contains the Forecast values(black line) and the light blue area is the range of the lower(yhat_lower) and upper(yhat_upper) limits of the forecasted values.
\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "7. Conclusion:
\n", + "We have trained and validated the Prophet model using the python script and used the APPLY Operator using OAF and data from Vantage. We get the forecasted data in Vantage using the python script.
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "8. Cleanup
\n", + "Work Tables
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "db_drop_table(table_name='Store_Sales_ID')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "remove_env(\"oaf_demo_env\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "remove_context()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If you have updated the teradataml package, reinstall the package by uncommenting and running the below code cell.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%capture\n", + "# !pip install teradataml==17.20.0.6 --force-reinstall\n", + "!pip install scikit-learn==1.0.2 --force-reinstall\n", + "!pip install numpy==1.24.2 --force-reinstall" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.10" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/VantageCloud_Lake/UseCases/Store_Sales_Forecasting_Prophet_OAF/images/OAF_Steps.png b/VantageCloud_Lake/UseCases/Store_Sales_Forecasting_Prophet_OAF/images/OAF_Steps.png new file mode 100644 index 00000000..632c32c9 Binary files /dev/null and b/VantageCloud_Lake/UseCases/Store_Sales_Forecasting_Prophet_OAF/images/OAF_Steps.png differ diff --git a/VantageCloud_Lake/UseCases/Store_Sales_Forecasting_Prophet_OAF/images/OAF_flow.png b/VantageCloud_Lake/UseCases/Store_Sales_Forecasting_Prophet_OAF/images/OAF_flow.png new file mode 100644 index 00000000..4dac803c Binary files /dev/null and b/VantageCloud_Lake/UseCases/Store_Sales_Forecasting_Prophet_OAF/images/OAF_flow.png differ diff --git a/VantageCloud_Lake/UseCases/Store_Sales_Forecasting_Prophet_OAF/images/STO.png b/VantageCloud_Lake/UseCases/Store_Sales_Forecasting_Prophet_OAF/images/STO.png new file mode 100644 index 00000000..8916da63 Binary files /dev/null and b/VantageCloud_Lake/UseCases/Store_Sales_Forecasting_Prophet_OAF/images/STO.png differ diff --git a/VantageCloud_Lake/UseCases/Store_Sales_Forecasting_Prophet_OAF/stoSalesForecastnew.py b/VantageCloud_Lake/UseCases/Store_Sales_Forecasting_Prophet_OAF/stoSalesForecastnew.py new file mode 100644 index 00000000..aee10640 --- /dev/null +++ b/VantageCloud_Lake/UseCases/Store_Sales_Forecasting_Prophet_OAF/stoSalesForecastnew.py @@ -0,0 +1,150 @@ +# ####################################################################################################################### +# The code in the file gets input from Vantage table and creates prophet model and forecats sales using the forecast +# function of the Prophet model. These forecasted values are passed back to Vantage when this script is called using the +# Vantage Script command. +# ####################################################################################################################### +# Import the necessary libraries +import sys +import numpy as np +import pandas as pd +import subprocess + +# Prophet Library +from prophet import Prophet +import pickle +import base64 +import sys, os + +from contextlib import contextmanager +import logging +import datetime +# from datetime import date +from dateutil.relativedelta import relativedelta + +logging.basicConfig(format='%(process)d-%(levelname)s-%(message)s') + +# create a class which will be used to supress the output of the model.fit function +class suppress_stdout_stderr(object): + """ + Filter out Prophet logs from stdout and stderr + + from https://stackoverflow.com/questions/11130156/suppress-stdout-stderr-print-from-python-functions + Update: https://github.com/facebook/prophet/issues/223 randlet, 2017-09-31 + """ + def __init__(self): + self.null_fds = [os.open(os.devnull, os.O_RDWR) for x in range(2)] + self.save_fds = [os.dup(1), os.dup(2)] + + def __enter__(self): + os.dup2(self.null_fds[0], 1) + os.dup2(self.null_fds[1], 2) + + def __exit__(self, *_): + os.dup2(self.save_fds[0], 1) + os.dup2(self.save_fds[1], 2) + for fd in self.null_fds + self.save_fds: + os.close(fd) + + +### +### Read input +### + + +delimiter = '\t' +inputData = [] + +for line in sys.stdin.read().splitlines(): + line = line.split(delimiter) + inputData.append(line) + +### +### If no data received, gracefully exit rather than producing an error later. +### + +if not inputData: + sys.exit() + +### +### Set up input DataFrame according to input schema +### + +# Know your data: You must know in advance the number of incoming columns from the database! + +columns = ['SlsID','Store','DayOfWeek', 'SalesDate', 'Sales', 'Customers', 'SalesOpen','Promo', 'StateHoliday', + 'SchoolHoliday'] + +df = pd.DataFrame(inputData, columns=columns).copy() + +del inputData + +# create sales dataframe using the SalesDate as 'ds' and Sales as 'y' which is needed as input to the Prophet model +sales = df.rename(columns = {'SalesDate': 'ds', + 'Sales': 'y'}) + +sales=sales[['ds','y']] + +# Get dates for school holidays + +school_dates_df=df[['SalesDate','SchoolHoliday']] +school_dates_df['SchoolHoliday'] = pd.to_numeric(school_dates_df['SchoolHoliday']) +school_dates = school_dates_df.loc[school_dates_df.SchoolHoliday == 1, 'SalesDate'].values + + +school = pd.DataFrame({'holiday': 'school_holiday', + 'ds': pd.to_datetime(school_dates)}) + + +holidays = school + + +# # Prophet implementation +# Train model +my_model = Prophet(interval_width = 0.70, changepoint_prior_scale=0.05,seasonality_prior_scale=0.03,holidays_prior_scale=0.03, + holidays = holidays.head(1000)) + + +# Fit model using the Sales data +with suppress_stdout_stderr(): + my_model.fit(sales) + + + +# dataframe that extends into future and history +# future_dates = my_model.make_future_dataframe(periods=365) + +# Get min date and then go back 1 month +dt = min(sales['ds'].values) +# date1 = datetime.datetime.strptime(dt, "%y/%m/%d").date() +date1 = datetime.datetime.strptime(dt, "%Y-%m-%d").date() + +# Subtract one month +start_date = date1 - relativedelta(months=1) + +# Get max date and then get future dates for 1 month +dt1 = max(sales['ds'].values) +# date2 = datetime.datetime.strptime(dt1, "%y/%m/%d").date() +date2 = datetime.datetime.strptime(dt1, "%Y-%m-%d").date() + +# Add one month +end_date = date2 + relativedelta(months=1) +# end_date= str(end_value) + +# Create date range using start date and end date +date_range = pd.date_range(str(start_date), str(end_date)) + +# Create data frame for the dates to be passed to predict function +future_dates = pd.DataFrame({'ds': date_range}) + +# forecast +forecast_df = my_model.predict(future_dates) +# df_5 = forecast_df.head(5) +# for index, row in sales.iterrows(): +# print(row['ds']) +# Export results to Advanced SQL Engine through standard output in expected format. +# for index, row in future_dates.iterrows(): +# print(row['ds']) +# for ind, column in enumerate(forecast_df.columns): +# print(column) +for index, row in forecast_df.iterrows(): + print(row['ds'], delimiter, row['yhat'], delimiter,row['yhat_lower'], delimiter, row['yhat_upper'], delimiter, row['trend'], delimiter, row['trend_lower'], delimiter, row['trend_upper']) diff --git a/VantageCloud_Lake/UseCases/Telco_Customer_Churn/VCL_Telco_Customer_Churn_Python.ipynb b/VantageCloud_Lake/UseCases/Telco_Customer_Churn/VCL_Telco_Customer_Churn_Python.ipynb new file mode 100644 index 00000000..eb4db4d3 --- /dev/null +++ b/VantageCloud_Lake/UseCases/Telco_Customer_Churn/VCL_Telco_Customer_Churn_Python.ipynb @@ -0,0 +1,1576 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "78ad8a32", + "metadata": {}, + "source": [ + "\n",
+ " Telco Customer Churn\n",
+ "
\n",
+ " \n",
+ "
Introduction
\n", + "\n", + "\n", + "Customer churn is a concern for all companies, but the complexity makes it difficult to track. Customers may leave due to various reasons such dissatisfaction with service quality, pricing, customer service, or finding better alternatives from competitors. Although some churn may be expected, companies aim to retain their customers to avoid using additional resources to find new customers. Thus, with the help of Teradata Vantage, companies can attain their goal of identifying the factors contributing to the churn, so they can take appropriate measures to retain customers. Vantage’s capabilities allow companies to analyze large amounts of customer data, such as usage patterns, billing information, demographics, and interactions, to find patterns that may indicate customers who are at risk of churning. Plus, Teradata’s machine learning and predictive analytics can be used to build models to predict customers which are likely to churn in the future. This information will give companies the chance to intervene, including sending targeted marketing campaigns, personalized offers, improved customer service, or addressing customer concern.
\n", + "Business Values
\n", + "Why Vantage?
\n", + "\n",
+ "Traditional ML and AI development and deployment pipelines require users to manually combine various tools and techniques across the lifecycle. This leads to lengthy, fragile, manual, error-prone processes that are, in many cases, impossible to migrate out of the lab and into production in order to realize business value.
ClearScape Analytics helps to solve this “development to deployment gap” by providing highly scalable, performant, and easy-to-use analytic capabilities that address all aspects of the development lifecycle. The same tools and techniques that data scientists use in development can be seamlessly deployed into production using the same code, platform, and operational pipeline.
\n", + "Managing telco churn is complex and requires continuous monitoring, analysis, and proactive customer engagement strategies. By using data and advanced analytics, telecom companies can better understand customer behavior and preferences, and take proactive measures to retain customers and maintain profitability.
\n", + "\n", + "\n", + "Let's demonstrate this use case with sample data using InDb analytics in Vantage which can pre-process and analyze huge amounts of data and at scale. \n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "22173c1b-a4eb-4cd7-b0ae-ba68bc39aba2", + "metadata": {}, + "source": [ + "1. Configure the environment
\n", + "\n",
+ "Before we start working with our data, we need to set up our environment. This involves importing the necessary packages and establishing a connection to Vantage.\n",
+ "
\n",
+ "Here's how we can do this:
2. Connect to VantageCloud Lake
\n", + "Connect to VantageCloud using create_context
from the teradataml Python library. If this environment has been prepared for connecting to a VantageCloud Lake OAF Container, all the details required will be loaded and you will see an acknowledgement after executing this cell.
3. Load the data
\n", + "\n", + "We have provided data for this demo in the lake environment. The data is available in the database \"DEMO_Telco\". Your user should have read access to the database. In case of any issues please write a mail to the support group (\"SC230208@teradata.com\").
\n", + " \n", + "**Note: The tables are available in DEMO_Telco_DB database and we have created views in DEMO_Telco database which are used in the cells below
" + ] + }, + { + "cell_type": "markdown", + "id": "bdd6dd8c", + "metadata": {}, + "source": [ + "4. Data Exploration
" + ] + }, + { + "cell_type": "markdown", + "id": "13288769-f1b3-40a5-8cad-95e5f4ae92fd", + "metadata": {}, + "source": [ + "Customer Churn
\n", + "Let us start by creating a \"Virtual DataFrame\" that points directly to the dataset in Vantage. We then begin our analysis by checking the shape of the DataFrame and examining the data types of all its columns.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d40df274-d9cb-439b-93bb-343d317f052c", + "metadata": {}, + "outputs": [], + "source": [ + "tdf = DataFrame(in_schema(\"DEMO_Telco\", \"Customer_Churn\"))\n", + "tdf" + ] + }, + { + "cell_type": "markdown", + "id": "1d620292-c936-4546-89eb-59fd50c35221", + "metadata": {}, + "source": [ + "We can check the demographics of data by shape and info method.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "279ee6be-9288-41ae-b21a-f2389add4623", + "metadata": {}, + "outputs": [], + "source": [ + "print(\"Shape of the data: \", tdf.shape)\n", + "tdf.info()" + ] + }, + { + "cell_type": "markdown", + "id": "4d9927f9-f0f6-4f45-966d-7b7b2ca36f84", + "metadata": {}, + "source": [ + "As we can see from above result our dataset has 7043 rows with 21 columns.
" + ] + }, + { + "cell_type": "markdown", + "id": "b03454cf-d47a-4edc-aea4-5b517b7da9d6", + "metadata": {}, + "source": [ + "Summary of Columns
\n",
+ "
We can use the ColumnSummary function for quickly examining the columns, their datatypes, and summary of NULLs/non-NULLs for a given table.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21eece2c-533a-40e3-bcad-4ed4bb2b6cf3", + "metadata": {}, + "outputs": [], + "source": [ + "from teradataml import ColumnSummary\n", + "obj = ColumnSummary(data=tdf,\n", + " target_columns=[':']\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7eeb1e86-c00a-48d5-8e3b-363118c847ce", + "metadata": {}, + "outputs": [], + "source": [ + "obj.result.head(21)" + ] + }, + { + "cell_type": "markdown", + "id": "a91e3850-12c5-4b74-b17d-852092e81925", + "metadata": {}, + "source": [ + "4.1 Exploratory Data Analysis
" + ] + }, + { + "cell_type": "markdown", + "id": "befaaeb8-fab9-43f6-8a0a-efdb0e486377", + "metadata": {}, + "source": [ + "\n",
+ "Exploratory Data Analysis (EDA) is a process where we visually and statistically examine, analyze, and summarize data to comprehend its characteristics, patterns, and relationships. This approach is crucial for gaining insights and a deeper understanding of the dataset at hand.
First let us analyse the Gender and Churn distributions in our data.
\n", + "We can see that the aggregated data is available to us in teradataml dataframe. Let's visualize this data to better understand the Churn and gender distributions. Clearscape Analytics can easily integrate with 3rd party visualization tools like Tableau, PowerBI or many python modules available like plotly, seaborn etc. We can do all the calculations and pre-processing on Vantage and pass only the necessary information to visulazation tools, this will not only make the calculation faster but also reduce the overall time due to less data movement between tools.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d38b54fe-bbb5-45dd-b685-c82be89211f3", + "metadata": {}, + "outputs": [], + "source": [ + "d1=d1.to_pandas().reset_index()\n", + "d2=d2.to_pandas().reset_index()\n", + "#Gender and Churn percentage distribution\n", + "# Create subplots: use 'domain' type for Pie subplot\n", + "fig = make_subplots(rows=1, cols=2, specs=[[{'type':'domain'}, {'type':'domain'}]])\n", + "fig.add_trace(go.Pie(labels=d1['Gender'], values=d1['Count'], name=\"Gender\"),\n", + " 1, 1)\n", + "fig.add_trace(go.Pie(labels=d2['Churn'], values=d2['Count'], name=\"Churn\"),\n", + " 1, 2)\n", + "\n", + "# Use `hole` to create a donut-like pie chart\n", + "fig.update_traces(hole=.4, hoverinfo=\"label+percent+name\", textfont_size=16)\n", + "\n", + "fig.update_layout(\n", + " title_text=\"Gender and Churn Distributions\",\n", + " # Add annotations in the center of the donut pies.\n", + " annotations=[dict(text='Gender', x=0.16, y=0.5, font_size=20, showarrow=False),\n", + " dict(text='Churn', x=0.84, y=0.5, font_size=20, showarrow=False)])\n", + "fig.show()" + ] + }, + { + "cell_type": "markdown", + "id": "6d394641-ba1c-44de-9db3-be2286aa3d13", + "metadata": {}, + "source": [ + "From the above plot we can see that 26.6 % of customers switched to another firm.
And of total customers 49.5 % are female and 50.5 % are male.
Now, let us see the chrun with respect to gender.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "56d127df-8eea-4d51-9f68-7179a3969884", + "metadata": {}, + "outputs": [], + "source": [ + "d3=tdf.select(['Churn','Gender','CustomerID']).groupby(['Churn','Gender']).count()\n", + "d3 = d3.assign(drop_columns=True,\n", + " Churn=d3.Churn,\n", + " Gender=d3.Gender, \n", + " Count=d3.count_CustomerID)\n", + "d3" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8075c4b0-f668-4924-bf32-ef8c3a375c92", + "metadata": {}, + "outputs": [], + "source": [ + "d3=d3.to_pandas().reset_index()\n", + "fig2=px.sunburst(d3,path=['Churn','Gender'],values='Count')\n", + "fig2.update_layout(\n", + " title_text=\"Churn Distribution w.r.t Gender\")\n", + "fig2.show()" + ] + }, + { + "cell_type": "markdown", + "id": "eedfa546-3b86-4aa8-a4b9-1c47f922c5db", + "metadata": {}, + "source": [ + "We can see that there is negligible difference in customer count who changed the service provider. Both genders behaved in similar fashion when it comes to migrating to another service provider.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "43b27db1-3a04-440b-a382-da72669babb3", + "metadata": {}, + "outputs": [], + "source": [ + "d4=tdf.select(['Churn','Contract','CustomerID']).groupby(['Churn','Contract']).count()\n", + "d4 = d4.assign(drop_columns=True,\n", + " Churn=d4.Churn,\n", + " Contract=d4.Contract, \n", + " Count=d4.count_CustomerID)\n", + "d4" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d0d4bd6b-f9fa-4930-ba88-379b1308c795", + "metadata": {}, + "outputs": [], + "source": [ + "d4=d4.to_pandas().reset_index()\n", + "fig4 = px.bar(d4,x=\"Churn\",y=\"Count\", color=\"Contract\", barmode=\"group\", title=\"Customer contract distribution\")\n", + "fig4.update_layout(width=700, height=500, bargap=0.1)\n", + "fig4.show()" + ] + }, + { + "cell_type": "markdown", + "id": "cb97cf05-b143-43e9-bf3a-b7ed267c1ad7", + "metadata": {}, + "source": [ + "We can see that about 75% of customer with Month-to-Month Contract opted to move out as compared to 13% of customers with One Year Contract and 3% with Two Year Contract.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "57466f9f-ab11-4e32-ae9f-7c0fce65ed4d", + "metadata": {}, + "outputs": [], + "source": [ + "d5=tdf.select(['PaymentMethod','CustomerID']).groupby('PaymentMethod').count()\n", + "d5 = d5.assign(drop_columns=True,\n", + " PaymentMethod=d5.PaymentMethod,\n", + " Count=d5.count_CustomerID)\n", + "d5" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21d214d3-db22-4602-9fa2-9c694282d056", + "metadata": {}, + "outputs": [], + "source": [ + "d5=d5.to_pandas().reset_index()\n", + "fig5 = go.Figure(data=[go.Pie(labels=d5['PaymentMethod'], values=d5['Count'], hole=.3)])\n", + "fig5.update_layout(title_text=\"Payment Method Distribution\")\n", + "fig5.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ea725ada-aa8c-4dec-9648-1cdc26a17cd9", + "metadata": {}, + "outputs": [], + "source": [ + "d6=tdf.select(['Churn','PaymentMethod','CustomerID']).groupby(['Churn','PaymentMethod']).count()\n", + "d6 = d6.assign(drop_columns=True,\n", + " Churn=d6.Churn,\n", + " PaymentMethod=d6.PaymentMethod, \n", + " Count=d6.count_CustomerID)\n", + "d6" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a576fade-bb95-4c62-ab6f-94c06d0b5ddf", + "metadata": {}, + "outputs": [], + "source": [ + "d6=d6.to_pandas().reset_index()\n", + "fig6 = px.bar(d6,x=\"Churn\",y=\"Count\", color=\"PaymentMethod\", barmode=\"stack\", title=\"Customer Payment Method distribution w.r.t. Churn\")\n", + "fig6.update_layout(width=700, height=500, bargap=0.1)\n", + "fig6.show()" + ] + }, + { + "cell_type": "markdown", + "id": "8fd84375-3d85-47cd-9076-6a6b8ea3e496", + "metadata": {}, + "source": [ + "Major customers who moved out were having Electronic Check as Payment Method.\n",
+ "
Customers who opted for Credit-Card automatic transfer or Bank Automatic Transfer and Mailed Check as Payment Method were less likely to move out.
We can see that a lot of customers choose the Fiber optic service as compared to DSL but it's also evident that the customers who use Fiber optic have high churn rate, this might suggest a dissatisfaction with this type of internet service.\n",
+ "
Customers having DSL service have less churn rate compared to Fiber optic service.
Customers without dependents are more likely to churn.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d4ca94e9-b31f-4fb5-824b-d21f58ef3055", + "metadata": {}, + "outputs": [], + "source": [ + "d9=tdf.select(['Churn','Partner','CustomerID']).groupby(['Churn','Partner']).count()\n", + "d9 = d9.assign(drop_columns=True,\n", + " Churn=d9.Churn,\n", + " Partner=d9.Partner,\n", + " Count=d9.count_CustomerID)\n", + "d9" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3e587308-8648-406b-9aca-f8906d8abe60", + "metadata": {}, + "outputs": [], + "source": [ + "d9=d9.to_pandas().reset_index()\n", + "color_map = {\"Yes\": '#FFA15A', \"No\": '#00CC96'}\n", + "fig9 = px.bar(d9, x=\"Churn\",y=\"Count\", color=\"Partner\", barmode=\"group\", title=\"Chrun distribution w.r.t. Partners\", color_discrete_map=color_map)\n", + "fig9.update_layout(width=700, height=500, bargap=0.1)\n", + "fig9.show()" + ] + }, + { + "cell_type": "markdown", + "id": "649567b1-3232-49bf-840a-8518b38c29b4", + "metadata": {}, + "source": [ + "Customers that don't have partners are more likely to churn.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5efe37b2-f14b-4499-abde-0f155cb8e3f0", + "metadata": {}, + "outputs": [], + "source": [ + "d10=tdf.select(['Churn','PaperlessBilling','CustomerID']).groupby(['Churn','PaperlessBilling']).count()\n", + "d10 = d10.assign(drop_columns=True,\n", + " Churn=d10.Churn,\n", + " PaperlessBilling=d10.PaperlessBilling,\n", + " Count=d10.count_CustomerID)\n", + "d10" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f24940fb-b15f-4460-803a-8c82ffbef623", + "metadata": {}, + "outputs": [], + "source": [ + "d10=d10.to_pandas().reset_index()\n", + "color_map = {\"Yes\": '#FFA15A', \"No\": '#00CC96'}\n", + "fig10 = px.bar(d10, x=\"Churn\",y=\"Count\", color=\"PaperlessBilling\", title=\"Chrun distribution w.r.t. Paperless Billing\", color_discrete_map=color_map)\n", + "fig10.update_layout(width=700, height=500, bargap=0.1)\n", + "fig10.show()" + ] + }, + { + "cell_type": "markdown", + "id": "fd6697e7-1dcc-44b1-9428-290856a1cb0c", + "metadata": {}, + "source": [ + "Customers with Paperless Billing are most likely to churn.
" + ] + }, + { + "cell_type": "markdown", + "id": "fa5ea57f-b8ba-44eb-9d9b-cf07d37b77b5", + "metadata": {}, + "source": [ + "5. Data Preprocessing
" + ] + }, + { + "cell_type": "markdown", + "id": "b58490d2-1f7a-4941-a62a-e99a4b7f7543", + "metadata": {}, + "source": [ + "Before the data can be used for model creation; we will need to do some data cleansing and transformation on it. We can do this InDb with Teradata Vantage's inbuilt functions.
We will use the CategoricalSummary function to showcase the distinct values and their corresponding counts for each specified column in the input DataFrame. This function provides a concise summary of categorical data, aiding in a quick understanding of the distribution of values within the specified columns.
\n", + "As we can see from the sample data above and the categorical summary values, the columns
\n", + "are related to InternetService, wherever InternetService value is \"No\" the column have value of \"No internet service\". For our model let us replace \"No internet service\" to No in our column. We will do similar operation for replacing \"No phone service\" to \"No\".
We will use sqlalchemy's oreplace function to replace the respective strings to desired value.
Onehotencoding & Ordinal encoding
\n", + "From our categorical attributes we can see that there are limited distinct values in each of these columns. We will use Teradata's OneHotEncodingFit and Transform and OrdinalEncodingFit and Transform functions to convert the categorical attributes to numerical.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bc112884-d0bf-462d-9024-003bb4c2640a", + "metadata": {}, + "outputs": [], + "source": [ + "onehotfit_df = OneHotEncodingFit(data=tdf2,\n", + " is_input_dense=True,\n", + " approach=\"auto\",\n", + " target_column=[\"Gender\",\"Partner\",\"Dependents\",\"PhoneService\",\"MultipleLines\",\"OnlineSecurity\"\n", + " ,\"OnlineBackup\",\"DeviceProtection\",\"TechSupport\",\"StreamingTV\",\"StreamingMovies\",\n", + " \"PaperlessBilling\"],\n", + " category_counts=[2,2,2,2,2,2,2,2,2,2,2,2])" + ] + }, + { + "cell_type": "markdown", + "id": "2c136b69-41c1-42f1-bf47-89d1dae800a3", + "metadata": {}, + "source": [ + "\n", + "The other categorical columns
\n", + "have more values where we can apply ordinalencoding on it
\n", + " \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0e6b2946-b138-4ad6-aaa7-dff619fcf1e7", + "metadata": {}, + "outputs": [], + "source": [ + "ordinalfit_df = OrdinalEncodingFit(target_column=['InternetService','Contract','PaperlessBilling','PaymentMethod'],\n", + " default_value=-1,\n", + " data=tdf2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ffe66188-9511-485c-84e5-2638f758f4c6", + "metadata": {}, + "outputs": [], + "source": [ + "ordinalfit_df.result" + ] + }, + { + "cell_type": "markdown", + "id": "7a437c68-b650-4300-a3e8-cd39a5e21054", + "metadata": {}, + "source": [ + "Scale the numerical values
For the numercial attributes we will use ScaleFit and ScaleTransform function to scale the specified input table columns i.e perform the specific scale methods like standard deviation, mean etc to the input columns.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "059dd73a-3751-46a8-85bf-7a11a7eacb7c", + "metadata": {}, + "outputs": [], + "source": [ + "scalefit_df = ScaleFit(data=tdf2,\n", + " target_columns=['MonthlyCharges','TotalCharges'],\n", + " scale_method=\"MIDRANGE\",\n", + " miss_value=\"KEEP\",\n", + " global_scale=False)" + ] + }, + { + "cell_type": "markdown", + "id": "faec04de-8197-4c10-bcc5-3bc3f605e81e", + "metadata": {}, + "source": [ + "Putting it altogether
We will use ColumnTransformer function to apply all the transformations from the fit tables created below in one go.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d108b118-0970-4c84-9371-df4ef125ce69", + "metadata": {}, + "outputs": [], + "source": [ + "ColumnTransformer_out = ColumnTransformer(fillrowid_column_name=\"output_value\",\n", + " input_data=tdf2,\n", + " onehotencoding_fit_data=onehotfit_df.result,\n", + " ordinalencoding_fit_data=ordinalfit_df.result,\n", + " scale_fit_data=scalefit_df.output)\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4da18dae-fec0-4bba-b87c-ab7045fd21e1", + "metadata": {}, + "outputs": [], + "source": [ + "Transformed_data= ColumnTransformer_out.result.assign(drop_columns=True,\n", + " Churn=tdf2.Churn,\n", + " CustomerID=ColumnTransformer_out.result.CustomerID,\n", + " SeniorCitizen=ColumnTransformer_out.result.SeniorCitizen,\n", + " Tenure=ColumnTransformer_out.result.Tenure,\n", + " InternetService=ColumnTransformer_out.result.InternetService,\n", + " Contract=ColumnTransformer_out.result.Contract,\n", + " PaperlessBilling=ColumnTransformer_out.result.PaperlessBilling,\n", + " PaymentMethod=ColumnTransformer_out.result.PaymentMethod,\n", + " MonthlyCharges=ColumnTransformer_out.result.MonthlyCharges,\n", + " TotalCharges=ColumnTransformer_out.result.TotalCharges,\n", + " Gender_0=ColumnTransformer_out.result.Gender_0,\n", + " Gender_1=ColumnTransformer_out.result.Gender_1,\n", + " Partner_0=ColumnTransformer_out.result.Partner_0,\n", + " Partner_1=ColumnTransformer_out.result.Partner_1,\n", + " Dependents_0=ColumnTransformer_out.result.Dependents_0,\n", + " Dependents_1=ColumnTransformer_out.result.Dependents_1,\n", + " PhoneService_0=ColumnTransformer_out.result.PhoneService_0,\n", + " PhoneService_1=ColumnTransformer_out.result.PhoneService_1,\n", + " MultipleLines_0=ColumnTransformer_out.result.MultipleLines_0,\n", + " MultipleLines_1=ColumnTransformer_out.result.MultipleLines_1,\n", + " OnlineSecurity_0=ColumnTransformer_out.result.OnlineSecurity_0,\n", + " OnlineSecurity_1=ColumnTransformer_out.result.OnlineSecurity_1,\n", + " OnlineBackup_0=ColumnTransformer_out.result.OnlineBackup_0,\n", + " OnlineBackup_1=ColumnTransformer_out.result.OnlineBackup_1,\n", + " DeviceProtection_0=ColumnTransformer_out.result.DeviceProtection_0,\n", + " DeviceProtection_1=ColumnTransformer_out.result.DeviceProtection_1,\n", + " TechSupport_0=ColumnTransformer_out.result.TechSupport_0,\n", + " TechSupport_1=ColumnTransformer_out.result.TechSupport_1,\n", + " StreamingTV_0=ColumnTransformer_out.result.StreamingTV_0,\n", + " StreamingTV_1=ColumnTransformer_out.result.StreamingTV_1,\n", + " StreamingMovies_0=ColumnTransformer_out.result.StreamingMovies_0,\n", + " StreamingMovies_1=ColumnTransformer_out.result.StreamingMovies_1,\n", + " PaperlessBilling_0=ColumnTransformer_out.result.PaperlessBilling_0,\n", + " PaperlessBilling_1=ColumnTransformer_out.result.PaperlessBilling_1)\n", + " \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7e4c30b0-4989-4540-bf60-3e4631afeacd", + "metadata": {}, + "outputs": [], + "source": [ + "Transformed_data" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f38c7f0f-6da8-4ef9-acaf-0774d29c92e8", + "metadata": {}, + "outputs": [], + "source": [ + "Transformed_data.shape" + ] + }, + { + "cell_type": "markdown", + "id": "0edef2c8-e568-4626-9377-e189d66e3350", + "metadata": {}, + "source": [ + "We can see from above how our data is transformed from the original values.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "05c50e66-97a9-4fc9-8bd1-20654dc318fc", + "metadata": {}, + "outputs": [], + "source": [ + "# Copying the intermediate table to database\n", + "Transformed_data.to_sql(\"Transformed_data\",primary_index = \"CustomerID\", if_exists = \"replace\")" + ] + }, + { + "cell_type": "markdown", + "id": "37551d5e-2366-42cf-83f9-1a48ee438c6c", + "metadata": {}, + "source": [ + "Create train and test data
Now we have transformed our data and it is fit to be used in machine learning models, let us split the whole dataset into train and test sets for model training and scoring. We will use TrainTestSplit function for this task.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b22bf0d0-255e-4ea9-8bdc-ffac9ea02f34", + "metadata": {}, + "outputs": [], + "source": [ + "TrainTestSplit_out = TrainTestSplit(\n", + " data = DataFrame('Transformed_data'),\n", + " id_column = \"CustomerID\",\n", + " train_size = 0.75,\n", + " test_size = 0.25,\n", + " seed = 21\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "19d382b8-7f46-43f8-aee9-5598d6f24ebf", + "metadata": {}, + "outputs": [], + "source": [ + "# Split into 2 virtual dataframes\n", + "df_train = TrainTestSplit_out.result[TrainTestSplit_out.result['TD_IsTrainRow'] == 1].drop(['TD_IsTrainRow'], axis = 1)\n", + "df_test = TrainTestSplit_out.result[TrainTestSplit_out.result['TD_IsTrainRow'] == 0].drop(['TD_IsTrainRow'], axis = 1)" + ] + }, + { + "cell_type": "markdown", + "id": "88e87734-1eb6-47a6-87d4-3b2d0585088a", + "metadata": {}, + "source": [ + "We have done our preprocessing of data and we created our training and test datasets, let's now create some predictive models." + ] + }, + { + "cell_type": "markdown", + "id": "3624ff0f-2e80-450e-a76e-85398a8c73da", + "metadata": {}, + "source": [ + "
6. InDb Model Training and Scoring
" + ] + }, + { + "cell_type": "markdown", + "id": "2893fa15-2812-473d-b91c-5949ba436461", + "metadata": {}, + "source": [ + "6.1 Logistic Regression
" + ] + }, + { + "cell_type": "markdown", + "id": "f4561645-5edd-4e2b-9983-59e77ab4745a", + "metadata": {}, + "source": [ + "For our model we will use logistic regression.
\n",
+ " Logistic regression is a statistical algorithm used for binary classification problems. It is a type of supervised learning algorithm that predicts the probability of an input belonging to a certain class (e.g., positive or negative) based on its features.
Logistic regression works by modeling the relationship between the input features and the probability of belonging to a certain class using a logistic function. The logistic function takes the input feature values and maps them onto a probability scale between 0 and 1, which represents the probability of belonging to the positive class.
\n",
+ " The GLM function is a generalized linear model (GLM) that performs regression and classification analysis on data sets.\n",
+ "
Please refer GLM for function elements and output."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "cc6639e3-2427-42d2-b302-08e18196b2b1",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_train"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "e92723cc-1aec-4fee-97fe-96b3e86e7802",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from teradataml import GLM, TDGLMPredict\n",
+ "\n",
+ "glm_model = GLM(data = df_train,\n",
+ " #input_columns = train_col,\n",
+ " input_columns = ['1:8','10:33'], \n",
+ " response_column = 'Churn',\n",
+ " family = 'Binomial')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "0e3b4239-40a5-4b2c-9589-7d974c574641",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "glm_model.result"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a24bb51b-7115-486e-957a-848bad5bc4d9",
+ "metadata": {},
+ "source": [
+ "
We have created our model, let's do the predictions on the test dataset." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd7ac897-3b98-47f6-a9c8-33a75f6dac4f", + "metadata": {}, + "outputs": [], + "source": [ + "glm_prediction = TDGLMPredict(newdata = df_test, #test_dataset,\n", + " id_column = 'CustomerID',\n", + " object = glm_model.result,\n", + " accumulate = 'Churn',\n", + " family = 'Binomial',\n", + " output_prob=True,\n", + " output_responses = ['0', '1'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c5280b57-9e01-42c4-9b89-5734dc0968bf", + "metadata": {}, + "outputs": [], + "source": [ + "glm_prediction.result\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "498799ce-2607-4cba-94e6-26a40abd7d0e", + "metadata": {}, + "outputs": [], + "source": [ + "out_glm = glm_prediction.result.assign(prediction = glm_prediction.result.prediction.cast(type_ = BYTEINT))\n", + "out_glm = out_glm.assign(prediction = out_glm.prediction.cast(type_ = VARCHAR(2)))\n", + "out_glm = out_glm.assign(Churn = out_glm.Churn.cast(type_ = VARCHAR(2)))\n", + "out_glm" + ] + }, + { + "cell_type": "markdown", + "id": "121887bb-4fb2-429f-99d7-120c6dd47e51", + "metadata": {}, + "source": [ + "
The output above shows prob_1, i.e. customer will Churn and prob_0, i.e. customer will not Churn. The prediction column uses these probabilities to give a class label, i.e. prediction column.
" + ] + }, + { + "cell_type": "markdown", + "id": "7fa0a4c0-c4f8-499b-9e60-8bc87684a5c8", + "metadata": { + "tags": [] + }, + "source": [ + "6.2 Evaluation of Logistic Regression Model
\n", + "We will use the ClassificationEvaluator function to evaluate the trained glm model on test data. This will let us know how well our model has performed on unseen data.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "683015ad-d54b-4a33-a71f-345a348ee912", + "metadata": {}, + "outputs": [], + "source": [ + "ClassificationEvaluator_glm = ClassificationEvaluator(\n", + " data = out_glm,\n", + " observation_column = 'Churn',\n", + " prediction_column = 'prediction',\n", + " labels = ['0', '1']\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "679b7a22-e08e-414a-aec3-e8ae6b1e0701", + "metadata": {}, + "outputs": [], + "source": [ + "ClassificationEvaluator_glm.output_data.head(10)" + ] + }, + { + "cell_type": "markdown", + "id": "d281b3fa-0793-4e86-986b-26bda09833ec", + "metadata": {}, + "source": [ + "The above output shows recall, and F1-score values of confusion matrix.
\n", + "Column | \n", + "Description | \n", + "
---|---|
Precision | \n", + "The positive predictive value. Refers to the fraction of relevant instances among\n", + "the total retrieved instances.\n", + " Precision answers the following question: what proportion of predicted Positives is truly Positive? \n", + " Precision = (TP)/(TP+FP) | \n", + "
Recall | \n", + "Refers to the fraction of relevant instances retrieved over the total amount of\n", + "relevant instances. Recall answers a different question: what proportion of actual Positives is correctly classified?\n", + "Recall = (TP)/(TP+FN) | \n", + "
F1 | \n", + "F1 score, defined as the harmonic mean of the precision and recall and is a number between 0 and 1. F1 score maintains a balance between the precision and recall for your classifier. \n", + " F1 = 2*(precision*recall/precision+recall) | \n", + "
Support | \n", + "The number of times a label displays in the Observation Column. | \n", + "
**TP:- True Positive , FP :- False Positive, TN :- True Negative , FN :- False Negative
" + ] + }, + { + "cell_type": "markdown", + "id": "6aaf3776-22c7-4697-a7f8-e5e334067b18", + "metadata": { + "tags": [] + }, + "source": [ + "We can also calculate mean absolute error and AUC(Area Under the Curve) for Receiver Operating Characteristic Curve.
Mean Absolute Error is the summation of the difference between actual and predicted values averaged over the number of observations.
The ROC curve is a graph between TPR(True Positive Rate) and FPR(False Positive Rate). The area under the ROC curve is a metric of how well the model can distinguish between positive and negative classes. The higher the AUC, the better the model's performance in distinguishing between the positive and negative classes.
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5962c501-8e8e-4594-ab63-d6e0df2e07a8", + "metadata": {}, + "outputs": [], + "source": [ + "AUC = roc_auc_score(glm_pred['Churn'], glm_pred['prob_1'])\n", + "AUC" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "483506fb-d59d-4df0-a2fe-9d1e86ffdf72", + "metadata": {}, + "outputs": [], + "source": [ + "fpr, tpr, thresholds = roc_curve(glm_pred['Churn'], glm_pred['prob_1'])\n", + "plt.plot(fpr, tpr, color='orange', label='ROC. AUC = {}'.format(str(AUC)))\n", + "plt.plot([0, 1], [0, 1], color='darkblue', linestyle='--')\n", + "plt.xlabel('False Positive Rate')\n", + "plt.ylabel('True Positive Rate')\n", + "plt.title('Receiver Operating Characteristic (ROC) Curve')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "ae6647ac-3dd6-406a-8d73-fb793b54d28f", + "metadata": {}, + "source": [ + "6.3 XGB
\n", + "\n",
+ " XGBoost (eXtreme Gradient Boosting) is based on the gradient boosting framework, which is an ensemble learning method that combines multiple weak or base models (typically decision trees) to create a more accurate and robust predictive model. XGBoost improves upon traditional gradient boosting by using a number of optimization techniques, including parallelization, regularization, and efficient handling of missing values, to achieve faster training times and better model performance.
\n",
+ " Teradata's XGBoost function is an implementation of the gradient boosted decision tree designed for speed and performance. In gradient boosting, each iteration fits a model to the residuals (errors) of the previous iteration to correct the errors made by existing models. The predicted residual is multiplied by this learning rate and then added to the previous prediction. Models are added sequentially until no further improvements can be made. It is called gradient boosting because it uses a gradient descent algorithm to minimize the loss when adding new models.\n",
+ "
Please refer XGBoost for function elements and output."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "aff1ebc7-ecb6-44e7-8c8d-b1da9505f9bb",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "XGBoost_model = XGBoost(\n",
+ " data = df_train,\n",
+ " input_columns = ['1:8','10:33'],\n",
+ " response_column = 'Churn',\n",
+ " model_type = 'CLASSIFICATION',\n",
+ " \n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "062f024d-5e3d-4a59-93d3-763812d70053",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "XGBoostPredict_out = XGBoostPredict(\n",
+ " newdata = df_test,\n",
+ " object = XGBoost_model.result,\n",
+ " id_column = 'CustomerID',\n",
+ " accumulate = 'Churn',\n",
+ " model_type = 'CLASSIFICATION',\n",
+ " object_order_column = ['task_index', 'tree_num', 'iter', 'class_num', 'tree_order'],\n",
+ " output_responses = ['0', '1'],\n",
+ " output_prob = True\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "0c70378d-9b30-41e9-bfc3-ae901884f9c4",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "out_xgb = XGBoostPredict_out.result.assign(Prediction = XGBoostPredict_out.result.Prediction.cast(type_ = BYTEINT))\n",
+ "out_xgb = out_xgb.assign(Prediction = out_xgb.Prediction.cast(type_ = VARCHAR(2)))\n",
+ "out_xgb = out_xgb.assign(Churn = out_xgb.Churn.cast(type_ = VARCHAR(2)))\n",
+ "out_xgb"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "48a42d5b-5fba-4036-b094-19858e2c560f",
+ "metadata": {},
+ "source": [
+ "
We have created our model, let's do the predictions on the test dataset." + ] + }, + { + "cell_type": "markdown", + "id": "0bd173a4-10ef-4528-a6e2-b67d5f4df07e", + "metadata": {}, + "source": [ + "
6.4 Evaluation of XGB Model
" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "23fd8827-dc00-4604-9c9e-4ef7352cf834", + "metadata": {}, + "outputs": [], + "source": [ + "ClassificationEvaluator_xgb = ClassificationEvaluator(\n", + " data = out_xgb,\n", + " observation_column = 'Churn',\n", + " prediction_column = 'Prediction',\n", + " labels = ['0', '1']\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2aefe83b-aedc-4173-9396-68572258fcd4", + "metadata": {}, + "outputs": [], + "source": [ + "ClassificationEvaluator_xgb.output_data.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7e7466ae-b42c-4005-a094-729bb1230b33", + "metadata": {}, + "outputs": [], + "source": [ + "xgb_pred = XGBoostPredict_out.result.to_pandas().reset_index().sort_values(\"CustomerID\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26c69f90-824e-4f84-a5d1-46e771a0ee00", + "metadata": {}, + "outputs": [], + "source": [ + "print(mean_absolute_error(xgb_pred['Churn'], xgb_pred['Prob_1']))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c71ab9ce-e83c-4f1b-82fb-550119a98704", + "metadata": {}, + "outputs": [], + "source": [ + "AUC = roc_auc_score(xgb_pred['Churn'], xgb_pred['Prob_1'])\n", + "AUC" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "78aa9c8e-e5e0-4a89-af63-27e1e638023f", + "metadata": {}, + "outputs": [], + "source": [ + "fpr, tpr, thresholds = roc_curve(xgb_pred['Churn'], xgb_pred['Prob_1'])\n", + "plt.plot(fpr, tpr, color='orange', label='ROC. AUC = {}'.format(str(AUC)))\n", + "plt.plot([0, 1], [0, 1], color='darkblue', linestyle='--')\n", + "plt.xlabel('False Positive Rate')\n", + "plt.ylabel('True Positive Rate')\n", + "plt.title('Receiver Operating Characteristic (ROC) Curve')\n", + "plt.legend()\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "e91ddacb-4ca3-405c-93c8-c587788191c4", + "metadata": {}, + "source": [ + "Conclusion
" + ] + }, + { + "cell_type": "markdown", + "id": "516e0588-5e98-4373-8f30-8e8f40898835", + "metadata": {}, + "source": [ + "In this demo we have seen how we can do analysis and pre-processing of the data in Vantage using InDb functions. We have also used created two commonly used predictive models for classification and predicted the customers that are likely to churn. " + ] + }, + { + "cell_type": "markdown", + "id": "35ebb886-8da9-479a-8995-c6dd7ccebffd", + "metadata": {}, + "source": [ + "
7. Cleanup
" + ] + }, + { + "cell_type": "markdown", + "id": "f0b01f3e-03fa-4a14-b388-02eeb210b8c1", + "metadata": {}, + "source": [ + "Work Tables
\n", + "\n", + "We need to clean up our work tables to prevent errors next time." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "914cfbcf-f229-496c-be13-b63c62729291", + "metadata": {}, + "outputs": [], + "source": [ + "tables = ['Transformed_data']\n", + "\n", + "# Loop through the list of tables and execute the drop table command for each table\n", + "for table in tables:\n", + " try:\n", + " db_drop_table(table_name = table)\n", + " except:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9ad94d1e-d82d-4611-b5c7-4180397f6c94", + "metadata": {}, + "outputs": [], + "source": [ + "remove_context()" + ] + }, + { + "cell_type": "markdown", + "id": "10724002-0091-4ef1-b091-71c0a2fdda5a", + "metadata": {}, + "source": [ + "
Let’s look at the elements we have available for reference for this notebook:
" + ] + }, + { + "cell_type": "markdown", + "id": "90d6c2a3-92e9-4121-a46a-2beaba63cac2", + "metadata": {}, + "source": [ + "Filters:
\n", + "Related Resources:
\n", + "Reference Links:
\n", + "