Deep learning-based methods have shown great success in fault diagnosis due to their powerful feature extraction and non-linear fftting capabilities. Meanwhile, their remarkable performance is accompanied by constant operating conditions and sufffcient monitoring data. However, in real engineering environments, variable working conditions and limited and unbalanced data are common, which can widen the gap between fault diagnosis methods and real industrial applications. In this paper, we proposed a cross-domain fault diagnosis network based on a dual classiffer (CFDNet) with input being limited and unbalanced data to learn attributes and features for unsupervised domain adaptation (UDA). We found that the diagnostic performance is commonly bounded by the underlying knowledge, especially feature extraction from original data. Therefore, we designed a new feature encoder with features and relations, i.e., using a convolutional neural network and graph convolutional network, which improves extraction efffciency while retaining valuable information. Then, we discovered that enforced feature transfer can lead to negative transfer. To address this, we present a feature and attribute transfer framework, which not only achieves features transfer but also enables attributes transfer. Moreover, we observed that the limited and unbalanced datasets can cause label bias and biased training in the model. Hence, we designed dual classiffers to improve the probability of high-conffdence ffnal prediction by synthesizing diagnostic results. Comprehensive experiments conducted on three case studies demonstrate the effectiveness and superiority of our method for cross-domain fault diagnosis under limited and unbalanced datasets, which outperforms state-of-the-art (SOTA) methods in this study.