1. A method of web mining, comprising: via one or more computer processing devices: receiving input data; dividing the input data into a plurality of primitive datasets; creating one or more combinations of the plurality of primitive datasets; generating a model for each primitive dataset in the plurality of primitive datasets and each of the one or more combinations of the plurality of primitive datasets; computing a cost associated with a model corresponding to each primitive dataset in the plurality of primitive datasets, and each of the one or more combinations of the plurality of primitive datasets; comparing a sum of the costs associated with the models corresponding to each primitive dataset in the plurality of primitive datasets with the cost associated with each model corresponding to each of the one or more combinations of the plurality of primitive datasets; and partitioning the plurality of primitive datasets into one or more clusters based on the comparison of the costs such that each primitive dataset is a part of a cluster in the one or more clusters or a stand-alone primitive dataset.