如何在 python 中对 linear/multi 回归的数据集进行归一化

How to normalise dataset for linear/multi regression in python

我正在使用数据集通过多变量回归技术进行一些预测。我必须根据一些自变量来预测员工的薪水,例如性别、百分比、出生日期、不同学科的分数、学位、专业等。

数字参数(例如不同科目的分数和百分比)适合与回归模型一起使用。但是我们如何在这里规范化非数字参数(性别、出生日期、学位、专业)?

P.S。 : 我正在使用 scikit-learn : machine learning in python 包。

希望对您有所帮助。 link.

上提供了有关如何使用该功能的完整说明

http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.normalize.html

您想对分类参数进行编码。

注意日期不是分类参数!将它转换成一个 unix 时间戳(自纪元以来的秒数),你就有了一个可以回归的很好的参数。

"Normaliz[ing] non-numeric parameters"实际上是一个巨大的回归区域。最常见的处理方法是将每个分类变量转换为一组称为 dummy variables.

的二元变量

每个具有 n 值的分类应转换为 n-1 虚拟变量。因此,例如,对于性别,您可能有一个变量 "female",在每次观察时该变量为 0 或 1。为什么是 n-1 而不是 n?因为你想避免 dummy variable trap,基本上所有 1 的截距列都可以从你的虚拟列的线性组合中重建。用相对非技术的术语来说,这很糟糕,因为它弄乱了进行回归所需的线性代数。

我对 scikit-learn 库不太熟悉,但我强烈建议您确保无论使用什么方法,都要确保每个分类都成为 n-1 新列,而不是 n.