svm手写数字识别python
时间: 2023-09-14 17:07:42 浏览: 138
以下是一个简单的SVM手写数字识别的Python代码示例:
```
import numpy as np
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_digits
# 加载数据集
digits = load_digits()
X = digits.data
y = digits.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 训练SVM模型
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X_train, y_train)
# 预测结果
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = np.mean(y_pred == y_test)
print("Accuracy:", accuracy)
```
首先,我们从sklearn.datasets模块中加载手写数字数据集。然后,我们将数据集划分为训练集和测试集。
接下来,我们使用sklearn.svm模块中的SVC类来训练SVM模型。在这里,我们使用了RBF核函数,其中gamma和C是SVM模型的超参数。我们可以使用交叉验证来选择最佳的超参数。
最后,我们使用训练好的SVM模型对测试集进行预测,并计算准确率。在这个例子中,我们得到了一个大约为0.98的准确率,这是一个非常不错的结果。
阅读全文