作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过重新创建给我的数据结果来在 R 中实现 NB 分类器。现在我只是对训练数据本身进行测试,看看准确性如何。
数据集中有 29 个变量,其中一个称为“状态”。它有两个值:Win 和 Lose。我将训练数据分为大约 2/3 训练和 1/3 测试。目标是确定 Status 预测输赢的准确性。
我想我理解这个错误,因为“赢”和“输”不是数值,但据我了解,它们不会是因素吗?我将在下面发布我的代码。我正在使用 http://www.bnlearn.com/documentation/man/naive.bayes.html 中的 bnlearn 示例作为我的基础。如果有更好的例子,请告诉我。
#Read in training data
trainingdata <- read.csv("C:\\.....filepath.csv", header=T)
#Split data into training and test sets
training.set = trainingdata[1:1200, ]
test.set = trainingdata[1201:1860, ]
#Train model
bn = naive.bayes(training.set, "Status")
fitted = bn.fit(bn, training.set)
#Predict
pred = predict(fitted, test.set)
table(pred, test.set[, "Status"])
我开始从 bn = naive.bayes(training.set, "Status")
行收到错误。具体错误显示“data.type(x) 中的错误:变量必须是数字、因子或有序因子
有没有办法让 bnlearn 认识到“状态”是一个因素。
最佳答案
几年后回到这一点,我意识到我从未用答案更新过它,并且从那时起就没有人发布解决方案供我接受。
Cotton.Rockwood 的假设是正确的。使用bnlearn的朴素贝叶斯分类器,所有变量都需要是因子,否则你会遇到这个错误。
关于r - 尝试使用 "bnlearn"实现一个简单的朴素贝叶斯分类器。不断出现错误 "variables must be either numeric, factors or ordered factors",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33634863/
我是一名优秀的程序员,十分优秀!