je le script R suivant mis en place qui est conçu pour construire un modèle à partir d'une trame de données en utilisant le package caret:Comment formater un script Python qui utilise rpy2 afin de construire un modèle avec une fonction R-caret?
library(caret)
library(broom)
data<- data.table("mydata.csv")
splitprob <- 0.8
traintestindex <- createDataPartition(data$fluorescence, p=splitprob, list=F)
testset <- data[-traintestindex,]
trainingset <- data[traintestindex,]
model <- train(fluorescence~., trainingset, method = "glmStepAIC", preProc = c("center","scale"), trControl = cvCtrl)
final_model<- tidy(model$finalModel)
write.csv(tidy, "model_glm.csv")
Je voudrais être en mesure d'avoir les fonctionnalités de ce code soit exprimé dans un Script Python. Après la génération d'une trame de données pandas, celle-ci sera ensuite convertie en une trame de données R et ensuite exécutée par la fonction de train du caret qui est définie sur les mêmes paramètres que dans le script R ci-dessus.
import pandas as pd
from rpy2.robjects import r
import sys
import rpy2.robjects.packages as rpackages
from rpy2.robjects.vectors import StrVector
from rpy2.robjects import r, pandas2ri
pandas2ri.activate()
caret = rpackages.importr('caret')
broom= rpackages.importr('broom')
my_data= pd.read_csv("my_data.csv")
r_dataframe= pandas2ri.py2ri(my_data)
preprocessing= ["center", "scale"]
center_scale= StrVector(preprocessing)
cvCtrl = caret.trainControl(method = "repeatedcv", number= 20, repeats = 100)
model_R= caret.train("fluorescence~.", data= r_dataframe, method = "glmStepAIC", preProc = center_scale, trControl = cvCtrl)
print(model_R.finalModel)
Cependant, ce script est évidemment pas correctement configuré, comme mes tentatives pour exécuter le script Python avec des rendements rpy2 SyntaxError: invalid syntax
à la ligne model_R= caret.train("fluorescence~., r_dataframe, method = "glmStepAIC", preProc = center_scale, trControl = cvCtrl")
. J'ai essayé de suivre la syntaxe donnée dans la documentation (source: https://rpy2.github.io/doc/latest/html/introduction.html?highlight=linear%20model), mais la façon dont on pourrait mettre en place un code comme celui-ci est clairsemée.
Qu'est-ce qui doit être corrigé dans mon code Python pour que le code fonctionne et que je puisse construire un modèle à partir de mes données?