我正在尝试在 R 中实现内核岭回归。
公式为:
alpha <- ((lambda.I + K)^(-1)) * y
拉姆达 = 0.1。 I = 与 K 大小相同的单位矩阵。 y 是与 K 具有相同行数的特征向量。
所以我在 R 中尝试了这个:
I <- diag(nrow(df_matrix)
lambda <- 0.1
alpha <- (lambda * I + df_matrix) ^ (-1) * df_vector
我收到以下错误
Error in (0.1 * I + df_matrix)^(-1) * df_vector : non-conformable arrays
这是我的数据集的一些信息
> nrow(df_matrix)
[1] 8222
> ncol(df_matrix)
[1] 8222
> nrow(df_vector)
[1] 8222
> nrow(I)
[1] 8222
> ncol(I)
[1] 8222
> class(df_matrix)
[1] "matrix"
> class(df_vector)
[1] "matrix"
我打赌你想在这里进行矩阵求逆,即solve(m)
,而不是逐元素 (m^(-1)
)。另外,矩阵乘法(%*%
) 而不是逐元素 (*
)。所以,总共就是
alpha <- solve(lambda * I + df_matrix) %*% df_vector
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)