I'm using a binomial GLM to model what kind of student would pass or fail a certain class. When I use predict with type "response" on my model, I see a vector of probabilities. Per my understanding, probabilities near 1 = passing while probabilities near 0 = failing. My book initially said to use a cutoff of 0.5 to determine pass or fail. Essentially, if the predicted probability is greater than 0.5, then we say pass, and if less than 0.5, then fail.
Then, the book said that there may be a more accurate way to gauge the cutoff. I thought I should generate a vector of random numbers ~ uniform[0,1] the same length as my data. Then I would compare each predicted probability and see if it's greater than the respective randomly generated uniform number. If what I'm doing correct or even necessary? I'm not exactly sure why we shouldn't use 0.5 in the first place.