基于支持向量机的EasyEnsemble算法代码
时间: 2023-10-03 17:04:49 浏览: 116
支持向量机代码
5星 · 资源好评率100%
以下是基于支持向量机的EasyEnsemble算法的代码示例:
``` python
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.ensemble import BaggingClassifier
from imblearn.ensemble import EasyEnsembleClassifier
# 生成样本数据
X, y = make_classification(n_samples=10000, n_classes=2, weights=[0.95, 0.05], random_state=42)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 基础分类器
base_clf = SVC(kernel='rbf', probability=True)
# Bagging集成
bag_clf = BaggingClassifier(base_estimator=base_clf, n_estimators=10, random_state=42)
# EasyEnsemble集成
ensemble_clf = EasyEnsembleClassifier(base_estimator=bag_clf, n_estimators=10, random_state=42)
# 模型训练
ensemble_clf.fit(X_train, y_train)
# 模型预测
y_pred = ensemble_clf.predict(X_test)
# 模型评估
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report
print("Accuracy score:", accuracy_score(y_test, y_pred))
print("Confusion matrix:\n", confusion_matrix(y_test, y_pred))
print("Classification report:\n", classification_report(y_test, y_pred))
```
以上代码中,我们首先使用`make_classification`函数生成了一个二分类样本数据集,其中类别1的权重为0.05,然后将数据集划分为训练集和测试集。我们使用SVC作为基础分类器,然后使用Bagging集成将多个基础分类器组合在一起。最后,我们使用EasyEnsemble集成,将多个Bagging集成器组合在一起,形成更强大的分类器。
最后,我们对模型进行评估,包括准确率、混淆矩阵和分类报告。
阅读全文