adasyn算法python完整代码
时间: 2024-10-18 13:06:06 浏览: 123
ADASYN (Adaptive Synthetic Sampling Technique) 是一种不平衡数据增强技术,它通过生成合成样本来平衡类别之间的分布。以下是使用 Python 和 scikit-learn 库实现 ADASYN 算法的一个简单例子,假设我们有一个二分类问题的数据集:
```python
from imblearn.over_sampling import ADASYN
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# 创建一个简单的不平衡数据集
X, y = make_classification(n_classes=2, class_sep=2, weights=[0.1, 0.9], random_state=42)
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 初始化 ADASYN 模块
adasyn = ADASYN(random_state=42)
# 使用 ADASYN 生成新的合成样本并扩充训练集
X_resampled, y_resampled = adasyn.fit_resample(X_train, y_train)
# 训练 logistic regression 模型
clf = LogisticRegression()
clf.fit(X_resampled, y_resampled)
# 预测
y_pred = clf.predict(X_test)
# 评估模型
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy with ADASYN: {accuracy}")
```
注意:这个例子使用了 `imblearn` 库,你需要先安装它才能运行。如果你还没有安装,可以使用 `pip install imblearn` 来安装。
阅读全文