Keane apologises after rant