我正在尝试在python中使用SMOTE来处理高度不平衡的数据集。将数据集分为训练和测试后,我使用SMOTE生成了合成样本。然后,我在SMOTE生成的数据上使用xgboost算法。我的模型输出是为了预测原始数据集的概率。但是在实施SMOTE之后,样本数量已经增加,如何获得原始数据集来预测概率? 代码如下:
X_train, X_test, y_train, y_test = train_test_split(X_final, Y_final, test_size=0.1, random_state = 27)
sm = SMOTE(random_state=27, ratio=1.0)
X_final_sm, Y_final_sm = sm.fit_sample(X_train, y_train)
smote_xgb = XGBClassifier().fit(X_final_sm, Y_final_sm)
smote_pred = smote_xgb.predict(X_final_sm)
smote_pred_prob = smote_xgb.predict_proba(X_final_sm)