{"cells": [{"metadata": {"_uuid": "1e58700dcc1db91b75ad8041e3562e36af370b41", "_cell_guid": "6709d703-cfcc-4e37-bc8b-54ac5e296bbc"}, "execution_count": null, "source": ["library(data.table)\n", "library(readr)\n", "library(dplyr)\n", "library(h2o)\n", "\n", "train= fread('../input/train.csv',colClasses = c(msno=col_character(),\n", "                                       is_churn=col_integer()),key=c('msno'))\n", "test= fread('../input/sample_submission_zero.csv',colClasses = c(msno=col_character(),\n", "                                                        is_churn=col_integer()),key=c('msno'))\n", "train->.;left_join(.,test,by='msno',all.x=TRUE,all.y=TRUE)->a\n", "a->.;filter(.,is.na(a$is_churn.y))->b\n", "#b somente treino\n", "test->.;left_join(.,train,by='msno',all.x=TRUE,all.y=TRUE)->a\n", "a->.;filter(.,is.na(a$is_churn.y))->c\n", "#c somente teste\n", "train->.;inner_join(.,test,by='msno',all.x=TRUE,all.y=TRUE)->a\n", "#a comum\n", "transactions=fread('../input/transactions.csv',\n", "                   colClasses = c(\n", "                     msno = col_character(),\n", "                     payment_method_id = col_integer(),\n", "                     payment_plan_days = col_integer(),\n", "                     plan_list_price = col_integer(),\n", "                     actual_amount_paid = col_integer(),\n", "                     is_auto_renew = col_integer(),\n", "                     transaction_date = col_integer(),\n", "                     membership_expire_date = col_integer(),\n", "                     is_cancel = col_integer()\n", "                   ),\n", "                   header = TRUE,\n", "                   stringsAsFactors = FALSE,\n", "                   verbose = TRUE,\n", "                   key = 'msno',\n", "                   showProgress = TRUE,\n", "                   data.table = TRUE\n", ")\n", "\n", "hum=train %>%\n", "  inner_join(transactions,by='msno')%>%\n", "  group_by(msno)%>%\n", "  mutate(n=n())%>%\n", "  summarise_at(c(2,3,4,5,6,9),c('min','max','sum','mean','sd')) %>%\n", "  inner_join(train,by='msno')\n", "\n", "\n", "\n", "humT=hum%>%select(msno,payment_plan_days_min,plan_list_price_min,actual_amount_paid_min,payment_plan_days_max,plan_list_price_max,actual_amount_paid_max,payment_plan_days_sum,plan_list_price_sum,actual_amount_paid_sum,is_auto_renew_sum,is_cancel_sum,payment_plan_days_sd,plan_list_price_sd,actual_amount_paid_sd,is_churn)\n", "humT$is_churn=as.factor(humT$is_churn)\n", "h2o.init(nthreads=16,max_mem_size = '16G')\n", "train=as.h2o(humT)\n", "y<-'is_churn'\n", "x <- setdiff(h2o.names(train)[-1], y)\n", "dim(humT)\n", "aml<-h2o.automl(x=x,y=y,training_frame = train[,-1], max_runtime_secs = 560)\n", "lb <- aml@leaderboard\n"], "outputs": [], "cell_type": "code"}, {"metadata": {"_uuid": "1d8eee026ffe6df744803e43bc14b472e1c81846", "_cell_guid": "a6d4c7c1-c353-4b38-ae48-fd6ba9040735"}, "execution_count": null, "source": ["humtest=test %>%\n", "  left_join(transactions,by='msno')%>%\n", "  group_by(msno)%>%\n", "  mutate(n=n())%>%\n", "  summarise_at(c(2,3,4,5,6,9),c('min','max','sum','mean','sd'))\n", "\n", "humtest=humtest%>%select(msno,payment_plan_days_min,plan_list_price_min,actual_amount_paid_min,payment_plan_days_max,plan_list_price_max,actual_amount_paid_max,payment_plan_days_sum,plan_list_price_sum,actual_amount_paid_sum,is_auto_renew_sum,is_cancel_sum,payment_plan_days_sd,plan_list_price_sd,actual_amount_paid_sd)\n", "humtest.hex=as.h2o(humtest)\n", "pred = as.data.frame(h2o.predict(aml@leader,humtest.hex[,-1]))\n"], "outputs": [], "cell_type": "code"}, {"metadata": {"_kg_hide-output": false, "_uuid": "7d782394f6c8ccf3534f7878e1804254e7c76673", "_cell_guid": "8f717a07-b60c-4d4e-a306-96dcaf7bcd1a"}, "execution_count": null, "source": ["head(pred)\n", "sub = cbind(humtest$msno,pred[,3])\n", "colnames(sub)=c('msno','is_churn')\n", "write.csv2(sub,'submi.csv',row.names=FALSE)"], "outputs": [], "cell_type": "code"}], "metadata": {"language_info": {"version": "3.4.1", "pygments_lexer": "r", "mimetype": "text/x-r-source", "codemirror_mode": "r", "file_extension": ".r", "name": "R"}, "kernelspec": {"display_name": "R", "language": "R", "name": "ir"}}, "nbformat_minor": 1, "nbformat": 4}