【发布时间】:2020-12-18 18:57:08
【问题描述】:
我对机器学习比较陌生,但我想创建一个基于世界银行数据集的分类树。
分类树必须满足 3 个特征:
continent=Europe,
currency=euro,
income group = high income
此图形应如下所示:
我已经尝试过了,但它没有给我想要的输出:
library(tidyverse)
library(rpart)
WDICountry <- read.csv("https://gigamove.rz.rwth-aachen.de/d/id/pUKMStHbu9orYo/dd/100")
tree1 <- WDICountry %>%
mutate(europe = ifelse(`2-alpha code` %in% european_countries, TRUE, FALSE),
euro = ifelse(`Currency Unit` == "Euro", TRUE, FALSE),
income = as.factor(ifelse(`Income Group` == " High income", "High income", "non-high")))%>%
mutate(`Income Group` = as.factor(`Income Group`))%>%
select(`Income Group`, europe, euro)%>%
filter(complete.cases(.))%>%
rpart(data = .,formula = `Income Group` ~ europe+ euro)
plot(tree1)
text(tree1)
有人可以帮我吗?
您可以在此处将此数据帧下载为 csv 文件: https://gigamove.rz.rwth-aachen.de/d/id/pUKMStHbu9orYo?10&id=pUKMStHbu9orYo
【问题讨论】:
-
你可以看看milbo.org/doc/prp.pdf 这个文档对你有帮助吗?这就是关于包裹
rpart.plot -
我认为我的问题在于公式而不是图形。
-
我知道包
WDI,但你能不能让WDICountry数据更可重现。 -
@Stephan 查看我更新问题的最后一行
-
因为您使用
rpart(...)而不覆盖任何rpart.control参数,即对所有内容都采用默认值:minsplit = 20, minbucket = round(minsplit/3), cp = 0.01, maxdepth = 30这通常是一个糟糕的主意。找出这些参数应该具有的值并指定它们。一般来说,对于 R ML 库,不信任默认值,仔细检查它们的值,阅读文档,持怀疑态度,玩弄参数值,看看有什么效果(/没有)。
标签: r classification