我的数据格式如下:
stock st1 str2 str3 str4 str5 str6 str7 str8A 1 0 0 0 1 0 0 0A 0 0 0 0 0 0 0 0A 1 0 0 0 0 0 0 0B 0 0 0 0 0 0 0 0B 1 0 0 0 1 0 0 0C 0 0 0 0 0 0 0 0C 1 0 0 0 1 0 0 1C 0 0 0 0 0 0 0 0C 0 0 0 0 0 0 0 0C 1 0 0 0 1 0 0 1A 0 0 0 0 0 0 0 0A 0 0 0 0 0 0 0 0A 0 0 0 0 0 0 0 0A 1 0 0 0 0 0 0 0A 0 0 0 0 0 0 0 0B 0 0 0 0 0 0 0 0B 0 0 0 0 0 0 0 0C 1 0 0 0 0 0 0 0
我是数据分析的新手,我想知道对于这种数据格式我可以实施哪些分析。是否可以使用随机森林和修剪树状图?
我想找到一种方法来发现集群/组,并在树状图中查看st1、str2、str3等列。
回答:
尝试这个,使用决策树(已用100行的随机生成的df测试,结构相同):
head(df) stock str1 str2 str3 str4 str5 str6 str7 str81 B 1 0 1 0 0 0 1 02 B 1 1 1 1 1 1 1 13 A 0 1 1 1 0 0 0 04 B 0 0 0 1 0 1 1 05 C 1 0 0 0 1 1 1 06 B 1 1 1 1 0 0 1 1library(rpart)tr <- rpart(stock~., df) # 您可以使用cp参数/交叉验证来修剪这棵树print(tr)n= 100 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root 100 63 C (0.33000000 0.30000000 0.37000000) 2) str5=1 49 27 A (0.44897959 0.16326531 0.38775510) 4) str8=0 32 15 A (0.53125000 0.06250000 0.40625000) 8) str6=0 15 5 A (0.66666667 0.06666667 0.26666667) * 9) str6=1 17 8 C (0.41176471 0.05882353 0.52941176) * 5) str8=1 17 11 B (0.29411765 0.35294118 0.35294118) * 3) str5=0 51 29 B (0.21568627 0.43137255 0.35294118) 6) str8=0 27 12 B (0.18518519 0.55555556 0.25925926) * 7) str8=1 24 13 C (0.25000000 0.29166667 0.45833333) 14) str7=0 12 6 C (0.41666667 0.08333333 0.50000000) * 15) str7=1 12 6 B (0.08333333 0.50000000 0.41666667) *library(rpart.plot)prp(tr)