notes the id3 decision tree code