西瓜书贝叶斯分类器python
时间: 2023-10-08 11:14:14 浏览: 131
基于python的贝叶斯分类算法(数据集为Iris-data)+源代码+文档说明
在Python中,你可以使用scikit-learn库来实现贝叶斯分类器。具体来说,scikit-learn提供了两种常用的贝叶斯分类器:高斯朴素贝叶斯(Gaussian Naive Bayes)和多项式朴素贝叶斯(Multinomial Naive Bayes)。
下面是一个使用高斯朴素贝叶斯分类器进行分类的示例代码:
```python
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 准备数据
# X为特征向量,y为对应的类别标签
X = [[1, 2], [3, 4], [1, 3], [2, 4], [4, 6]]
y = [0, 0, 1, 1, 1]
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, 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:", accuracy)
```
这段代码中,我们首先导入了所需的库。然后,我们准备了一些示例数据,包括特征向量X和对应的类别标签y。接下来,我们使用`train_test_split`函数将数据集划分为训练集和测试集。然后,我们创建了一个`GaussianNB`对象作为分类器,并在训练集上调用`fit`方法进行训练。最后,我们使用训练好的分类器对测试集进行预测,并计算准确率。
如果你需要使用多项式朴素贝叶斯分类器,可以将代码中的`GaussianNB`替换为`MultinomialNB`即可。
阅读全文