再来一个svm五分类实现
时间: 2023-08-17 15:05:23 浏览: 74
好的,以下是一个基于Python和scikit-learn库实现的简单的SVM五分类器:
```python
from sklearn import svm
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 生成数据集
X, y = make_classification(n_features=10, n_redundant=0, n_informative=10,
n_clusters_per_class=1, n_classes=5, random_state=42)
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义模型
clf = svm.SVC(kernel='rbf', C=1, decision_function_shape='ovr')
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
acc = accuracy_score(y_test, y_pred)
print("Accuracy:", acc)
```
在上述代码中,我们首先使用 `make_classification()` 函数生成一个包含 10 个特征和 5 个类别的数据集。然后,我们使用 `train_test_split()` 函数将数据集划分为训练集和测试集。接着,我们定义了一个基于RBF核的SVM分类器,并使用 `fit()` 函数对训练集进行训练。最后,我们使用 `predict()` 函数对测试集进行预测,并使用 `accuracy_score()` 函数计算准确率。
需要注意的是,本示例中的SVM分类器是基于一种一对多(One-vs-Rest)的策略进行多分类的。如果需要使用其他策略,可以在 `SVC()` 函数中设置 `decision_function_shape` 参数。
阅读全文