手写数字识别支持向量机python
时间: 2024-04-16 16:23:15 浏览: 18
使用支持向量机(SVM)算法进行手写数字识别是一种常见的方法。下面是一个简单的示例代码,演示了如何使用Python和scikit-learn库来实现手写数字识别的SVM模型[^1]:
```python
# 导入所需的库
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn import svm
# 加载手写数字数据集
digits = datasets.load_digits()
# 划分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.2, random_state=0)
# 创建SVM分类器
clf = svm.SVC(kernel='linear')
# 训练模型
clf.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = clf.predict(X_test)
# 打印预测结果
print("预测结果:", y_pred)
# 打印准确率
accuracy = clf.score(X_test, y_test)
print("准确率:", accuracy)
```
这段代码首先导入了所需的库,包括`datasets`模块用于加载手写数字数据集,`train_test_split`模块用于划分数据集,`svm`模块用于创建SVM分类器。
然后,代码加载手写数字数据集,并将数据集划分为训练集和测试集。
接下来,代码创建了一个线性核函数的SVM分类器,并使用训练集对其进行训练。
最后,代码使用训练好的模型对测试集进行预测,并打印预测结果和准确率。