鸢尾花python散点图
时间: 2024-09-04 11:02:18 浏览: 93
鸢尾花数据集(Iris dataset)是一个经典的机器学习示例,其中包含三种不同种类的鸢尾花(Setosa、Versicolour和Virginica)的测量数据,如花萼长度、花瓣长度等。在Python中,我们可以使用matplotlib库来绘制鸢尾花的散点图,通常用于可视化特征之间的关系,比如比较每种鸢尾花的不同品种之间花瓣长度和宽度的变化。
例如,你可以这样做:
```python
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
# 加载鸢尾花数据
iris = load_iris()
X = iris.data[:, :2] # 取前两个特征进行二维展示
# 绘制散点图,颜色表示鸢尾花的类别
colors = iris.target_names
for i, color in enumerate(colors):
plt.scatter(X[iris.target == i, 0], X[iris.target == i, 1], label=color)
plt.xlabel('Petal length')
plt.ylabel('Sepal length')
plt.legend()
plt.title('Scatter plot of Iris dataset')
plt.show()
```
这个散点图会显示花瓣长度(横轴)和花萼长度(纵轴)之间的区别,每个颜色代表一种鸢尾花种类。
相关问题
鸢尾花 特征散点图 python
可以使用matplotlib库和seaborn库来绘制鸢尾花特征散点图,代码如下:
```python
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# 导入数据集并转换为DataFrame对象
iris_dataset = sns.load_dataset('iris')
iris_df = pd.DataFrame(iris_dataset)
# 绘制散点图
sns.scatterplot(data=iris_df, x='sepal_length', y='sepal_width', hue='species')
# 设置图表标题
plt.title('Iris Sepal Features Scatterplot')
# 显示图表
plt.show()
```
这段代码会绘制出一个以花萼长度为x轴、花萼宽度为y轴的散点图,同时用不同的颜色表示不同的鸢尾花品种。
knn算法python鸢尾花散点图
以下是使用Python的scikit-learn库实现k-NN算法,并绘制鸢尾花数据集的散点图的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
# 加载鸢尾花数据集
iris = datasets.load_iris()
X = iris.data[:, :2] # 只取前两个特征
y = iris.target
# 初始化k-NN分类器
knn = KNeighborsClassifier(n_neighbors=3)
# 训练分类器
knn.fit(X, y)
# 预测新样本的类别
X_new = np.array([[5, 3.5]]) # 新样本的特征
y_pred = knn.predict(X_new)
print("预测结果:", iris.target_names[y_pred])
# 绘制鸢尾花数据集的散点图
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Set1)
plt.xlabel('Sepal length')
plt.ylabel('Sepal width')
plt.title('Iris dataset')
plt.show()
```
运行以上代码,可以得到类似下图的散点图:
![image](https://user-images.githubusercontent.com/44204404/134040506-f3b4ae4b-3c40-4d13-bf2b-f41e9e067c97.png)
阅读全文