为什么我们在 R 的 model.matrix 函数中提到 -1 ?是因为一种热编码还是有其他原因?
Why do we mention -1 in model.matrix function in R ? is it for one hot encoding or does it have any other reason?
为什么我们在 stats
包的 model.matrix
函数的公式中提到 -1
。
training_matrix <-model.matrix(Survived ~.-1, data = training)
本例中使用标准 titanic
数据集。
还有文档说可以使用 model.matrix
和 -1
符号来执行一次热编码,前提是我们已经在数据集中正确声明了因子和数字。
代码如下
data_1_matrix <-model.matrix(~.-1, data = data_1)
这个 -1
到底是做什么的?
-1 确保模型矩阵中没有常量。如果你会使用
training_matrix <-model.matrix(Survived ~., data = training)
模型矩阵中包含一列,并省略了一个类别,以确保您的模型不会出现多重共线性。
由用户决定什么更可取:如果您使用常量,您的模型中将有一个 'reference class'。如果你不这样做,就没有参考 class.
为什么我们在 stats
包的 model.matrix
函数的公式中提到 -1
。
training_matrix <-model.matrix(Survived ~.-1, data = training)
本例中使用标准 titanic
数据集。
还有文档说可以使用 model.matrix
和 -1
符号来执行一次热编码,前提是我们已经在数据集中正确声明了因子和数字。
代码如下
data_1_matrix <-model.matrix(~.-1, data = data_1)
这个 -1
到底是做什么的?
-1 确保模型矩阵中没有常量。如果你会使用
training_matrix <-model.matrix(Survived ~., data = training)
模型矩阵中包含一列,并省略了一个类别,以确保您的模型不会出现多重共线性。
由用户决定什么更可取:如果您使用常量,您的模型中将有一个 'reference class'。如果你不这样做,就没有参考 class.