O scurtă reamintire a postării anterioare:
👉 https://thierrymoudiki.github.io/blog/2025/02/17/python/r/tisthemllearner
tisthemachinelearner este un pachet R (și Python) care oferă o interfață ușoară (cu aproximativ 2 clase, facilitând, de exemplu, benchmark-uri) la populara bibliotecă de învățare automată Python scikit-learn. Pachetul permite utilizatorilor R să valorifice puterea modelelor scikit-learn direct de la R, folosind ambele S3 şi R6 stiluri de programare orientate pe obiecte.
De atunci, acesta mașină învățător a evoluat cu un flux de lucru mai curat și mai previzibil pentru conectare R la Python scikit-learnfolosind ambele S3 şi R6 interfețe. Acum folosește un manager de mediu virtual dedicat numit uv pentru a gestiona fără probleme dependențele Python. Configurare mai rapidă, mai puține bătăi de cap!
uv este un instrument ușor și extrem de rapid pentru a crea și gestiona medii izolate Python. Simplifică procesul de configurare a mediului Python necesar pentru pachetele R care depind de bibliotecile Python. Un alt avantaj aici este că știu exact ce este instalat în mediu, ceea ce facilitează depanarea potențialelor probleme.
1. Linie de comandă
# pip install uv # if necessary uv venv venv source venv/bin/activate uv pip install pip scikit-learn
Acest lucru creează un mediu Python izolat care conține dependențele corecte pe care să le folosească interfața R.
2. Folosește-l de la R
install.packages("devtools")
devtools::install_github("Techtonique/tisthemachinelearner_r")
library(tisthemachinelearner)
# Load data
data(mtcars)
head(mtcars)
# Split features and target
X <- as.matrix(mtcars(, -1)) # all columns except mpg
y <- mtcars(, 1) # mpg column
# Create train/test split
set.seed(42)
train_idx <- sample(nrow(mtcars), size = floor(0.8 * nrow(mtcars)))
X_train <- X(train_idx, )
X_test <- X(-train_idx, )
y_train <- y(train_idx)
y_test <- y(-train_idx)
# --- R6 interface ---
model <- Regressor$new(model_name = "LinearRegression")
model$fit(X_train, y_train)
preds <- model$predict(X_test)
print(preds)
# --- S3 interface ---
model <- regressor(X_train, y_train, model_name = "LinearRegression")
preds <- predict(model, X_test)
print(preds)

