当列具有不同量级时,为什么需要特征缩放?
需要特征缩放是因为原始特征通常在单位和量级上有所不同,使它们不可比较。缩放将它们带到共同的尺度上,这对于许多机器学习算法正常工作是必要的。
适用条件
- 数据集包含具有不同单位或范围的多个特征。
- 模型对特征量级敏感(例如,基于距离或梯度的模型)。
理解与推导
- 识别具有巨大不同数值范围的特征(例如,酒精含量约 13-14,苹果酸约 1.7-2.6)。
- 认识到使用欧几里得距离或梯度下降的算法会受到这些差异的影响。
- 应用归一化或标准化等缩放技术来对齐尺度。
例子
视频显示了一个葡萄酒数据集,其中酒精值约为 13-14,苹果酸值约为 1.7-2.6,激发了将它们缩小到同一尺度的需求。
容易误解的地方
- 假设所有机器学习算法都需要特征缩放(基于树的模型通常不需要)。
- 认为缩放改变了底层分布形状,而不仅仅是尺度。
观看对应讲解
YouTube标准化与归一化—特征缩放
6:00 – 6:35原站看这一段 ↗
相关概念
继续追问
相关问题
理解原因↗
基于树的模型不需要特征缩放,因为它们根据特征条件(阈值)而不是绝对量级来分割数据。特征值的单调重缩放不会改变分支结构或分裂的顺序。
适用条件:模型是决策树或树的集成(随机森林、XGBoost 等)。;分裂逻辑基于将特征值与阈值进行比较。
YouTube标准化与归一化—特征缩放
10:03 – 10:35原站看这一段 ↗
掌握方法↗
从 `sklearn.preprocessing` 导入 `MinMaxScaler`,实例化它,并在选定的 DataFrame 列上调用 `fit_transform`。这将缩放器拟合到数据(学习最小/最大值)并将值转换到 [0, 1] 范围。
适用条件:输入数据是数值型的。;已安装 Scikit-learn 库。
YouTube标准化与归一化—特征缩放
6:35 – 7:08原站看这一段 ↗
认识概念↗
标准化将特征值 转换为 ,针对转换后特征的均值为 0 和标准差为 1。
适用条件:逐数值特征应用。;使用特征均值 和标准差 。;假设 。
YouTube标准化与归一化—特征缩放
7:10 – 7:58原站看这一段 ↗
掌握方法↗
从 `sklearn.preprocessing` 导入 `StandardScaler`,实例化它,并在选定的 DataFrame 列上调用 `fit_transform`。这将数据转换为均值为 0 和标准差为 1。
适用条件:输入数据是数值型的。;已安装 Scikit-learn 库。
YouTube标准化与归一化—特征缩放
7:58 – 8:59原站看这一段 ↗
认识概念↗
最小-最大归一化将特征值 转换为 ,将特征的观测范围映射到区间 。
适用条件:逐数值特征应用。;需要该特征在数据集中的有限最小值 和最大值 。;假设 以避免除以零。
YouTube标准化与归一化—特征缩放
7:02 – 7:08原站看这一段 ↗
答案依据视频资料生成并经过独立核验。若有疑问,请核对原视频或联系原作者。