A computer-implemented method of interactive feature selection for machine learning, comprising: a) providing a first set of data items, wherein the data items have been previously labeled as examples of a particular class of data item; b) utilizing a classifier built to determine predicted labels for the data items; c) identifying data items having a discrepancy between a previous label and a predicted label; d) presenting via a user interface an indication of the data items having the discrepancy between the previous label and the predicted label, wherein the user interface includes a feature-selection interface configured to receive a user selection of one or more features that are usable as input features to train the classifier; e) receiving a search query via the search interface; f) executing the search query on the first set of data items, wherein search results are generated; g) presenting the search results to the user; h) receiving a user input that selects the search query as a first feature for training the classifier; i) receiving, via the user interface, a user input that selects a dictionary as a second feature for training the classifier, wherein the dictionary includes words that define a concept that corresponds to the second feature; j) training the classifier with the search query and the dictionary as input features to produce a trained classifier; k) utilizing the trained classifier to determine new predicted labels for the data items; l) identifying data items having a discrepancy between a previous label and a new predicted label; m) presenting via the user interface an indication of the data items having the discrepancy between the previous label and the new predicted label; n) receiving, via the user interface, a user selection of one or more features; and o) retraining the trained classifier with the one or more user-selected features as input features; repeating steps k) to o) until a user input is received that indicates the feature selection is complete and outputting the trained classifier. a) providing a first set of data items, wherein the data items have been previously labeled as examples of a particular class of data item; b) utilizing a classifier built to determine predicted labels for the data items; c) identifying data items having a discrepancy between a previous label and a predicted label; d) presenting via a user interface an indication of the data items having the discrepancy between the previous label and the predicted label, wherein the user interface includes a feature-selection interface configured to receive a user selection of one or more features that are usable as input features to train the classifier; e) receiving a search query via the search interface; f) executing the search query on the first set of data items, wherein search results are generated; g) presenting the search results to the user; h) receiving a user input that selects the search query as a first feature for training the classifier; i) receiving, via the user interface, a user input that selects a dictionary as a second feature for training the classifier, wherein the dictionary includes words that define a concept that corresponds to the second feature; j) training the classifier with the search query and the dictionary as input features to produce a trained classifier; k) utilizing the trained classifier to determine new predicted labels for the data items; l) identifying data items having a discrepancy between a previous label and a new predicted label; m) presenting via the user interface an indication of the data items having the discrepancy between the previous label and the new predicted label; n) receiving, via the user interface, a user selection of one or more features; and o) retraining the trained classifier with the one or more user-selected features as input features;