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