请据此给出支持向量机的代码
时间: 2024-08-12 09:08:54 浏览: 29
支持向量机(Support Vector Machine, SVM)是一种监督学习的分类模型,它通过找到数据中的最优超平面来进行二分类,同时也可以扩展到非线性分类问题。SVM的主要目标是最大化边界间隔,使得分类尽可能清晰。以下是一个使用Python的Scikit-learn库实现的简单SVM代码示例:
```python
# 导入所需的库
from sklearn import datasets
from sklearn import svm
from sklearn.model_selection import train_test_split
import numpy as np
# 加载数据集,这里以iris数据集为例
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 数据预处理和划分训练集/测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建一个线性SVM分类器
svm_classifier = svm.SVC(kernel='linear') # 'linear' 表示线性核函数
# 训练模型
svm_classifier.fit(X_train, y_train)
# 预测测试集
predictions = svm_classifier.predict(X_test)
# 检查模型性能
print("Accuracy:", np.mean(predictions == y_test))
# 如果你想尝试其他核函数,如'poly'(多项式)、'rbf'(径向基函数),可以替换'kernel='linear',如下所示:
# svm_classifier = svm.SVC(kernel='rbf')
```
在这个例子中,我们首先加载了iris数据集,然后划分了训练集和测试集,接着创建了一个线性SVM分类器。通过`fit`方法训练模型,最后用`predict`方法进行预测,并计算模型的准确率。
阅读全文