依旧使用相同的逻辑结果,更改变量为MLMethodNextYearSelect,之后统计其个数,按照其个数降序排列,筛选MLMethodNextYearSelect不为空且为美国Kaggle的观测值。实现代码具体如下:
> df_MLM_USA <- responses %>% # 筛选出MLMethodNextYearSelect不为空且为美国Kaggle的观测。 filter(MLMethodNextYearSelect != '' & Country == 'United States') %>% group_by(MLMethodNextYearSelect) %>% summarise(Count = n()) %>% arrange(desc(Count)) %>% mutate(MLMethodNextYearSelect = case_when(MLMethodNextYearSelect == "Deep learning" ~ "深度学习", MLMethodNextYearSelect == "Neural Nets" ~ "神经网络", MLMethodNextYearSelect == "Time Series Analysis" ~ "时间序列分析", MLMethodNextYearSelect == "Bayesian Methods" ~ "贝叶斯方法", MLMethodNextYearSelect == "Text Mining" ~ "文本挖掘")) > data <- head(df_MLM_USA, 5) > xname <- '机器学习方法' > yname <- '人数' > fun1(data, reorder(data$MLMethodNextYearSelect, data$Count), data$Count, xname, yname)
可视化结果见图7-8。
图7-8 美国受访者中排名前五的机器学习方法
代码演示如下:
> df_MLM_NZ <- responses %>% # 筛选出MLMethodNextYearSelect不为空且为新西兰Kaggle的观测 filter(MLMethodNextYearSelect != '' & Country == 'New Zealand') %>% group_by(MLMethodNextYearSelect) %>% summarise(Count = n()) %>% arrange(desc(Count)) %>% mutate(MLMethodNextYearSelect = case_when(MLMethodNextYearSelect == "Deep learning" ~ "深度学习", MLMethodNextYearSelect == "Neural Nets" ~ "神经网络", MLMethodNextYearSelect == "Anomaly Detection" ~ "异常检测", MLMethodNextYearSelect == "Genetic & Evolutionary Algorithms" ~ "遗传进化算法", MLMethodNextYearSelect == "Time Series Analysis" ~ "时间序列分析")) > data <- head(df_MLM_NZ, 5) > xname <- '机器学习方法' > yname <- '人数' > fun1(data, reorder(data$MLMethodNextYearSelect, data$Count), data$Count, xname, yname)
图7-9为新西兰受访者希望学习的机器学习方法。
图7-9 新西兰受访者中排名前五的机器学习方法
对比图7-8和图7-9两个可视化结果之后,我们可以总结出如下结论。
1)总体而言,两国最热门的机器学习方法同为深度学习。
2)神经网络和时间序列分析也同时排在热门机器学习方法的前五名。
3)略有不同的是美国受访者中对贝叶斯方法和文本挖掘更感兴趣,相较而言,新西兰受访者则更倾向于学习异常检测和有关遗传进化算法方面的知识。
案例演示的目的是想简单地展示数据分析的各个关键步骤,以帮助读者看清数据分析的整体流程和基本方法。