我在这里R为数据拟合逻辑回归模型(带有'scaret包)。我的目标是预测希拉里或特朗普是否会赢得某个县。
相关代码:
logisticSettings <- trainControl(method = "cv", number = 10, returnResamp = "all", classProbs = TRUE, summaryFunction = twoClassSummary)
logisticModel <- train(electTrain[,2:length(electTrain)], make.names(electTrain[,1]), method = "plr", metric = "ROC", trControl = logisticSettings)
electTrain是我的训练数据集;第一列是类列,其余是特征。当我运行它时,我收到以下错误:
Error in solve.default(ddf) :
system is computationally singular: reciprocal condition number = 9.55304e-17
我认为这至少部分源于高度相关的数据。例如,一列是 2010 年人口,另一列是 2010 年人口估计。为了解决这个问题,我从我的训练集中删除了一些列,以便在 0.92(任意截止)以上没有相关特征。
但错误仍然存在。怎么了?一些想法:
误差截止值仍然太高。
一列大约是两个或多个其他列的线性组合。
我在代码中犯了一个错误。