请写一个手写数字识别的python代码,使用 SK-Learn 自带玩具数据集和贝叶斯分类器,包括预处理流程
时间: 2024-03-22 11:37:23 浏览: 80
好的,以下是一个手写数字识别的Python代码,使用SK-Learn自带玩具数据集和朴素贝叶斯分类器:
```python
# 导入需要的库
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score
from sklearn.preprocessing import StandardScaler
# 加载数据
digits = load_digits()
# 数据预处理
X = digits.data
y = digits.target
scaler = StandardScaler()
X = scaler.fit_transform(X)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 初始化朴素贝叶斯分类器
nb = GaussianNB()
# 训练模型
nb.fit(X_train, y_train)
# 预测测试集结果
y_pred = nb.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("预测准确率:{:.2f}%".format(accuracy * 100))
```
这段代码的作用是加载SK-Learn自带的手写数字数据集,并使用标准化处理数据。然后将数据集划分为训练集和测试集,并使用朴素贝叶斯分类器训练模型。最后预测测试集结果,并计算准确率。
阅读全文