Heterogeneous and clustering-enhanced personalized preference transfer for cross-domain recommendation