#
#title: "Homeland Security - Getting started"
#output: html_document

#This is a script for a baseline, to get you started. It just calculates the mean probabilites of dangerous objects for all zones from the training samples and submits these.

#### Read in the data


library(data.table)
library(dplyr)
library(stringr)

train <- fread('../input/stage1_labels.csv')
sample_submission <- fread('../input/stage1_sample_submission.csv')

train$pic <- str_replace(train$Id,'_.*$','')
train$zone <- str_replace(train$Id,'^.*_','')

sample_submission$pic <- str_replace(sample_submission$Id,'_.*$','')
sample_submission$zone <- str_replace(sample_submission$Id,'^.*_','')



#### Calculate mean probabilities & submit


mean_probs <- train %>% group_by(zone) %>% summarize(mean_prob = mean(Probability)) 

submission <- mean_probs %>% right_join(sample_submission, by="zone") %>% mutate(Probability=mean_prob) %>% select(-zone,-mean_prob,-pic)

fwrite(submission, 'submission_mean_zone.csv')


#This yields a LB score of 0.29098.


#### For fun
#Next I use my psychological knowledge to predict that images with dangerous objects in Zone9 are underrepresented in the test set (you can guess why when you look at where the zone is ;-)), and accordingly reduce their probability.

mean_probs <- train %>% group_by(zone) %>% summarize(mean_prob = mean(Probability)) 

mean_probs$mean_prob[mean_probs$zone=="Zone9"]<- 0.038

submission <- mean_probs %>% right_join(sample_submission, by="zone") %>% mutate(Probability=mean_prob) %>% select(-zone,-mean_prob,-pic)

fwrite(submission, 'submission_mean_psychology.csv')


#For a LB score of 0.29004. 