sách gpt4 ai đã đi

r - Lỗi `tương phản' lỗi

In lại 作者:行者123 更新时间:2023-11-30 08:37:09 32 4
mua khóa gpt4 Nike

我已经训练了一个模型,我正在尝试使用 predict函数但它返回以下错误。

Error in contrasts<-(*tmp*, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels

VÌ THẾ中有几个问题和 CrossValidated关于这一点,从我对这个错误的解释来看,我的模型中的一个因素只有一个级别。

这是一个非常简单的模型,具有一个连续变量(行驶时间)和一个具有 3 个级别的因子变量

 driveTime Market.y transfer
Min. : 5.100 Dallas :10 Min. :-11.205
1st Qu.: 6.192 McAllen: 6 1st Qu.: 3.575
Median : 7.833 Tulsa : 3 Median : 7.843
Mean : 8.727 Mean : 8.883
3rd Qu.:10.725 3rd Qu.: 15.608
Max. :14.350 Max. : 30.643

当我使用预测函数来确定未见过的样本的结果时

newDriveTime <- data.frame(driveTime = 8,Market.y = as.factor("Dallas"))
predict(bestMod_Rescaled, newDriveTime)

我收到以下错误

Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : 
contrasts can be applied only to factors with 2 or more levels

这是我的更多工作流程

tc <- tune.control(cross = 10, fix = 8/10)

tuneResult_Rescaled <- tune(svm,data = finalSubset,
transfer~ driveTime + Market.y,
ranges = list(epsilon = seq(0.1,.5,0.1),
cost = seq(8,10,.1)), tunecontrol=tc)

summary(tuneResult_Rescaled)


bestMod_Rescaled <- tuneResult_Rescaled$best.model

1 Câu trả lời

我认为您还必须向测试集提供训练数据中的因子级别。像下面这样的东西应该可以工作。

newDriveTime <- data.frame(driveTime = 8, 
Market.y = factor("Dallas", levels(finalSubset$Market.y)))

predict(bestMod_Rescaled, newDriveTime)

在 R 中,因子被保存为带有名称/标签的整数。如果有两个具有不同级别数的因子向量,仅通过查看标签,无法确定哪些标签是两个向量中对应的级别。

关于r - 错误 `contrasts' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47244360/

32 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com