【发布时间】:2019-02-19 14:21:32
【问题描述】:
我一直在使用 KNN 算法对事件进行分类,但这并没有带来很高的分类准确度。一些同事告诉我,R 中的 tree () 函数(来自 tree 包)可以帮助解决这个问题。
这是我的数据样本。我正在尝试根据前两列 "ACTIVITY_X" 和 "ACTIVITY_Y" 的值对不同的事件进行分类(我有 8 种不同类别的事件):
> print(dataset)
ACTIVITY_X ACTIVITY_Y Event
1: 19 21 Vigilance
2: 20 14 Vigilance
3: 34 35 Vigilance
4: 18 5 Vigilance
5: 23 27 Vigilance
---
426: 9 25 Vigilance
427: 0 0 Head-up
428: 0 0 Head-up
429: 3 3 Head-up
430: 0 0 Vigilance
理想情况下,我想在不同类别(平视、警戒等)之间找到不同的阈值,这有助于在 "Event" 数据不可用且我只有 "ACTIVITY_X" 和 @987654328 时对它们进行分类@ 数据。我想我应该将tree() 函数用作:
xtree <- tree(Head-up~ACTIVITY_X+ACTIVITY_Y,data=dataset)
plot(xtree)
title("Head_up")
text(xtree)
xtree <- tree(Vigilance~ACTIVITY_X+ACTIVITY_Y,data=dataset)
plot(xtree)
title("Vigilance")
text(xtree)
etc..
但是,我在运行分析时遇到了不同的错误,主要错误是 "NAs introduced by coercion"。当我使用rpart() 函数时,这些错误是不存在的,这也是一种分类算法。
> xtree <- tree(Vigilance~ACTIVITY_X+ACTIVITY_Y,data=dataset)
Warning message:
In tree(Vigilance ~ ACTIVITY_X + ACTIVITY_Y, data = dataset) :
NAs introduced by coercion
> plot(xtree)
Error in plot.tree(xtree) : cannot plot singlenode tree
> title("Vigilance")
Error in title("Vigilance") : plot.new has not been called yet
> text(xtree)
Error in text.tree(xtree) : cannot plot singlenode tree
任何帮助将不胜感激。我对 R 很陌生,所以我希望其他用户仍然对这个问题感兴趣。
【问题讨论】:
标签: r machine-learning tree