支持向量机(Support Vector Machine, SVM)是一种常用的监督学习算法,主要用于分类
和回归任务。以下是一个使用 Python 语言和 scikit-learn 库实现的简单 SVM 分类器的例子
:
```python
from sklearn import svm
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import classification_report
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.2, random_state=42)
# 创建 SVM 分类器
clf = svm.SVC(kernel='linear') # 使用线性核
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 打印分类报告
print(classification_report(y_test, y_pred))
```
这个例子中,我们使用了 Iris 数据集,这是一个经典的多类分类问题。首先,我们加载了
数据集并划分了训练集和测试集。然后,我们创建了一个使用线性核的 SVM 分类器,并
用训练集数据训练了模型。最后,我们用测试集数据进行预测,并打印了分类报告,包括
精确度、召回率和 F1 分数等指标。
请注意,根据具体问题的不同,你可能需要调整 SVM 的参数,比如选择不同的核函数(
如`'linear'`, `'poly'`, `'rbf'`等),设置不同的正则化参数等。此外,scikit-learn 库提供了多种
SVM 实现,包括用于分类的`SVC`和用于回归的`SVR`。