7 数据集处理之数据加载
系列进度
Scikit-learn 入门 · 第 7 / 24 篇
数据加载不是把文件读进来就结束。你要知道特征矩阵和目标变量分别是什么,字段含义是否清楚,数据是否可以追溯。
加载数据后,我会先打印形状、前几行、字段名和目标分布。四项都看过,再进入预处理。
在上一节,我们讨论了如何配置虚拟环境,为使用 Scikit-Learn 打下基础。本节将专注于如何加载数据集,以便在机器学习任务中进行进一步处理和建模。对于任何机器学习项目,数据的获取与加载是至关重要的一步。正确地加载数据集,能够确保后续的数据处理和模型训练的顺利进行。
1. 加载内置数据集
Scikit-Learn 提供了一些内置的数据集,这些数据集在机器学习的学习和教学过程中非常有用。以下是一些常见的内置数据集:
使用 Scikit-Learn 加载数据时,先查看样本数、特征数、标签分布、缺失值和数据类型。
Iris数据集California Housing房价数据集Wine数据集
示例:加载鸢尾花数据集
让我们以最经典的鸢尾花数据集为例。首先,确保你已经在虚拟环境中安装了 scikit-learn。我们可以通过以下代码来加载这个数据集:
from sklearn.datasets import load_iris
# 加载鸢尾花数据集
iris = load_iris()
# 打印数据集特征和目标
print("特征矩阵:\n", iris.data)
print("目标数组:\n", iris.target)
print("特征名称:", iris.feature_names)
print("目标名称:", iris.target_names)
在这个示例中,load_iris() 函数加载了鸢尾花数据集,数据集包含 150 个样本,每个样本有 4 个特征,目标是 3 类鸢尾花。加载完数据后,我们可以使用 iris.data 和 iris.target 来访问特征和目标。
2. 从外部文件加载数据集
除了内置的数据集外,用户常常需要从外部文件中加载数据,比如 CSV 或 Excel 文件。Scikit-Learn 不直接提供数据加载的功能,但是我们可以结合 pandas 库来完成这一任务。
《数据集处理之数据加载》读到最后,可以把图里的流程当成检查表:问题是否明确,操作是否落地,判断标准是否能复用。
示例:加载 CSV 文件
假设我们有一个名为 data.csv 的文件,包含以下内容:
sepal_length,sepal_width,petal_length,petal_width,species
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
...
我们可以使用 pandas 来加载这个 CSV 文件,并将其转换为适合 Scikit-Learn 的格式:
import pandas as pd
from sklearn.model_selection import train_test_split
# 加载 CSV 文件
data = pd.read_csv('data.csv')
# 显示数据集的前几行
print(data.head())
# 提取特征和目标
X = data.drop('species', axis=1) # 特征
y = data['species'] # 目标
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
print("训练集特征:\n", X_train)
print("训练集标签:\n", y_train)
在这个示例中,我们首先使用 pandas 的 read_csv 函数加载数据。然后,我们用 drop 方法去掉目标变量(species 列),提取特征。最后,使用 train_test_split 将数据集划分为训练集和测试集。
如果《数据集处理之数据加载》还没完全消化,可以从这张卡片的四个动作重新走一遍。
回看《数据集处理之数据加载》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。
3. 总结
在本节中,我们学习了如何使用 Scikit-Learn 加载内置数据集以及如何利用 pandas 从外部文件加载数据集。这为我们后续的数据预处理和模型训练提供了很好的基础支持。在下一节,我们将深入探讨数据预处理的相关技巧,包括特征选择、标准化以及缺失值处理等内容。
准备好继续探索了吗?让我们在下节课中进一步讨论数据预处理的技巧与方法吧!
相关教程
相关入口
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
相关内容