我正在尝试使用1664(列)x 208(行)的一组数据运行随机森林。我的因变量是保留时间(秒),我的自变量是1664个不同的描述符以及所有不同的化合物。所有的描述符都给出一个值,而不是分类变量。我正在尝试执行随机森林以进行回归。但是,当我尝试使用以下代码运行它时:-
urine.rf <- randomForest(RT..seconds.~., data=urine, importance=TRUE)
我收到消息:
randomForest.default(m,y,...)中的错误:无法处理类别超过32个的类别预测变量。
我在网上阅读过,您可以通过构造某种形式的model.matrix来解决此问题。我对R完全陌生,还没有关于如何执行此操作的最模糊的线索。我尝试格式化csv文件中的单元格,以使所有单元格均为数字,但由于某种原因,它仍然会作为分类预测变量出现。我该如何解决?
RT (seconds) 1_MW 2_AMW 3_Sv 4_Se 5_Sp 6_Ss
46.58353 155.18 7.76 11.8 20.61 12.21 32.67 0.59
46.79514 145.29 5.01 14.76 28.37 16.11 21 0.51
48.18893 169.21 7.36 13.4 23.49 13.97 34.17 0.58
49.94328 169.21 7.36 13.4 23.49 13.97 34.17 0.58
50.81087 187.33 5.51 17.87 33.59 19.32 30.17 0.53
51.3834 104.2 4.96 10.39 20.67 11.41 16.5 0.49
51.51799 125.17 8.94 7.41 14.81 8.3 27.92 0.53
52.67208 117.13 7.81 8.2 15.73 8.45 29.33 0.55
52.79043 137.18 7.22 11.59 19.12 12.13 26.33 0.61
52.79046 161.23 6.2 13.71 26.27 14.7 33.5 0.53
这就是我正在使用的数据库的外观。我希望RT成为我的Y变量,而其他所有变量(1_MW和之后的所有其他变量)都是我的自变量(有1664)
谢谢
因此,只需完成此操作即可。我遇到了完全相同的问题,花了我10分钟的时间才发现有隐藏的评论。从而:
解决方案可能是将null值解释为字符
尝试使用na.strings选项:
read.csv("filename.csv", na.strings=c("", "NA", "NULL"))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句