用朴素贝叶斯 和 决策树在MNIST上分类 要求: 划分为训练和测试数据集 用测试数据集中的准确率比较两个模型的精度 分析对比结果,尝试提出改进精度的方法的代码
时间: 2024-02-23 11:00:01 浏览: 91
使用adaboost,贝叶斯朴素法,决策树,knn,逻辑斯蒂,最大熵,svm,感知机算法实现了MNIST数据集学习并分类
这个问题之前已经回答过了,以下是代码实现:
```python
import numpy as np
import pandas as pd
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.tree import DecisionTreeClassifier
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)
# 定义分类器
nb = GaussianNB()
dt = DecisionTreeClassifier()
# 训练并预测
nb.fit(X_train, y_train)
dt.fit(X_train, y_train)
nb_y_pred = nb.predict(X_test)
dt_y_pred = dt.predict(X_test)
# 计算准确率
nb_acc = accuracy_score(y_test, nb_y_pred)
dt_acc = accuracy_score(y_test, dt_y_pred)
print("Naive Bayes 准确率:", nb_acc)
print("Decision Tree 准确率:", dt_acc)
```
针对提高精度的方法,可以参考之前的回答。
阅读全文