如何在 scikit-learn 中使用 StandardScaler 标准化特征?
从 `sklearn.preprocessing` 导入 `StandardScaler`,实例化它,并在选定的 DataFrame 列上调用 `fit_transform`。这将数据转换为均值为 0 和标准差为 1。
适用条件
- 输入数据是数值型的。
- 已安装 Scikit-learn 库。
理解与推导
- 导入类:`from sklearn.preprocessing import StandardScaler`。
- 创建实例:`scaling = StandardScaler()`。
- 应用到选定列:`scaled_data = scaling.fit_transform(df[['Alcohol', 'Malic']])`。
例子
视频显示:`from sklearn.preprocessing import StandardScaler`,`scaling=StandardScaler()`,以及 `scaling.fit_transform(df[['Alcohol', 'Malic']])`,产生具有正值和负值的 Z 分数。
容易误解的地方
- 将 `StandardScaler` 与 `MinMaxScaler` 混淆,导致错误的缩放范围。
- 假设输出限制在 0 和 1 之间,而标准化允许任何实数值。
观看对应讲解
YouTube标准化与归一化—特征缩放
7:58 – 8:59原站看这一段 ↗
相关概念
继续追问
相关问题
理解原因↗
基于树的模型不需要特征缩放,因为它们根据特征条件(阈值)而不是绝对量级来分割数据。特征值的单调重缩放不会改变分支结构或分裂的顺序。
适用条件:模型是决策树或树的集成(随机森林、XGBoost 等)。;分裂逻辑基于将特征值与阈值进行比较。
YouTube标准化与归一化—特征缩放
10:03 – 10:35原站看这一段 ↗
理解原因↗
需要特征缩放是因为原始特征通常在单位和量级上有所不同,使它们不可比较。缩放将它们带到共同的尺度上,这对于许多机器学习算法正常工作是必要的。
适用条件:数据集包含具有不同单位或范围的多个特征。;模型对特征量级敏感(例如,基于距离或梯度的模型)。
YouTube标准化与归一化—特征缩放
6:00 – 6:35原站看这一段 ↗
掌握方法↗
从 `sklearn.preprocessing` 导入 `MinMaxScaler`,实例化它,并在选定的 DataFrame 列上调用 `fit_transform`。这将缩放器拟合到数据(学习最小/最大值)并将值转换到 [0, 1] 范围。
适用条件:输入数据是数值型的。;已安装 Scikit-learn 库。
YouTube标准化与归一化—特征缩放
6:35 – 7:08原站看这一段 ↗
认识概念↗
标准化将特征值 转换为 ,针对转换后特征的均值为 0 和标准差为 1。
适用条件:逐数值特征应用。;使用特征均值 和标准差 。;假设 。
YouTube标准化与归一化—特征缩放
7:10 – 7:58原站看这一段 ↗
认识概念↗
最小-最大归一化将特征值 转换为 ,将特征的观测范围映射到区间 。
适用条件:逐数值特征应用。;需要该特征在数据集中的有限最小值 和最大值 。;假设 以避免除以零。
YouTube标准化与归一化—特征缩放
7:02 – 7:08原站看这一段 ↗
答案依据视频资料生成并经过独立核验。若有疑问,请核对原视频或联系原作者。