library(peccary)
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
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)
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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.