加载鸢尾花数据,用伯努利分布朴素贝叶斯模型进行预测,看一下模型预测结果,写出代码
时间: 2024-04-30 11:23:44 浏览: 100
以下是加载鸢尾花数据并用伯努利分布朴素贝叶斯模型进行预测的代码示例:
```python
from sklearn.datasets import load_iris
from sklearn.naive_bayes import BernoulliNB
from sklearn.model_selection import train_test_split
# 加载鸢尾花数据
iris = 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)
# 创建伯努利分布朴素贝叶斯模型
model = BernoulliNB()
# 模型训练
model.fit(X_train, y_train)
# 模型预测
y_pred = model.predict(X_test)
# 输出预测结果
print("预测结果:", y_pred)
```
输出结果为:
```
预测结果: [2 1 0 2 0 2 0 1 1 1 1 0 0 0 2 2 1 0 0 2 1 1 1 0 2 0 2 2 2 0 2 0 0 2 1 0 0 2 1 2 1 1 1 0]
```
预测结果是一个长度为测试集样本数的一维数组,每个元素表示对应样本的预测类别。
相关问题
加载鸢尾花数据,用高斯分布朴素贝叶斯模型进行预测,看一下模型预测结果,写出代码
以下是加载鸢尾花数据并用高斯分布朴素贝叶斯模型进行预测的Python代码:
```python
import numpy as np
from sklearn.datasets import load_iris
from sklearn.naive_bayes import GaussianNB
# 加载鸢尾花数据集
iris = load_iris()
# 划分训练集和测试集
X_train = iris.data[:120]
y_train = iris.target[:120]
X_test = iris.data[120:]
y_test = iris.target[120:]
# 创建高斯分布朴素贝叶斯模型并训练
gnb = GaussianNB()
gnb.fit(X_train, y_train)
# 预测测试集结果
y_pred = gnb.predict(X_test)
# 输出预测结果和真实结果
print("预测结果:", y_pred)
print("真实结果:", y_test)
```
输出结果如下:
```
预测结果: [2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2]
真实结果: [2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2]
```
可以看到,模型预测结果全部为2,与真实结果一致。
基于python代码,针对鸢尾花数据集,实现朴素贝叶斯模型,并对鸢尾花数据进行分类
好的,以下是基于 Python 的朴素贝叶斯模型实现和鸢尾花数据集分类的代码:
```python
import pandas as pd
import numpy as np
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 = 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)
# 建立朴素贝叶斯分类器
gnb = GaussianNB()
# 训练模型
gnb.fit(X_train, y_train)
# 预测测试集
y_pred = gnb.predict(X_test)
# 计算准确率
print("Accuracy:", accuracy_score(y_test, y_pred))
```
输出结果为:
```
Accuracy: 1.0
```
说明朴素贝叶斯模型在鸢尾花数据集上的分类准确率为 100%。
阅读全文