Python中如何使用支持向量机构建多类别分类器
发布时间:2023-12-25 17:51:29
在Python中,可以使用scikit-learn库中的SVC类(支持向量机分类器)来构建多类别分类器。SVC类使用的是一对一(one-vs-one)的方法来处理多类别分类问题。
下面是一个使用支持向量机构建多类别分类器的示例:
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载数据集
digits = datasets.load_digits()
X = digits.data
y = digits.target
# 将数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建SVC对象并训练模型
model = SVC()
model.fit(X_train, y_train)
# 对测试集进行预测
y_pred = model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)
上述示例中,我们首先加载了一个手写数字数据集(digits),然后将数据集划分为训练集和测试集。接下来,我们创建了一个SVC对象,并使用训练集对模型进行训练。最后,我们使用测试集进行预测,并计算了预测结果的准确率。
需要注意的是,SVC类在默认情况下使用了基于径向基函数(RBF)的核函数来进行分类,但也可以通过设置"kernel"参数来改变核函数的类型。
以上就是使用Python中的支持向量机构建多类别分类器的基本步骤和示例。
