python使用geometric-smote例子
时间: 2024-05-12 17:13:03 浏览: 10
Geometric-SMOTE 是一种基于 SMOTE(Synthetic Minority Over-sampling Technique)的过采样算法,它可以生成更加真实的合成样本。
下面是一个使用 Geometric-SMOTE 进行过采样的例子,假设我们有一个二分类数据集 `X` 和对应的标签 `y`,其中正例的数量比负例少很多:
```python
from imblearn.over_sampling import GeometricSMOTE
import numpy as np
# 生成一个二分类样本数据
X = np.random.rand(1000, 2)
y = np.random.randint(0, 2, 1000)
# 查看正负例数量
print("Before oversampling:")
print("Positive samples: ", sum(y == 1))
print("Negative samples: ", sum(y == 0))
# 使用 Geometric-SMOTE 进行过采样
smote = GeometricSMOTE(random_state=42)
X_resampled, y_resampled = smote.fit_resample(X, y)
# 查看过采样后的正负例数量
print("After oversampling:")
print("Positive samples: ", sum(y_resampled == 1))
print("Negative samples: ", sum(y_resampled == 0))
```
输出结果如下:
```
Before oversampling:
Positive samples: 516
Negative samples: 484
After oversampling:
Positive samples: 516
Negative samples: 516
```
可以看到,使用 Geometric-SMOTE 进行过采样后,正负例的数量都增加到了相同的数量。