使用python实现贝叶斯算法
时间: 2023-03-02 08:27:45 浏览: 85
要实现贝叶斯算法,需要先安装 Python 中的一些常用数据科学包,例如 numpy、pandas、matplotlib 和 scikit-learn。
以下是使用 scikit-learn 库实现贝叶斯算法的步骤:
1. 导入所需的库和数据集。
```
from sklearn.datasets import load_iris
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
```
2. 加载数据集。
```
data = load_iris()
X = data.data
y = data.target
```
3. 将数据集分为训练集和测试集。
```
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
```
4. 创建一个 GaussianNB 对象。
```
gnb = GaussianNB()
```
5. 使用训练集拟合模型。
```
gnb.fit(X_train, y_train)
```
6. 使用测试集评估模型。
```
accuracy = gnb.score(X_test, y_test)
print("Accuracy: ", accuracy)
```
完整的代码如下:
```
from sklearn.datasets import load_iris
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
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.2, random_state=42)
gnb = GaussianNB()
gnb.fit(X_train, y_train)
accuracy = gnb.score(X_test, y_test)
print("Accuracy: ", accuracy)
```
这段代码使用朴素贝叶斯算法对鸢尾花数据集进行分类,并输出了模型在测试集上的准确率。