朴素贝叶斯算法python
时间: 2023-07-09 21:06:49 浏览: 100
朴素贝叶斯(Naive Bayes)算法是一种基于贝叶斯定理的分类算法。它的主要思想是通过已知数据的特征和类别,来预测新数据的类别。在分类过程中,它假设所有特征之间相互独立,从而简化了模型的计算。
在 Python 中,可以使用 scikit-learn 库实现朴素贝叶斯算法。以下是一个简单的示例代码:
```python
from sklearn import datasets
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 加载数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建朴素贝叶斯分类器
clf = GaussianNB()
# 训练模型
clf.fit(X_train, y_train)
# 预测测试集的类别
y_pred = clf.predict(X_test)
# 计算准确率
acc = accuracy_score(y_test, y_pred)
print("Accuracy:", acc)
```
在上面的代码中,我们使用 `datasets.load_iris()` 加载了一个经典的鸢尾花数据集,然后使用 `train_test_split` 函数将数据集划分为训练集和测试集。接着,我们创建了一个 `GaussianNB` 的分类器,并使用训练集来训练模型。最后,我们使用测试集来测试模型的准确率。
需要注意的是,朴素贝叶斯算法适用于处理分类问题,且数据集中的特征应该是连续的数值型数据或离散的类别型数据。对于文本分类等自然语言处理任务,可以使用基于朴素贝叶斯的算法,如 multinomialNB 等。
阅读全文