{"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":"code","source":"train <- read.csv(\"../input/tabular-playground-series-dec-2021/train.csv\", stringsAsFactors = FALSE)\ntest  <- read.csv(\"../input/tabular-playground-series-dec-2021/test.csv\", stringsAsFactors = FALSE)\ntrain <- train[train$Cover_Type != 5,]","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"library(xgboost) # for xgboost\ntest$Cover_Type <-0\ntest_ids <- test$Id","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train$Composite_Soil <- apply(train[, 16:55], 1, sum)\ntest$Composite_Soil <- apply(test[, 16:55], 1, sum)\n\ntrain$Composite_Wilderness <- apply(train[, 12:15], 1, sum)\ntest$Composite_Wilderness <- apply(test[, 12:15], 1, sum)  \n\ntrain$Hillshade_9am[train$Hillshade_9am < 0] <- 0\ntest$Hillshade_9am[test$Hillshade_9am < 0] <- 0\n\ntrain$Hillshade_Noon[train$Hillshade_Noon < 0] <- 0\ntest$Hillshade_Noon[test$Hillshade_Noon < 0] <- 0\n\ntrain$Hillshade_3pm[train$Hillshade_3pm < 0] <- 0\ntest$Hillshade_3pm[test$Hillshade_3pm < 0] <- 0","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train$Hillshade_9am[train$Hillshade_9am > 255] <- 255\ntest$Hillshade_9am[test$Hillshade_9am > 255] <- 255\n\ntrain$Hillshade_Noon[train$Hillshade_Noon > 255] <- 255\ntest$Hillshade_Noon[test$Hillshade_Noon > 255] <- 255\n\ntrain$Hillshade_3pm[train$Hillshade_3pm > 255] <- 255\ntest$Hillshade_3pm[test$Hillshade_3pm > 255] <- 255","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train$Euclid_Distance_Hydro <- (train$Horizontal_Distance_To_Hydrology**2 + train$Vertical_Distance_To_Hydrology**2)**0.5 \ntest$Euclid_Distance_Hydro <- (test$Horizontal_Distance_To_Hydrology**2 + test$Vertical_Distance_To_Hydrology**2)**0.5 ","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train$Manhatt_Distance_Hydro <- abs(train$Horizontal_Distance_To_Hydrology) + abs(train$Vertical_Distance_To_Hydrology)\ntest$Manhatt_Distance_Hydro <- abs(test$Horizontal_Distance_To_Hydrology) + abs(test$Vertical_Distance_To_Hydrology)","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"train$Aspect[train$Aspect < 0] <- +360\ntrain$Aspect[train$Aspect > 359] <- -360","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\ntrain <- train[, -c(12:55)]\ntest <- test[, -c(12:55)]\n\n\nl_train <- train[,12]\ntrain <- train[, -c(1, 12)]\ntrain <- scale(train)\n\nl_test <- test[,12]\ntest <- test[,-c(1, 12)]\ntest <- scale(test)\n","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"\ndtrain <- xgb.DMatrix(data = train, label= l_train)\ndtest <- xgb.DMatrix(data = test, label= l_test)\n\nparam <- list(\n         objective = 'reg:tweedie',\n         eval_metric = 'rmse',\n         tweedie_variance_power = 2,\n         max_depth = 6,\n         eta = 1)\n\nmodel <- xgboost(params  = param,\n                 data    = dtrain, \n                 nrounds = 750,\n                 verbose = 1)\n\npred <- predict(model, dtest)","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"importance_matrix <- xgb.importance(names(train), model = model)\nxgb.plot.importance(importance_matrix)\n","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"submit <- data.frame(Id = test_ids, Cover_Type1 = round(pred, 0))\n\nsubmit$Cover_Type <- round(submit$Cover_Type1, digits=0)\nsubmit <- submit[,-2]\n\n#head(submit)\n\n\nwrite.csv(submit, file = \"submission.csv\", row.names = F)","metadata":{},"execution_count":null,"outputs":[]}]}