具有预测输出的{glm表函数

时间:2017-05-26 13:23:50

标签: r glm

我很好奇为什么这个简单的代码对我不起作用:

wine$taste <- ifelse(wine$quality < 6, 0, 1)
wine$taste <- as.factor(wine$taste)

set.seed(123)
samp <- sample(nrow(wine), 0.6 * nrow(wine))
train <- wine[samp, ]
test <- wine[-samp, ]

mylogit <- glm(taste ~ pH+alcohol+density, data = train, family = binomial)

pred = predict(mylogit, newdata=test)
accuracy <- table(pred, test[,"taste"])

表格给出错误:

  

表中的错误(pred,test [,“taste”]):
    alleArgumentemüssendieselbeLängehaben

因素和数值是否存在问题?所有的数值都是数字,但变量味道......

表函数采用什么参数?

1 个答案:

答案 0 :(得分:0)

这些数据是否在包中可用,以便我可以重新创建分析?无论如何,我认为它是你指定测试集类的方式。你说<script src="https://cdn.jsdelivr.net/vue/1.0.24/vue.js"></script> <!-- component template --> <script type="text/x-template" id="grid-template"> <table> <tbody> <tr v-for=" entry in data | filterBy filterKey | orderBy sortKey sortOrders[sortKey]"> <td v-for="key in columns"> {{entry[key]}} </td> </tr> </tbody> </table> </script> <!-- demo root element --> <div id="demo"> <form id="search"> Search <input name="query" v-model="searchQuery"> </form> <demo-grid :data="gridData" :columns="gridColumns" :filter-key="searchQuery"> </demo-grid> </div>,其中可能会返回一个长度为test[,"taste"]的对象(这就是为什么你会得到错误,说明它们的长度必须相同),其中一个元素是1,它又包含您要查找的类标签。

您需要做的是告诉它您需要直接使用$taste元素。尝试:

$taste

也可能需要指定所需的预测值的哪一部分。不同的函数返回不同类型的预测对象。 table(pred, test$taste) 返回什么?您可能会发现它返回类,概率,很多东西。您可能必须指定您想要的类,而不是概率。