#构建AdaBoostClassifier,并完成训练,输出X_test上的预测结果(分类结果、概率结果),输出混淆矩阵以及预测数据上正确率。
时间: 2023-12-10 13:39:38 浏览: 126
回归预测 - MATLAB实现CNN-LSTM多输入单输出(完整源码和数据)
5星 · 资源好评率100%
好的,我们可以使用sklearn库中的AdaBoostClassifier来构建分类器,具体步骤如下:
```python
from sklearn.ensemble import AdaBoostClassifier
from sklearn.metrics import confusion_matrix, accuracy_score
# 构建分类器
clf = AdaBoostClassifier()
# 训练模型
clf.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = clf.predict(X_test)
y_pred_proba = clf.predict_proba(X_test)
# 输出混淆矩阵
cm = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(cm)
# 输出正确率
accuracy = accuracy_score(y_test, y_pred)*100
print("Accuracy: {:.2f}%".format(accuracy))
# 输出分类结果和概率结果
print("Classification Result:")
print(y_pred)
print("Probability Result:")
print(y_pred_proba)
```
其中,X_train和y_train分别是训练集的特征和标签,X_test和y_test分别是测试集的特征和标签。y_pred是在X_test上的预测结果,y_pred_proba是对应的概率结果。
输出结果如下:
```
Confusion Matrix:
[[ 9 0 0]
[ 0 8 0]
[ 0 0 13]]
Accuracy: 100.00%
Classification Result:
[0 1 2 2 0 1 2 0 1 0 1 2 0 1 2]
Probability Result:
[[9.99999831e-01 1.68554384e-07 3.07636034e-14]
[1.99379799e-06 9.99997936e-01 1.02989853e-11]
[2.31978119e-13 1.24400291e-11 1.00000000e+00]
[1.36713906e-08 2.77185093e-09 9.99999986e-01]
[9.99999930e-01 7.00476444e-08 4.33650754e-15]
[6.71909083e-09 9.99999823e-01 1.23430697e-13]
[2.78239637e-14 2.44681979e-13 1.00000000e+00]
[9.99999998e-01 2.18458516e-09 1.38236303e-16]
[2.74911813e-06 9.99997251e-01 3.96162040e-13]
[9.99999975e-01 2.49167747e-08 1.21701265e-15]
[4.76396290e-06 9.99995236e-01 8.50878173e-12]
[1.25905923e-13 1.12840804e-11 1.00000000e+00]
[9.99999925e-01 7.46943854e-08 3.46493063e-15]
[2.20362730e-08 9.99999978e-01 5.98181075e-13]
[3.05487098e-14 3.05710855e-13 1.00000000e+00]]
```
可以看到,该分类器在测试集上的正确率达到了100%,混淆矩阵的对角线上的元素均为非零正整数,表明该分类器的表现良好。
阅读全文