从机器学习建模角度看,一个无监督学习数据集(unsupervised learning dataset)通常只包含样本的特征信息,而不包含用于训练的标签信息。其核心数据结构通常是特征矩阵(feature matrix)。
与监督学习不同,无监督学习的数据集中通常不包含标签数组(target array)。模型需要仅根据数据本身的结构去发现潜在规律,例如:
• 样本之间的相似关系
• 数据的聚类结构
• 数据的低维表示
• 异常或离群样本
为了便于理解数据含义,数据集仍可能提供一些附加说明信息,例如:
• 特征名称(feature names)
• 数据说明(dataset description)
下面分别介绍这些概念,并使用 Scikit-Learn 自带的葡萄酒数据集(Wine dataset) 进行说明。
一、特征矩阵
1、基本概念
在无监督学习中,数据通常以特征矩阵(feature matrix)的形式提供。
每个样本由多个特征(feature)描述。例如,一个样本可能包含:
• 长度
• 宽度
• 密度
• 温度
如果一个数据集中有 n 个样本,每个样本有 m 个特征,那么这些特征就会组成一个二维矩阵:
]其中:
• 每一行表示一个样本
• 每一列表示一个特征
因此矩阵维度为:
(n_samples, n_features)即:
(样本数, 特征数)特征矩阵通常记为 X,它是无监督学习算法的输入数据。
在实际应用中,特征矩阵通常来自:
• 数据表(CSV、Excel 等)
• 数据库查询结果
• 传感器采集数据
• 从原始数据中通过特征工程提取出的数值特征
2、葡萄酒数据集示例
Scikit-Learn 提供了葡萄酒数据集,其中包含 178 个样本,每个样本包含 13 个化学特征。
需要说明的是,Wine 数据集本身是一个监督学习分类数据集,但在无监督学习示例中,我们通常只使用其特征矩阵 data,忽略 target。
查看特征矩阵:
print(wine.data[:3]) # 前三个样本示例输出:
[13.16 2.36 2.67 ...]]wine.data 就是特征矩阵(二维 ndarray 数组),形状 (178, 13) 表示样本数为 178,每个样本的特征数为 13。
二、无监督学习中没有标签
1、基本概念
在监督学习中,每个样本都对应一个标签:
y例如:
y = [0,0,1,1,2,...]但在无监督学习中,数据通常没有预先标注的标签。算法需要仅根据特征矩阵 X 去发现数据的内部结构,例如:
• 自动将样本分成若干组(聚类)
• 找到主要变化方向(降维)
• 识别异常样本(异常检测)
在无监督学习任务中,模型训练通常只使用特征矩阵 X,而不会使用标签 y。
2、Scikit-Learn 数据集中的情况
需要注意的是,Scikit-Learn 的一些数据集仍然提供 target 字段,这是为了方便进行:
• 数据分析
• 可视化验证
• 算法评估
例如:
print(wine.target[:10])示例输出:
[0 0 0 0 0 0 0 0 0 0]但在真正的无监督学习任务中,这些标签通常不会参与模型训练。
例如 KMeans、PCA 、DBSCAN 等算法通常只使用 X,而不会使用 y。
三、特征名称
1、基本概念
特征矩阵中的每一列表示一个特征,但这些特征通常具有具体含义。
例如:
• 酒精含量(alcohol)
• 苹果酸(malic acid)
• 灰分(ash)
为了说明这些特征的含义,数据集通常提供特征名称(feature names)。
其结构通常是一个字符串列表(或字符串数组):
['feature1', 'feature2', ...]特征名称可以帮助我们理解每一列数据所表示的实际意义。
2、葡萄酒数据集示例
查看特征名称:
print(wine.feature_names)输出示例:
...]wine.feature_names 给出了每个特征的名称(共 13 个),并与 wine.data 的列顺序一一对应。例如:
data[:,1] → malic_acid四、数据说明
1、基本概念
很多机器学习数据集还会提供背景说明信息,例如:
• 数据来源
• 数据收集方式
• 样本数量
• 特征解释
这些信息对于理解数据背景非常重要。因此,数据集通常会提供数据说明(dataset description)。
2、葡萄酒数据集示例
查看数据说明:
print(wine.DESCR[:200])wine.DESCR 是一个字符串(str),包含数据集的完整说明文档,内容通常较长,因此只显示前 200 个字符。其中通常包括:
• 数据来源
• 数据集规模
• 特征说明
五、无监督学习数据集结构关系
一个典型的无监督学习数据集通常可以表示为:
└── 解释数据来源与结构在 Scikit-Learn 的数据集中,这些内容通常分别对应:
数据说明 → DESCR需要注意的是,一些数据集仍然包含:
target_names但在无监督学习任务中,这些信息通常不会参与模型训练。
小结
在无监督学习数据集中,最核心的数据结构是特征矩阵 X,它描述了每个样本的多个特征。与监督学习不同,无监督学习在训练过程中通常不使用标签数组 y,而是通过分析 X 的内部结构发现潜在模式,例如聚类结构或低维表示。为了帮助理解数据含义,数据集还可能提供特征名称和数据说明。在 Scikit-Learn 中,这些信息通常对应 data、feature_names 和 DESCR 等字段。
![]()
“点赞有美意,赞赏是鼓励”
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.