使用支持向量机(SVM)进行二分类:训练、预测及参数展示
本教程演示如何使用支持向量机(SVM)模型进行二分类任务,并展示模型参数和预测准确率。我们将使用随机生成的数据作为示例,并使用 Python 库进行操作。
数据准备
首先,我们将随机生成一组数据,每个数据点包含两个特征 (x1, x2),并将其划分为两类(0 和 1)。
import numpy as np
from sklearn.svm import SVC
# 随机生成数据集
X = np.array([[1, 2], [2, 3], [3, 2], [3, 4], [4, 4], [1, 4], [2, 1], [3, 5], [5, 2], [4, 5]])
y = np.array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1])
# 将数据集分为训练集和测试集
X_train = X[:8]
y_train = y[:8]
X_test = X[8:]
y_test = y[8:]
模型训练
接下来,我们将使用训练集来训练 SVM 模型,并得到最优的超平面。
# 训练SVM模型
clf = SVC(kernel='linear')
clf.fit(X_train, y_train)
# 输出模型参数
W = clf.coef_
b = clf.intercept_
print('W:', W)
print('b:', b)
模型预测
最后,我们将使用训练好的模型对测试集进行预测,并计算预测准确率。
# 对测试集进行预测
y_pred = clf.predict(X_test)
# 计算预测准确率
accuracy = np.sum(y_pred == y_test) / len(y_test)
print('预测准确率:', accuracy)
输出结果
模型参数:
W: [[0.28571429 0.42857143]]
b: [-2.42857143]
预测准确率:
预测准确率: 1.0
说明模型对测试集的分类准确率为 100%。
总结
本教程演示了如何使用支持向量机 (SVM) 模型进行二分类任务,并展示了模型参数和预测准确率。使用 Python 库可以方便地完成数据处理、模型训练和预测等步骤。
原文地址: https://www.cveoy.top/t/topic/jriE 著作权归作者所有。请勿转载和采集!