{"metadata":{"kernelspec":{"name":"ir","display_name":"R","language":"R"},"language_info":{"name":"R","codemirror_mode":"r","pygments_lexer":"r","mimetype":"text/x-r-source","file_extension":".r","version":"4.0.5"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# R Package for Amex Competition Metric\n\nI created an R package to compute Amex metric.  \nhttps://github.com/igjit/amexmetric\n\nNow R users no longer have to copy and paste the metric code every time.","metadata":{}},{"cell_type":"markdown","source":"## Installation\n\nYou can install the package from GitHub.","metadata":{}},{"cell_type":"code","source":"remotes::install_github(\"igjit/amexmetric\", quiet = TRUE)","metadata":{"_uuid":"051d70d956493feee0c6d64651c6a088724dca2a","_execution_state":"idle","execution":{"iopub.status.busy":"2022-06-10T19:47:06.391214Z","iopub.execute_input":"2022-06-10T19:47:06.392867Z","iopub.status.idle":"2022-06-10T19:47:06.863821Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Example","metadata":{}},{"cell_type":"code","source":"actual <- c(1, 1, 0, 0)\npredicted <- c(0.9, 0.2, 0.8, 0)\n\namexmetric::amex_metric(actual, predicted)","metadata":{"execution":{"iopub.status.busy":"2022-06-10T19:47:16.093844Z","iopub.execute_input":"2022-06-10T19:47:16.096266Z","iopub.status.idle":"2022-06-10T19:47:16.171612Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Simple Benchmark\n\nSame as https://www.kaggle.com/code/inversion/amex-competition-metric-python#Simple-Benchmark","metadata":{}},{"cell_type":"code","source":"library(tidyverse)\nlibrary(dtplyr)","metadata":{"execution":{"iopub.status.busy":"2022-06-10T19:49:41.054735Z","iopub.execute_input":"2022-06-10T19:49:41.056184Z","iopub.status.idle":"2022-06-10T19:49:41.948516Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_data <- data.table::fread(\"../input/amex-default-prediction/train_data.csv\", select = c(\"customer_ID\", \"P_2\"))","metadata":{"execution":{"iopub.status.busy":"2022-06-10T19:52:26.459235Z","iopub.execute_input":"2022-06-10T19:52:26.461134Z","iopub.status.idle":"2022-06-10T19:54:45.166025Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train_labels <- data.table::fread(\"../input/amex-default-prediction/train_labels.csv\")","metadata":{"execution":{"iopub.status.busy":"2022-06-10T19:55:19.865322Z","iopub.execute_input":"2022-06-10T19:55:19.867403Z","iopub.status.idle":"2022-06-10T19:55:20.64591Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"ave_p2 <- train_data %>%\n  group_by(customer_ID) %>%\n  summarise(mean_p_2 = mean(P_2, na.rm = TRUE)) %>%\n  mutate(prediction = 1 - mean_p_2 / max(mean_p_2, na.rm = TRUE))","metadata":{"execution":{"iopub.status.busy":"2022-06-10T20:14:11.179095Z","iopub.execute_input":"2022-06-10T20:14:11.180752Z","iopub.status.idle":"2022-06-10T20:14:11.197384Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"amexmetric::amex_metric(pull(train_labels, target), pull(ave_p2, prediction))","metadata":{"execution":{"iopub.status.busy":"2022-06-10T20:16:57.700873Z","iopub.execute_input":"2022-06-10T20:16:57.702438Z","iopub.status.idle":"2022-06-10T20:16:59.121079Z"},"trusted":true},"execution_count":null,"outputs":[]}]}