Non-functional requirements are one of the important factors that have a role to determine the success of software development. This factor is usually often ignored by developers because it is difficult to identify. Difficulties in identifying non-functional requirements carry a negative impact affecting software quality. A new framework is needed to identify non-functional requirements. The existing approach has not been able to properly identify non-functional requirements in case studies of data imbalance. Data imbalance may affect the performance of classification methods. Therefore, this study proposes a comparison of three methods namely RF, KNN and SVM using SMOTE. In this research, The total dataset used is 1366 requirements. The dataset includes unbalanced data, which consists of 1141 functional requirements and 225 non-functional requirements. The result of this research prove that data imbalance cause decreases the accuracy. This is evidenced by testing using three methods namely SVM, KNN, and RF. All three methods have the highest accuracy value in minority class 100%. While the best method with the highest accuracy value obtained by SVM because it proved to have better performance than KNN, and RF in terms of data imbalance with 100% minority class.