H2O Isolation Forest for Outlier Detection

This tutorial shows how to train an H2O Model in KNIME. We will train an Isolation Forest Model to detect frauds, i.e. outliers or anomalies, in a credit card dataset (https://www.kaggle.com/mlg-ulb/creditcardfraud). 1. Prepare: Load the data and import the resulting KNIME Table to H2O. 2. Learn: We learn the Isolation Forest Model using the H2O Isolation Forest Learner. We want H2O to build 100 trees. All other model parameters are H2Os defaults. 3. Predict: Make predictions on the same data using your model(s). In the output there will be the predictions (normalized anomaly score) and mean lengths of the predicted decision tree paths. For further processing we convert the H2O Frame back to table. 4. Evaluate: Convert the "Class" column to a string column in order to use it in the ROC Curve (Javascript) node as class column. Its view gives as a visualization of the performance of our model(s). 5. Classify: If we know that about 5 percent of our data rows are anomalies, we can calculate the 95th quantile. This quantile can be used as a threshold by the Rule Engine node to classify each row either as an anomaly or not. For legal reasons we are not allowed to ship the dataset from Kaggle with our workflow. To get access to the data you have to sign in to Kaggle and accept the conditions of participation for the competetion. Afterwards you can download the data, unzip it, adjust the path pointing to the files in the node dialog of the CSV Reader node and run the workflow. You can find the kaggle challenge here: https://www.kaggle.com/mlg-ulb/creditcardfraud.


This is a companion discussion topic for the original entry at https://kni.me/w/iRa02wDXme3Dh8vC