Diabetes mellitus is a chronic disease that requires early detection to reduce the risk of severe complications. However, machine learning-based diabetes prediction is often affected by class imbalance and high-dimensional data. This study investigates the effectiveness of integrating Synthetic Minority Over-sampling Technique (SMOTE) and Principal Component Analysis (PCA) for diabetes prediction. A total of 80,437 records from a Kaggle diabetes dataset were processed using the Knowledge Discovery in Databases (KDD) framework. Six machine learning algorithms, namely Random Forest, XGBoost, Support Vector Machine (SVM), K-Nearest Neighbor (KNN), Naïve Bayes, and Neural Network, were evaluated using train-test split ratios of 70:30, 80:20, and 90:10. Performance was measured using accuracy, precision, recall, and F1-score. Without oversampling, XGBoost consistently achieved the highest accuracy across all split ratios, peaking at 94.04% at the 80:20 ratio; however, recall for the minority (diabetic) class remained substantially lower than for the majority class, indicating that high overall accuracy masked weaker detection of actual diabetes cases. After applying SMOTE, overall accuracy declined across all models (e.g., XGBoost fell to 87.52% at 80:20), but minority-class recall improved markedly, indicating a more balanced classification between classes at the cost of overall accuracy. Notably, at the 80:20 split, the Neural Network achieved a marginally higher accuracy (87.67%) than XGBoost under SMOTE, although XGBoost remained the top performer at the 70:30 and 90:10 ratios, suggesting that its advantage under class-balanced conditions is not uniform across split ratios. PCA was applied to reduce data dimensionality and did not substantially affect predictive performance; however, the present results do not include quantitative evidence, such as the change in feature count or computation time, needed to substantiate claims about its contribution to efficiency. These findings suggest that XGBoost with an 80:20 split is the most effective configuration when class imbalance is not addressed, while the application of SMOTE narrows the performance gap between models and shifts the trade-off toward more balanced, rather than purely accuracy-maximizing, classification.