Pandas中怎么使用SMOTE方法生成合成样本

870
2024/6/11 10:50:52
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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中怎么导入数据