「」不同机器学习模型的决策边界(附代码)( 二 )
(plt1)/(plt2 + plt3)
本文插图
或者 , 我们可以将绘图重新布置为所需的任何方式 , 并通过以下方式进行绘图:
(plt1 + plt2) / (plt5 + plt6)
本文插图
我觉得这看起来不错 。
目标
我的目标是建立一种分类算法 , 以区分这两个植物种类 , 然后计算决策边界 , 以便更好地了解模型如何做出此类预测 。 为了为每个变量组合创建决策边界图 , 我们需要数据中变量的不同组合 。
var_combos %filter(!Var1 == Var2)var_combos %>%head() %>%kable(caption = ''Variable Combinations'', escape = F,, digits = 2) %>%kable_styling(bootstrap_options = c(''striped'', ''hover'', ''condensed'', ''responsive''), font_size = 9, fixed_thead = T, full_width = F) %>%scroll_box(width = ''100%'', height = ''200px'')【「」不同机器学习模型的决策边界(附代码)】
本文插图
接下来 , 我将用到以上不同的变量组合来创建列表(每个组合一个列表) , 并用合成数据(或每个变量组合的最小值到最大值的数据)给列表赋值 。 这将作为我们的合成测试数据 , 对其进行预测并建立决策边界 。
需要注意的是这些图最终将是二维的 , 因此我们仅在两个变量上训练机器学习模型 , 但是对于这两个变量的每种组合而言 , 它们将是取boundary_lists data frame中的前两个变量 。
boundary_lists %summarise(minX = min(.[[1]], na.rm = TRUE),maxX = max(.[[1]], na.rm = TRUE),minY = min(.[[2]], na.rm = TRUE),maxY = max(.[[2]], na.rm = TRUE))) %>%map(.,~tibble(x = seq(.x$minX, .x$maxX, length.out = 200),y = seq(.x$minY, .x$maxY, length.out = 200),)) %>%map(.,~tibble(xx = rep(.x$x, each = 200),yy = rep(.x$y, time = 200))) %>%map2(.,asplit(var_combos, 1), ~ .x %>%set_names(.y))我们可以看到前两个列表的前四个观察结果如何:
boundary_lists %>%map(., ~head(., 4)) %>%head(2)## [[1]]## # A tibble: 4 x 2##Sepal.Width Sepal.Length##
现在 , 我们已经建立了测试用模拟数据 , 我想根据实际观察到的观测值训练模型 。 我将使用到上面图中的每个数据点训练以下模型:
旁注:我不是深度学习/ Keras / Tensorflow方面的专家 , 所以我相信有更好的模型产生更好的决策边界 , 但是用purrr、map来训练不同的机器学习模型是件很有趣的事 。
推荐阅读
- 长旭数码华为三款值得买的5G手机,不同价位,入手正当时
- 『学霸』学渣变学霸:教育界证明最有效的4个学习方法,建议家长收藏
- 【物理】初二发力学习,初三语文成绩才能逆袭,别让你的小聪明耽误了语文
- 「小学语文」100篇小学语文阅读理解及答案,孩子学习用得上!
- 带你吃瓜做个无情的尖叫机器啊啊——任嘉伦《琵琶行》造型大片抢先看,200505
- 鹏亮体育汇但结局不同。金子轩很高兴,蓝湛却很痛苦,陈情令:四个人出身高贵
- 「邓伦」《极限挑战》开播,邓伦待遇与众不同,极挑最靓的仔真的可以
- 「经济」山东省提出的和村并居,相比新农村有什么不同吗?看完后瞬间明白了
- #苏亚雷斯#皇马7号、巴萨9号回归对比照,球迷:苏亚雷斯,你该向阿扎尔学习了!
- 军人驿站国际观察俄土科技差距显露无疑,美称此战可载入史册,叙利亚爆发机器人大战
