使用sklearn.datasets加载鸢尾花数据集
鸢尾花数据集是机器学习中最经典的数据集之一,它包含了3个不同种类的鸢尾花样本,每个种类有50个样本。每个样本包含了4个特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度。这个数据集旨在帮助我们通过机器学习算法来根据这些特征预测鸢尾花的种类。
sklearn.datasets是sklearn库中的一个模块,提供了一些常见的数据集供我们直接使用。我们可以使用load_iris()函数加载鸢尾花数据集。
接下来,让我们使用一个简单的例子来加载并使用鸢尾花数据集。
首先,我们需要导入相关的库和模块:
import matplotlib.pyplot as plt from sklearn.datasets import load_iris
然后,我们可以使用load_iris()函数加载数据集:
iris = load_iris()
load_iris()函数会返回一个Bunch对象,它是一个类似于字典的对象,它包含了数据集的数据和相关的信息。我们可以通过访问这些属性来获取数据集的相关信息。
鸢尾花数据集一共有150个样本,每个样本有4个特征,我们可以通过打印data属性的shape来查看数据集的维度:
print(iris.data.shape)
运行以上代码,将会输出(150, 4),表示数据集有150个样本,每个样本有4个特征。
我们也可以通过打印target属性的shape来查看数据集的标签维度:
print(iris.target.shape)
运行以上代码,将会输出(150,),表示数据集有150个样本的标签。
接下来,我们可以打印数据集的特征名称和标签名称:
print(iris.feature_names) print(iris.target_names)
运行以上代码,将会输出特征的名称和标签的名称:
['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'] ['setosa' 'versicolor' 'virginica']
我们还可以通过打印部分样本的特征和标签来查看数据集的内容:
print(iris.data[:5]) print(iris.target[:5])
运行以上代码,将会输出前5个样本的特征和标签:
[[5.1 3.5 1.4 0.2] [4.9 3. 1.4 0.2] [4.7 3.2 1.3 0.2] [4.6 3.1 1.5 0.2] [5. 3.6 1.4 0.2]] [0 0 0 0 0]
这些特征和标签分别代表了前5个样本的花萼长度、花萼宽度、花瓣长度、花瓣宽度以及它们所属的鸢尾花的种类。
最后,我们可以使用matplotlib库中的函数来可视化数据集的样本分布情况:
plt.scatter(iris.data[:, 0], iris.data[:, 1], c=iris.target) plt.xlabel(iris.feature_names[0]) plt.ylabel(iris.feature_names[1]) plt.show()
以上代码将会绘制以花萼长度和花萼宽度为坐标轴的散点图,并用颜色表示不同种类的鸢尾花。
这就是一个简单的使用sklearn.datasets加载鸢尾花数据集的例子。通过这个例子,我们可以了解到如何加载数据集,并查看数据集的相关信息,还可以使用matplotlib库进行数据可视化。这个数据集广泛应用于机器学习的训练、评估和调优等任务中,因此熟悉这个数据集对于学习和实践机器学习算法都是非常有价值的。
