Discovering Compact and Informative Structures through Data Partitioning