朴素贝叶斯分类器例题
时间: 2025-01-06 10:10:49 浏览: 30
关于朴素贝叶斯分类器的示例题目及解答
示例题目:使用朴素贝叶斯分类器进行鸢尾花种类预测
给定一组鸢尾花的数据集,该数据集中包含了四种特征(萼片长度、萼片宽度、花瓣长度和花瓣宽度),目标是根据这些特征来预测鸢尾花的具体种类。
为了完成这个任务,下面是一个完整的 Python 实现过程:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score, classification_report
def iris_naive_bayes():
# 加载鸢尾花数据集
data = load_iris()
X = data.data # 特征向量
y = data.target # 类别标签
# 将数据分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建高斯朴素贝叶斯模型实例并拟合训练数据
model = GaussianNB().fit(X_train, y_train)
# 使用测试数据评估模型性能
predictions = model.predict(X_test)
print(f'Accuracy Score: {accuracy_score(y_test, predictions)}')
print('Classification Report:')
print(classification_report(y_test, predictions))
上述代码展示了如何利用 scikit-learn
库中的 GaussianNB()
函数快速构建一个基于高斯分布假设下的朴素贝叶斯分类器,并应用于鸢尾花数据集上。通过分割原始数据为训练集与验证集的方式,能够有效地衡量所建立模型的好坏程度[^2]。
此外,在处理实际问题时,如果遇到某些类别下特定属性从未观察到的情况,则可以通过引入拉普拉斯平滑技术来调整概率估计值,从而防止由于某个条件概率等于零而导致最终联合概率也为零的现象发生[^5]。
阅读全文
相关推荐







