modify Bof to use sklearn