Nothing
test_that("evaluate_rf_model returns correct output structure", {
# Create a simple mock dataset
set.seed(123)
train_mat <- Matrix::Matrix(matrix(rbinom(40, 1, 0.5), nrow = 8), sparse = TRUE)
train_labels <- factor(c("happy", "sad", "happy", "sad", "happy", "sad", "happy", "sad"))
# Train a simple RF model first
rf_model <- train_rf_model(train_mat, train_labels, ntree = 10, verbose = FALSE)
# Create simple test data (texts and labels)
test_texts <- c("I am happy today", "I am so sad")
test_labels <- factor(c("happy", "sad"))
# Fake TF-IDF and vectorizer (simulate a minimal working example)
tokens <- text2vec::word_tokenizer(tolower(test_texts))
it <- text2vec::itoken(tokens, progressbar = FALSE)
vocab <- text2vec::create_vocabulary(it)
vectorizer <- text2vec::vocab_vectorizer(vocab)
dtm <- text2vec::create_dtm(it, vectorizer)
tfidf_model <- text2vec::TfIdf$new()
tfidf_model$fit_transform(dtm)
stopwords <- c("i", "am", "so", "today") # Basic stopword list
# Call the evaluation function
result <- evaluate_rf_model(
rf_model = rf_model,
test_texts = test_texts,
test_labels = test_labels,
tfidf_model = tfidf_model,
vectorizer = vectorizer,
stopwords = stopwords,
verbose = FALSE
)
# Check if the output is a list
expect_type(result, "list")
# Check if the list has expected elements
expect_true(all(c("test_accuracy", "macro_f1", "confusion", "precision", "recall", "f1", "test_pred") %in% names(result)))
# Check if test_accuracy is numeric
expect_type(result$test_accuracy, "double")
# Check if macro_f1 is numeric
expect_type(result$macro_f1, "double")
# Check if confusion is a table (matrix or array)
expect_true(is.matrix(result$confusion) || is.table(result$confusion))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.