用SVM实现识别MNIST手写数据集识别的代码
时间: 2023-10-20 17:07:40 浏览: 113
好的,以下是用SVM实现识别MNIST手写数据集识别的代码:
```python
# 导入所需的库
import numpy as np
from sklearn.svm import SVC
from sklearn.datasets import fetch_openml
from sklearn.model_selection import train_test_split
# 加载MNIST手写数据集
mnist = fetch_openml('mnist_784', version=1, cache=True)
X = mnist.data.astype('float32')
y = mnist.target.astype('int32')
# 数据归一化,将每个像素点的值映射到0~1之间
X /= 255.
# 拆分数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 使用SVM拟合数据
svm = SVC(kernel='rbf', C=10., gamma=0.01)
svm.fit(X_train, y_train)
# 输出准确率
print('Accuracy:', svm.score(X_test, y_test))
```
该代码使用SVM来拟合MNIST手写数据集,实现了手写数字的识别。具体步骤包括:导入所需的库,加载数据集并进行数据归一化处理,拆分数据集为训练集和测试集,调用SVC函数拟合数据,计算准确率并输出结果。
希望这个代码能够帮您解决问题。
阅读全文