在Pandas中使用SMOTE方法生成合成样本需要先将数据转换为特征矩阵和目标向量的形式,然后使用imbalanced-learn库中的SMOTE类来生成合成样本。下面是一个示例代码:
import pandas as pdfrom imblearn.over_sampling import SMOTE# 读取数据data = pd.read_csv('data.csv')# 将特征和目标分开X = data.drop('target', axis=1)y = data['target']# 使用SMOTE生成合成样本smote = SMOTE(random_state=42)X_resampled, y_resampled = smote.fit_resample(X, y)# 将合成样本转换为DataFrameresampled_data = pd.concat([pd.DataFrame(X_resampled), pd.DataFrame(y_resampled, columns=['target'])], axis=1)# 打印生成的合成样本print(resampled_data)在上面的示例中,首先读取数据,然后将数据分为特征矩阵X和目标向量y。接着使用SMOTE类生成合成样本,最后将合成样本转换为DataFrame并打印出来。


