import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split data = pd.read_csv("D:\\Iris_flower_dataset.csv") x = np.array(data.iloc[:, [1, 4]]) y_tmp = np.array(data["Species"]) y = [] label = ["Iris-setosa", "Iris-virginica", "Iris-versicolor"] for i in y_tmp: # 将英文压为整型 if i == label[0]: y.append(0) elif i == label[1]: y.append(1) else: y.append(2) y = np.array(y) x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=2022) # 训练集可视化 plt.scatter(x_train[:, 0], x_train[:, 1], c=y_train) plt.xlabel("sepal length[cm]") # 设置x轴名 plt.ylabel("petal width[cm]") # 设置y轴名 plt.show()
时间: 2024-01-31 12:04:10 浏览: 89
python数据分析与可视化 import pandas as pd import numpy as np import m
这段代码的作用是使用机器学习的方法对鸢尾花数据集进行训练,并可视化训练集。
首先,代码将需要的库导入,并使用 pandas 库中的 "read_csv()" 函数从本地磁盘中读取名为 "Iris_flower_dataset.csv" 的 CSV 文件,并将其加载到一个名为 "data" 的 pandas DataFrame 对象中。
然后,代码从 "data" 中选择第1列(sepal length)和第4列(petal width)作为特征向量 "x",并将 "Species" 列中的字符串类型标签转换成数字类型标签,并将其存储在 "y" 变量中。
接着,代码使用 scikit-learn 库中的 "train_test_split()" 函数将数据集分成训练集和测试集,并将它们分别存储在 "x_train"、"y_train"、"x_test" 和 "y_test" 变量中。
最后,代码使用 matplotlib 库中的 "scatter()" 函数可视化训练集,其中 "c=y_train" 参数告诉函数将不同类别的数据点用不同颜色的散点图表示。
以下是完整的代码示例:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
data = pd.read_csv("D:\\Iris_flower_dataset.csv")
x = np.array(data.iloc[:, [1, 4]])
y_tmp = np.array(data["Species"])
y = []
label = ["Iris-setosa", "Iris-virginica", "Iris-versicolor"]
for i in y_tmp:
if i == label[0]:
y.append(0)
elif i == label[1]:
y.append(1)
else:
y.append(2)
y = np.array(y)
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=2022)
plt.scatter(x_train[:, 0], x_train[:, 1], c=y_train)
plt.xlabel("sepal length[cm]")
plt.ylabel("petal width[cm]")
plt.show()
```
阅读全文