[]不同机器学习模型的决策边界(附代码)( 三 )
现在我们有了训练好的模型以及预测 , 我们可以将这些预测重新放回数据中用ggplot进行可视化 , 然后使用patchwork包进行排版 。
plot_data 现在我们有了预测可以创建ggplots 。 ggplot_lists %map(.,~select(.,-contains(''Model'')) %>%pivot_longer(cols = contains(''Prediction''), names_to = ''Model'', values_to = ''Prediction'')) %>%map(.x = .,~ggplot() +geom_point(aes(x = !!rlang::sym(colnames(.x)[1]),y = !!rlang::sym(colnames(.x)[2]),color = factor(!!rlang::sym(colnames(.x)[4]))), data = http://news.hoteastday.com/a/.x) +geom_contour(aes(x = !!rlang::sym(colnames(.x)[1]),y = !!rlang::sym(colnames(.x)[2]),z = !!rlang::sym(colnames(.x)[4])), data = .x) +geom_point(aes(x = !!rlang::sym(colnames(.x)[1]),y = !!rlang::sym(colnames(.x)[2]),color = factor(!!rlang::sym(colnames(df)[5]))# this is the status variable), size = 8, data = df) +geom_point(aes(x = !!rlang::sym(colnames(.x)[1]),y = !!rlang::sym(colnames(.x)[2])), size = 8, shape = 1, data = df) +facet_wrap(~Model) +theme_bw(base_size = 25) +theme(legend.position =''none'')) 绘制决策边界的所有不同组合 。 注意:以上的代码在你的console中会运行得更好 , 当我用代码来编程此博文的时候图像很小 。 因此 , 我为模型和变量组合的示例提供了单独的图 。
我首先需要选择前两列 , 这是我们的目标变量(Petal.Width , Petal.Length , Sepal.Width和Sepal.Length) 。 然后 , 我想在之后随机抽取各列的样本(也就是不同机器学习模型的预测结果) 。
plot_data_sampled %map(.,~select(.,-contains(''Model'')) %>%select(.,c(1:2), sample(colnames(.), 2)) %>%pivot_longer(cols = contains(''Prediction''),names_to = ''Model'',values_to = ''Prediction''))接下来 , 我可以通过随机抽取列表来进行绘制 。
plot_data_sampled %>%rlist::list.sample(1) %>%map(.x = .,~ggplot() +geom_point(aes(x = !!rlang::sym(colnames(.x)[1]),y = !!rlang::sym(colnames(.x)[2]),color = factor(!!rlang::sym(colnames(.x)[4]))), data = http://news.hoteastday.com/a/.x) +geom_contour(aes(x = !!rlang::sym(colnames(.x)[1]),y = !!rlang::sym(colnames(.x)[2]),z = !!rlang::sym(colnames(.x)[4])), data = .x) +geom_point(aes(x = !!rlang::sym(colnames(.x)[1]),y = !!rlang::sym(colnames(.x)[2]),color = factor(!!rlang::sym(colnames(df)[5]))# this is the status variable), size = 3, data = df) +geom_point(aes(x = !!rlang::sym(colnames(.x)[1]),y = !!rlang::sym(colnames(.x)[2])), size = 3, shape = 1, data = df) +facet_wrap(~Model) +#coord_flip() +theme_tq(base_family =''serif'') +theme(#aspect.ratio = 1,axis.line.y = element_blank(),axis.ticks.y = element_blank(),legend.position = ''bottom'',#legend.title = element_text(size = 20),#legend.text = element_text(size = 10),axis.title = element_text(size = 20),axis.text = element_text(size = ''15''),strip.text.x = element_text(size = 15),plot.title = element_text(size = 30, hjust = 0.5),strip.background = element_rect(fill = 'darkred'),panel.background = element_blank(),panel.grid.major = element_blank(),panel.grid.minor = element_blank(),#axis.text.x = element_text(angle = 90),axis.text.y = element_text(angle = 90, hjust = 0.5),#axis.title.x = element_blank()legend.title = element_blank(),legend.text = element_text(size = 20)))## $Sepal.Width_and_Petal.Length## Warning: Row indexes must be between 0 and the number of rows (0). Use `NA` as row index to obtain a row full of `NA` values.## This warning is displayed once per session.
推荐阅读
- 功能:能解决孩子的学习问题吗?牛听听儿童智能熏教机体验!
- @不同单位需要使用不同执法记录仪?
- 机器人:青岛造运输机器人打败五家外企 成功进驻世界最大中转枢纽港
- 每日经济新闻咨询@联邦学习成人工智能新贵 腾讯安全:技术服务能力才是重点
- 「时间」iPhone se2这机器放在现在这个时间,真的有点奇怪
- #麻辣西斯FFn1#关于华为手机混合使用不同供应商屏幕的原因分析
- 「」关于华为手机混合使用不同供应商屏幕的原因分析
- 地球:太阳出现不好预兆,它死亡将与以往不同,科学家也无能为力
- #科技如梦#iPhone se2这机器放在现在这个时间,真的有点奇怪
- 【大数据】干货满满!2020版好程序员新电商大数据平台全套学习资料