python - 使用 rpy2 在 python 中复制 R glmnet 代码

标签 python r rpy2 glmnet

我不确定如何使用 rpy2 在 python 中重现以下 R 代码。我不确定在训练模型时如何实现 R 语法 type.measure="class",并且我在 python 中尝试时缺少 R 代码的最后两行。

library("foreach")
library("glmnet")
library(datasets)
data(iris)

y <- as.numeric(iris[,5])
X <- iris[1:4]

model_lambda <- cv.glmnet(as.matrix(X), as.factor(y), alpha=0,
family="multinomial", type.measure="class")
best_s  <- model_lambda$lambda.1se
prediction <- predict(model_lambda,newx=as.matrix(X), type="class" , s=best_s)

以及未完成的Python代码:

import numpy as np
import rpy2.robjects as robjects
from rpy2.robjects.packages import importr
importr('foreach')
glmnet = importr('glmnet')
import rpy2.robjects.numpy2ri as numpy2ri
numpy2ri.activate()

from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
model_lambda = glmnet.cv_glmnet(X, robjects.FactorVector(y), alpha=1, family="multinomial")

最佳答案

如果 R 函数中的参数在函数签名中定义,则 rpy2 的 importr 会将点转换为下划线。否则,可以使用 python 运算符 ** (请参阅 http://rpy2.readthedocs.io/en/version_2.8.x/robjects_functions.html#functions )

关于python - 使用 rpy2 在 python 中复制 R glmnet 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44177714/

相关文章:

python - 相当于Python中ggplot2的rpy2中的scale_size_area?

python - rpy2:将 data.frame 转换为 numpy 数组

r - 使用身份标度时为 alpha 添加图例

R Shiny "R_ZIPCMD"路径压缩错误

python - 我可以通过 Python 中的 splinter 模块以某种方式从页面上的下拉列表中选择特定元素吗

python - 我如何将其保存到变量中,以便将其保存到文件中

R rstats 如何替换字符串中某个位置的单个字符

python - 使用 rpy2 从 python 调用 R 脚本

python - 为什么从文件数据打印时出现错误,但从命令行打印时却没有

python - Pandas :使用 .isin() 返回错误: "AttributeError: float' 对象没有属性 'isin'“