朴素贝叶斯分类器的设计与实现代码
时间: 2024-12-24 12:38:02 浏览: 4
朴素贝叶斯分类器是一种基于概率统计的简单而强大的机器学习算法,它假设特征之间相互独立,尽管这个假设在实际应用中往往并不成立,但朴素贝叶斯分类器在许多场景下仍然表现出良好的性能。
设计思路:
1. **数据预处理**:对输入的数据进行标准化、缺失值处理等,确保所有特征在同一尺度上。
2. **计算先验概率**:对于每个类别,计算该类别在整个训练集中的频率,作为先验概率。
3. **估计条件概率**:对于每个特征,计算给定类别时,该特征取各个值的概率,即条件概率。
4. **预测阶段**:对于新的样本,通过贝叶斯公式计算出各类别下的后验概率,选择概率最高的类别作为预测结果。
Python实现示例,使用sklearn库:
```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
# 加载数据集
iris = load_iris()
X, y = iris.data, iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建并训练模型
gnb = GaussianNB()
gnb.fit(X_train, y_train)
# 预测
y_pred = gnb.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")
阅读全文