【发布时间】:2016-10-10 18:24:38
【问题描述】:
我正在研究一个 k-Nearest Neighbors 分类系统,并使用“桶投票”系统对预测的类别进行采样,然后根据样本中哪个类别获得最高“投票”数返回预测。
我的问题是我想自动生成直方图,其中蓝色条表示不正确的预测,红色条表示正确预测的类。这是一段sn-p代码:
for (class in 14:15) {
class_test_index <- which(walkTest_labels == class)
class_test <- as.numeric(walkTest_pred[class_test_index])
hist(class_test,
breaks = 0:22,
col = ifelse(class_test == class, "red", "blue"),
border = "green",
main = "Distribution by Classes",
ylab = "Count",
xlab = "Class")
}
我刚刚在我的循环中使用了两个类来说明。生成的两个直方图的链接在这里。
http://i.stack.imgur.com/VXger.png
http://i.stack.imgur.com/ChAE7.png
在这两个中,只有一个栏,最大的一个,应该是红色的。其中一个正确的条是红色的,但还有另一个条也是红色的。在另一个直方图中,还有两个红色的条形图,但它们都是错误的。
【问题讨论】:
-
请参阅 here 以获取有关使用
hist处理此类事情的更好方法的一般指导。但是,考虑到数据的离散性,条形图可能更简单且更有意义。 -
您能否提供几行用于生成直方图的数据框?
-
嗨,内森,感谢您的提问。这只是一个简单的示例,用于创建直方图。
> head(class_test) [1] 16 5 5 3 15 15如您所见,它只是一个分类向量。它们的范围在 1 到 22 之间。 -
感谢 joran,我将检查条形图,看看这是否是一个更简单的解决方案。