在Pandas中使用SMOTE方法生成合成样本需要先将数据转换为特征矩阵和目标向量的形式,然后使用imbalanced-learn库中的SMOTE类来生成合成样本。下面是一个示例代码:
import pandas as pd
from 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)
# 将合成样本转换为DataFrame
resampled_data = pd.concat([pd.DataFrame(X_resampled), pd.DataFrame(y_resampled, columns=['target'])], axis=1)
# 打印生成的合成样本
print(resampled_data)
在上面的示例中,首先读取数据,然后将数据分为特征矩阵X和目标向量y。接着使用SMOTE类生成合成样本,最后将合成样本转换为DataFrame并打印出来。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Pandas中怎么导入数据