svm三分类的代码,多特征
时间: 2023-09-28 16:10:11 浏览: 59
下面是使用Python实现的多特征SVM三分类代码示例:
```
import numpy as np
from sklearn import svm
from sklearn.model_selection import train_test_split
# 生成样本数据
X1 = np.random.normal(loc=0, scale=1, size=(100, 2)) # 类别1,两个特征
X2 = np.random.normal(loc=4, scale=1, size=(100, 2)) # 类别2,两个特征
X3 = np.random.normal(loc=8, scale=1, size=(100, 2)) # 类别3,两个特征
X = np.concatenate((X1, X2, X3))
y = np.concatenate((np.zeros(100), np.ones(100), 2*np.ones(100)))
# 将数据随机分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 构建SVM分类器
clf = svm.SVC(kernel='linear', C=1, decision_function_shape='ovr')
# 训练分类器
clf.fit(X_train, y_train)
# 在测试集上评估分类器
accuracy = clf.score(X_test, y_test)
print("Accuracy:", accuracy)
```
在这个示例中,我们生成了三个类别的样本数据,并使用`train_test_split`函数将数据随机分为训练集和测试集。然后,我们使用`svm.SVC`函数构建一个线性核的SVM分类器,并使用`fit`方法训练分类器。最后,我们使用`score`方法计算分类器在测试集上的准确度评估分类器的性能。
阅读全文