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.
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. 4. The computer-implemented method of claim 1 , wherein determining the weighted impurity reduction score comprises: determining a weight value for each of the at least one of the predetermined set of attributes by applying a weight function to the complexity score of each of the at least one of the predetermined set of attributes, the weight value for an attribute measuring a significance of the complexity score of the attribute for the current set, wherein the weighted impurity reduction score for the attribute is determined based on the weight value of the attribute.