wine数据集贝叶斯分类并可视化代码
时间: 2023-09-08 08:08:58 浏览: 198
wine数据集
5星 · 资源好评率100%
好的,下面是基于Python的wine数据集贝叶斯分类并可视化的代码:
```python
# 导入必要的库
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import confusion_matrix, classification_report
# 加载数据集
wine = load_wine()
X = wine.data
y = wine.target
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 构建高斯朴素贝叶斯分类器
gnb = GaussianNB()
# 拟合模型并进行预测
y_pred = gnb.fit(X_train, y_train).predict(X_test)
# 计算模型在测试集上的准确率、精确率、召回率和F1值等评价指标
print(confusion_matrix(y_test, y_pred))
print(classification_report(y_test, y_pred))
# 可视化模型分类结果
plt.figure(figsize=(10, 6))
colors = ['red', 'blue', 'green']
for i in range(len(colors)):
x = X_test[:, 0][y_pred == i]
y = X_test[:, 1][y_pred == i]
plt.scatter(x, y, c=colors[i])
plt.legend(wine.target_names)
plt.xlabel('Alcohol')
plt.ylabel('Malic Acid')
plt.show()
```
上述代码中,首先加载wine数据集,并将数据集分为训练集和测试集。然后,通过调用`GaussianNB()`函数构建高斯朴素贝叶斯分类器,并使用训练集拟合模型并进行预测。接着,通过调用`confusion_matrix()`和`classification_report()`函数计算模型在测试集上的评价指标。最后,使用matplotlib库可视化模型分类结果,其中红色、蓝色和绿色分别表示三个类别。
阅读全文