鸢尾花Jupyter线性分类的代码实现柱状图
时间: 2024-12-04 08:13:11 浏览: 13
好的,我很乐意为您介绍使用Jupyter Notebook实现鸢尾花(Iris)数据集的线性分类并绘制柱状图的代码示例。以下是一个基本的实现过程:
```python
# 导入必要的库
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data
y = iris.target
feature_names = iris.feature_names
target_names = iris.target_names
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# 创建并训练逻辑回归模型
model = LogisticRegression()
model.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = model.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f'模型准确率: {accuracy:.2f}')
# 绘制柱状图比较真实标签和预测标签
plt.figure(figsize=(10, 6))
plt.bar(range(len(y_test)), y_test, label='真实标签', alpha=0.6)
plt.bar(range(len(y_pred)), y_pred, label='预测标签', alpha=0.6)
plt.xlabel('样本编号')
plt.ylabel('类别')
plt.title('鸢尾花数据集线性分类结果')
plt.legend()
plt.show()
```
这段代码的主要步骤如下:
1. 导入必要的库。
2. 加载鸢尾花数据集。
3. 将数据集分为训练集和测试集。
4. 创建并训练逻辑回归模型。
5. 在测试集上进行预测。
6. 计算并打印模型准确率。
7. 绘制柱状图比较真实标签和预测标签。
通过这个柱状图,我们可以直观地看到模型预测结果与真实标签的匹配程度。图中,真实标签和预测标签分别用不同透明度的条形表示,使得两者能够同时显示,便于比较。
阅读全文