簡體   English   中英

使用rpy2在python中重現R glmnet代碼

[英]Reproducing R glmnet code in python with rpy2

我不確定如何使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM