对鸢尾花数据集两两进行可视化泡泡图
时间: 2024-09-20 21:09:58 浏览: 47
基于PCA模型的鸢尾花数据可视化_pythonpca花_PCA鸢尾花_python_PCA模型_鸢尾花数据_
5星 · 资源好评率100%
鸢尾花数据集是一个经典的机器学习数据集,它包含了三种不同类型的鸢尾花(Setosa、Versicolour 和 Virginica)的测量值,如花萼长度、花瓣长度等特征。要对这个数据集的两个类别进行可视化,通常我们会选择散点图或者泡泡图(Bubble Chart),其中泡泡图可以进一步展示第三个连续变量的信息。
在一个泡泡图中,每个点代表一朵花,x轴和y轴通常表示两个分类变量(比如花萼长度和花瓣长度),而泡泡的大小则反映了第三个数值(例如花的宽度)。例如,你可以将Setosa和Versicolour比较,Setosa的泡泡较小,Versicolour的泡泡较大,而Virginica又比Versicolour更大一些,以此来直观地看出它们之间的区别。
在Python中,可以使用matplotlib库和seaborn库来创建这样的图表。首先加载数据,然后按照上述规则绘制泡泡图:
```python
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
# 加载鸢尾花数据集
iris = load_iris()
setosa_versicolor = iris.data[iris.target == 0], iris.data[iris.target == 1] # 取出Setosa和Versicolour的数据
# 创建泡泡图
sns.set(style="whitegrid")
fig, ax = plt.subplots(figsize=(8, 6))
ax.scatter(setosa_versicolor[0][:, 0], setosa_versicolor[0][:, 1], s=50, c='blue', label="Setosa")
ax.scatter(setosa_versicolor[1][:, 0], setosa_versicolor[1][:, 1], s=setosa_versicolor[1][:, 2]*200, c='red', label="Versicolour")
# 添加标签和标题
ax.legend()
ax.set_xlabel('Petal length')
ax.set_ylabel('Sepal length')
ax.set_title('Iris dataset: Setosa vs Versicolour')
plt.show()
```
阅读全文