用python手写数字识别
时间: 2023-09-25 21:15:48 浏览: 46
可以使用Python中的机器学习库来手写数字识别。以下是一个简单的例子:
首先,我们需要安装必要的库,包括numpy、matplotlib和sklearn:
```
pip install numpy matplotlib scikit-learn
```
然后,我们可以使用sklearn中的手写数字数据集,该数据集包含许多手写数字的图像和对应的标签。我们可以使用以下代码加载数据集:
```python
from sklearn.datasets import load_digits
digits = load_digits()
X = digits.data
y = digits.target
```
接下来,我们需要将数据集分成训练集和测试集:
```python
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
然后,我们可以使用sklearn中的KNN模型进行训练和预测:
```python
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier()
knn.fit(X_train, y_train)
y_pred = knn.predict(X_test)
```
最后,我们可以使用sklearn中的accuracy_score函数来计算模型的准确率:
```python
from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")
```
完整代码如下:
```python
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
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.2, random_state=42)
knn = KNeighborsClassifier()
knn.fit(X_train, y_train)
y_pred = knn.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")
```
运行代码后,将输出模型的准确率。