我目前正在尝试在caret
中创建一些不同的模型,从逻辑模型到XGBoost。创建模型非常容易,但是当我想使用模型对开始之前放置的测试集进行预测时,会收到一条错误消息,提示:
UseMethod(“ predict”)中的错误:
没有适用于“预测”的适用方法应用于类“ data.frame”的对象
和:
predict(logistic_model $ finalModel,new_data = pd_test)$。pred_class中的错误:
$操作符对原子向量无效]
这是物流模型:
set.seed(100) train_test_split <- initial_split(pd_data, prop = 0.8) pd_train <- training(train_test_split) pd_test <- testing(train_test_split) # caret # logistic model # model creation and VIF log_control <- trainControl(method = "cv", number = 5, classProbs = TRUE, summaryFunction = twoClassSummary) logistic_model <- train(default ~ profit_margin + interest_coverage_ratio + age_of_company + liquidity_ratio_2 + unpaid_debt_collection + adverse_audit_opinion + amount_unpaid_debt + payment_reminders, data = pd_train, trControl = log_control, method = "glm", family = "binomial", metric = "ROC") vif(logistic_model$finalModel) log_class_predictions <- predict(logistic_model$finalModel, new_data = pd_test)$.pred_class log_predictions <- predict(logistic_model$finalModel$tuneValue, new_data = pd_test, type = "prob")$.pred_1
如何解决此问题,以便可以在未修改的测试集中测试模型?我尝试了几种
logistic_model$
选择,但无济于事
我目前正在尝试在插入符号中创建一些不同的模型,从逻辑模型到XGBoost。创建模型很容易,但是当我想使用模型对...进行预测时]]
您可以使用以下代码log_class_predictions <- predict(logistic_model, new_data = pd_test)
log_predictions <- predict(logistic_model, new_data = pd_test, type = "prob")