library(peccary)

caTools for splitting

caTools allows to split data

library(caTools)

iris <- iris %>% as_tibble()
split <- caTools::sample.split(iris$Species,
                     SplitRatio = 0.7)
trainingset = subset(iris, split == TRUE)
testset = subset(iris, split == FALSE)
trainingset;testset

caret training

https://github.com/trevorwitter/Iris-classification-R

Split data into train/test sets using createDataPartition()

library(caret)
data <- iris# %>% as.tibble()

data_split <- caret::createDataPartition(data$Species, p = 0.8, list = FALSE) # sample 80% of lines
test <- data[-data_split,] # get the 20% false
dataset <- data[data_split,]  # get the 20%trye

Separate training data (x) from labels (y)

x <- dataset[,1:4]  # input
y <- dataset[,5] # output
caret::featurePlot(x=x, y=y, plot="ellipse")

https://stats.stackexchange.com/questions/82162/cohens-kappa-in-plain-english

caret::featurePlot(x=x, y=y, plot="box")
control <- caret::trainControl(method="cv", number=10)
metric <- "Accuracy"
set.seed(7)
#Linear Discriminant Analyis
fit.lda <- caret::train(Species~., data=dataset, method="lda", metric=metric, trControl=control)
# Classification and Regression Trees
fit.cart <- train(Species~., data=dataset, method="rpart", metric=metric, trControl=control)
#k-Nearest Neighbors
fit.knn <- train(Species~., data=dataset, method="knn", metric=metric, trControl=control)
#Support Vector Machines
fit.svm <- train(Species~., data=dataset, method="svmRadial", metric=metric, trControl=control)
#Random Forest
fit.rf <- train(Species~., data=dataset, method="rf", metric=metric, trControl=control)
#Summary
results <- caret::resamples(list(lda=fit.lda, cart=fit.cart, knn=fit.knn, svm=fit.svm, rf=fit.rf))
summary(results)

Print best

fit.lda

Evaluation on test data

predictions <- predict(fit.lda, test)

confusionMatrix(predictions, test$Species)

Cart virtual cells just res or death single

library(VirtualTumor)
library(peccary)
library(RxODE)

# Step 1 create or load project ---------------------------------------------------
create_VT_Project("D:/these/Second_project/QSP/modeling_work/Lind_eq_VTpckg")
data <- readRDS("D:/these/Second_project/QSP/modeling_work/Lind_eq_VTpckg/2_celltheques/celltheques/Bak1000_Bax1000.RDS") %>% 
  filter(group == "Drug1_4") %>% 
  select(-cellid, -rowid, -source, - group, -conc2, -BAK0, -BAXc0) %>% 
  mutate(res= if_else(res, "Death", "Surival")) %>% 
  mutate(res = as.factor(res))


# Partition dataset
data_split <- caret::createDataPartition(data$res, p = 0.8, list = FALSE) # sample 80% of lines
test <- data[-data_split,] # get the 20% false
dataset <- data[data_split,]  # 
control <- caret::trainControl(method="cv", number=10)
metric <- "Accuracy"
set.seed(7)
#Linear Discriminant Analyis
fit.lda <- caret::train(res~., data=dataset, method="lda", metric=metric, trControl=control)
# # Classification and Regression Trees
# fit.cart <- train(Species~., data=dataset, method="rpart", metric=metric, trControl=control)
# #k-Nearest Neighbors
# fit.knn <- train(Species~., data=dataset, method="knn", metric=metric, trControl=control)
# #Support Vector Machines
# fit.svm <- train(Species~., data=dataset, method="svmRadial", metric=metric, trControl=control)
# #Random Forest
# fit.rf <- train(res~., data=dataset, method="rf", metric=metric, trControl=control)
# #Summary
# results <- caret::resamples(list(lda=fit.lda, cart=fit.cart, knn=fit.knn, svm=fit.svm, rf=fit.rf))
# summary(results)
predictions <- predict(fit.lda, test)


test <- readRDS("D:/these/Second_project/QSP/modeling_work/Lind_eq_VTpckg/2_celltheques/celltheques/Bak1000_BaX500.RDS") %>% 
  filter(group == "Drug1_4") %>% 
  select(-cellid, -rowid, -source, - group, -conc2, -BAK0, -BAXc0) %>% 
  mutate(res= if_else(res, "Death", "Surival")) %>% 
  mutate(res = as.factor(res))


confusionMatrix(predictions, test$res)


Thibaudpmx/VirtualTumor documentation built on Feb. 19, 2022, 1:54 p.m.