3. The computer-implemented method of claim 1 , wherein determining the weighted impurity reduction score comprises: determining an impurity reduction score for the at least one of the predetermined set of attributes, wherein the impurity reduction score for an attribute measures how well the attribute separates the current set and the weighted impurity reduction score for the attribute is determined based on the impurity reduction score and the complexity score of the attribute.
1. A computer-implemented method for constructing a decision tree for classifying computer files based on the computational complexities of attributes of the files, comprising: creating a plurality of attribute vectors for a plurality of training files of known classification, each attribute vector comprising values of a predetermined set of attributes for an associated training file; determining a complexity score for each attribute in the predetermined set of attributes, the complexity score measuring a cost associated with determining a value of an associated attribute for a file; and growing a decision tree based on the plurality of attribute vectors, comprising: (1) setting the plurality of attribute vectors as a current set, (2) determining a weighted impurity reduction score for at least one attribute of the predetermined set of attributes based on the complexity score of the attribute, the weighted impurity reduction score quantifying a cost-benefit tradeoff for an associated attribute in classifying the current set, (3) selecting a splitting attribute from the at least one attribute of the predetermined set of attributes, (4) splitting the current set into subsets using the splitting attribute, and (5) repeating steps (2) through (4) for each of the subsets as the current set.