用sklearn调用朴素贝叶斯分类器写一个手写数字识别
时间: 2023-03-26 12:00:28 浏览: 225
基于朴素贝叶斯的手写数字识别
3星 · 编辑精心推荐
可以使用sklearn中的朴素贝叶斯分类器来实现手写数字识别。具体步骤如下:
1. 导入sklearn中的datasets和naive_bayes模块。
2. 加载手写数字数据集,可以使用datasets.load_digits()函数。
3. 将数据集分为训练集和测试集,可以使用train_test_split()函数。
4. 创建朴素贝叶斯分类器对象,可以使用GaussianNB()函数。
5. 使用训练集对分类器进行训练,可以使用fit()函数。
6. 使用测试集对分类器进行测试,可以使用predict()函数。
下面是一个示例代码:
```
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
# 加载手写数字数据集
digits = datasets.load_digits()
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=.3, random_state=42)
# 创建朴素贝叶斯分类器对象
clf = GaussianNB()
# 使用训练集对分类器进行训练
clf.fit(X_train, y_train)
# 使用测试集对分类器进行测试
y_pred = clf.predict(X_test)
# 输出分类器的准确率
print("Accuracy:", clf.score(X_test, y_test))
```
这段代码使用了GaussianNB()函数创建了一个高斯朴素贝叶斯分类器对象,使用fit()函数对训练集进行训练,使用predict()函数对测试集进行预测,并输出了分类器的准确率。
阅读全文