温馨提示×

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

小亿
102
2024-05-13 10:50:52
栏目: 编程语言

在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并打印出来。

0