本教程演示如何使用支持向量机(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 库可以方便地完成数据处理、模型训练和预测等步骤。

使用支持向量机(SVM)进行二分类:训练、预测及参数展示

原文地址: https://www.cveoy.top/t/topic/jriE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录