sklearn数据集——iris鸢尾花数据集_iris数据集

本文详细介绍了sklearn中的鸢尾花数据集,包括数据集的特征、种类和数据分布。通过数据划分、可视化展示,展示了如何使用train_test_split进行训练集和测试集的划分,并使用pandas的scatter_matrix进行散点图矩阵可视化,便于理解数据特征。最后提到了其他可用的数据集,如威斯康星州乳腺癌数据集。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过上面的描述信息,我们可以知道该数据集包含150条数据,每50条数据属于一个类别,即有三个类别,每一条数据有四个特征。

target_names 键对应的值是一个字符串数组,里面包含我们要预测的花的品种:

print("Target names: {}".format(iris_dataset['target_names']))

输出:

Target names: ['setosa' 'versicolor' 'virginica']

由此,我们可以知道鸢尾花数据集iris包含3类鸢尾花,分别为山鸢尾(Iris-setosa)、杂色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica)

feature_names 键对应的值是一个字符串列表,对每一个特征进行了说明:

print("Feature names: \n{}".format(iris_dataset['feature_names']))

输出:

Feature names: 
['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']

由此,我们可以知道每条数据包含4个特征:花萼长度(sepal length)、花萼宽度(sepal width)、花瓣长度(petal length)、花瓣宽度(petal width)

**数据包含在 target 和 data 字段中。**data 里面是花萼长度、花萼宽度、花瓣长度、花瓣宽度的测量数据,格式为 NumPy 数组:

print("Type of data: {}".format(type(iris_dataset['data'])))

输出:

Type of data: <class 'numpy.ndarray'>

data 数组的每一行对应一朵花,列代表每朵花的四个测量数据:

print("Shape of data: {}".format(iris_dataset['data'].shape))

输出:

Shap
### 使用 `sklearn` 加载和操作 Iris 数据集 #### 导入必要的库 为了能够顺利加载并处理鸢尾花数据集,需要先导入一些基本的 Python 库。 ```python from sklearn.datasets import load_iris import pandas as pd ``` #### 加载数据集 可以直接调用 `load_iris()` 函数来获取内置的鸢尾花数据集。该函数返回的是一个类似于字典的对象,其中包含了数据本身及其对应的类别标签等信息[^1]。 ```python # 加载鸢尾花数据集 data = load_iris() # 将特征矩阵转换成 DataFrame 表格形式以便查看 df_features = pd.DataFrame(data=data.data, columns=data.feature_names) # 查看前几行的数据 print(df_features.head()) ``` #### 探索数据结构 可以进一步探索所加载的数据集的具体情况,比如查看其形状、描述统计量等。 ```python # 显示数据维度 print(f"Data shape: {df_features.shape}") # 获取关于数值型变量的一些统计数据 print("\nDescriptive statistics:") print(df_features.describe()) # 输出目标值(即种类) target_series = pd.Series(data.target) print("\nTarget values (species):", target_series.unique()) ``` #### 划分训练集与测试集 通常,在构建任何类型的预测模型之前,都需要把原始数据划分为两个部分——用于拟合模型参数的训练样本集合以及用来检验泛化能力的独立测试样本集合。 ```python from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split( df_features, data.target, test_size=0.3, random_state=42 ) print(f"\nTraining set size: {len(X_train)}") print(f"Testing set size: {len(X_test)}") ``` 以上就是使用 `sklearn` 来加载和初步处理鸢尾花数据集的方法概述。这为后续更复杂的分析工作奠定了基础,例如建立分类器来进行物种识别的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值