朴素贝叶斯算法sklearn手写数字数据集进行分类
时间: 2024-02-05 11:39:16 浏览: 91
好的,下面是一个使用朴素贝叶斯算法对sklearn手写数字数据集进行分类的示例代码:
``` 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
# 加载手写数字数据集
digits = load_digits()
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.3, random_state=42)
# 创建朴素贝叶斯分类器
clf = GaussianNB()
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)
```
代码中首先加载手写数字数据集,然后使用`train_test_split`函数将数据集划分为训练集和测试集。接着创建朴素贝叶斯分类器并训练模型。最后预测测试集并计算准确率。
注意,这里使用的是高斯朴素贝叶斯分类器,因为手写数字数据集中的特征是连续值。如果特征是离散值,则可以使用多项式朴素贝叶斯分类器。
阅读全文