当前位置: 首页 > 编程日记 > 正文

kaggle之数据分析从业者用户画像分析

数据为kaggle社区发布的数据分析从业者问卷调查分析报告,其中涵盖了关于该行业不同维度的问题及调查结果。本文的目的为提取有用的数据,进行描述性展示。帮助新从业的人员更全方位地了解这个行业。

参考学习视频:http://www.tianshansoft.com/

数据集:https://pan.baidu.com/s/1o7BFzFO

变量说明

数据中包含228个变量,提取其中的一些较有价值的变量进行描述性分析

  • 数据处理

survey <-read.csv(stringsAsFactors = F,file = 'F:\\R/数据科学社区调查/multipleChoiceResponses.csv',header=T,sep=',')
class(survey)
table(survey$Country) #统计每个国家参与人数

查看国家时,发现国家中中国被切分成共和国,民国,台湾,此处自行统一为中国

#将大陆,中华民国,台湾统一为中国
survey$Country <- ifelse(survey$Country=="People 's Republic of China"| survey$Country=='Republic of China'| survey$Country=='Taiwan','China',survey$Country)

数据描述性展示

  • 探索数据从业者中年龄最小(中位数)的十个国家

#将数据按国家分类,并求年龄的中位数
Country_age <- survey %>% group_by(Country) %>% summarise(Age_median=median(Age,na.rm = T)) %>%arrange(Age_median)
head(Country_age)
#绘图,探索数据科学从业者年龄中位数最小的十个国家
p1 <-ggplot(data = head(Country_age,10),aes(reorder(Country,Age_median),Age_median,fill=Country))+geom_bar(stat='identity')+coord_flip()+labs(x='年龄',y='国家',title='探索不同国家数据从业者的平均年龄')+geom_text(aes(label=round(Age_median,0)),hjust=1.5)+theme(legend.position = 'none',plot.title=element_text(hjust = 0.3))
#绘图,探索数据科学从业者年龄中位数最大的十个国家
p2 <- ggplot(data = tail(Country_age,10),aes(reorder(Country,Age_median),Age_median,fill=Country))+geom_bar(stat='identity')+coord_flip()+labs(x='年龄',y='国家')+geom_text(aes(label=round(Age_median,0)),hjust=1.5)+theme(legend.position = 'none')
#合并两张图
library(Rmisc)
multiplot(p1,p2,cols = 1)

可以看到,按年龄中位数排列的话,亚洲国家在年龄较小的十个国家中占了七席,其中年龄中位数最小的国家为印度尼西亚和越南,只有24岁。中国的数据从业者集中在26岁。而年龄中位数最大的国家中,欧洲国家占了六席,且几乎都为发达国家。可见发达国家在数据科学领域已经有多年的发展。

探索数据从业者的职位名称分类

首先对数据整理,得出受访人数最多的前十个职位,且降序排列

#数据科学从业者的职位分类
jobtitle<-table(survey$CurrentJobTitleSelect)%>%  #统计频数as.data.frame()%>%                           #转化为数据框arrange(desc(Freq))                    #按频数倒序排列(大在前)
jobtitle <- jobtitle[-1,]               #人数最多的一行为空值,即职业一栏无填写

接下来进行绘图,将数据可视化

ggplot(data=head(jobtitle,10),aes(x=reorder(Var1,Freq),Freq,fill=Var1))+  #选取受访人数最多的前十个职业geom_bar(stat = 'identity')+labs(x='职业',y='人数',title='受访人数最多的十个职位')+              coord_flip()+                         #翻转坐标轴geom_text(aes(label=Freq),hjust=1.5)+    #添加数据标签theme(legend.position = 'none',plot.title = element_text(hjust = 0.2))          #去除图例,调整标题位置

从图中可看出数据科学家参加问卷调查的人数最多,达2433人。排名第十的为程序员,只有462人

探索中美两国受访者的职业分类

  • 处理数据

diff_nation <- survey[which(survey$Country=='China'),]      #提取出国家为中国的调查者信息
diff_nation1 <- survey[which(survey$Country=='United States'),]  #提取出国家为美国的调查者信息
china_jobtitle <- table(diff_nation$CurrentJobTitleSelect)%>%as.data.frame()%>%arrange(desc(Freq)) #探索在中国的受访人数较多职位
usa_jobtitle <- table(diff_nation1$CurrentJobTitleSelect)%>%as.data.frame()%>%arrange(desc(Freq)) #探索在美国的受访人数较多职位

图中可看到,中国的受访者中,有361人没有填写当前职位这一栏。美国也有1072人。在绘图的过程中,需要将这些空值筛选掉

  • 绘图

p3<-ggplot(china_jobtitle[c(2:11),],aes(reorder(Var1,Freq),Freq,fill=Var1))+  #数据集中国前十位热门职业geom_bar(stat = 'identity')+labs(x='职业',y='受访人数(中国)',title='中美两国受访者的当前职位对比')+coord_flip()+                  #翻转坐标轴geom_text(aes(label=Freq),hjust=1)+
theme(legend.position = 'none',plot.title = element_text(size = 15,face = 'bold.italic')) #去除图例,设置标题大小,字体

p4<-ggplot(usa_jobtitle[c(2:11),],aes(reorder(Var1,Freq),Freq,fill=Var1))+  #数据集中国前十位热门职业geom_bar(stat = 'identity')+labs(x='职业',y='受访人数(美国)')+coord_flip()+                  #翻转坐标轴geom_text(aes(label=Freq),hjust=1)+theme(legend.position = 'none')
#合并两图
multiplot(p3,p4)       

图中可看出,中国的受访者中,人数最多的为数据挖掘工程师,共66人,而美国受访者中最多的为数据科学家,共773人。排在第二位的皆为软件开发工程师。

探索数据科学从业者明年将学习的学习工具

  • 数据处理

study_tool <- table(survey$MLToolNextYearSelect) %>%   as.data.frame()%>%arrange(desc(Freq))

  • 绘图

绘图过程与前面大同小异,所以可将绘图函数封装,代入变量即可

##############============封装绘图函数========#####################
fun1 <-function(data1,xlab1,ylab1,xname1,yname1,titlename1){ggplot(data = data1,aes(x=xlab1,y=ylab1,fill=xlab1))+geom_bar(stat = 'identity')+labs(x=xname1,y=yname1,title=titlename1)+coord_flip()+                  #翻转坐标轴geom_text(aes(label=ylab1),hjust=1)+   #数据标签theme(legend.position = 'none',plot.title = element_text(size = 15,face = 'bold.italic')) #去除图例,设置标题大小,字体
}
########################################################################  

代入变量

#function(data,xlab1,ylab1,var1,xname1,yname1,titlename1)
data   <- study_tool[c(2:11),]
xname1 <- '明年将学习的学习工具'
yname1 <- '人数'
titlename1 <- '受访者明年将学习的学习工具调查'
fun1(data,reorder(data$Var1,data$Freq),data$Freq,xname1,yname1,titlename1)

图中可看到,学习TensorFlow将成为明年的趋势,在受访者中,学习的人数达2621人之多。而接下来为python和R。可以预见,这3项将成为以后的主流学习工具。

探索中美两国数据科学从业者明年将学习的学习工具

  • 数据提取

china_studytool <- survey %>% filter(survey$MLToolNextYearSelect !=''&Country=='China') %>%group_by(MLToolNextYearSelect) %>%summarise(count=n())%>%              #n() 汇总arrange(desc(count))

以上为提取中国受访者明年将学习的学习工具数据。

图中可见,中国数据科学从业者明年即将学习的学习工具热度较高的为Python,TensorFlow,Spark,jupyter,R。而美国为TensorFlow,python,sparkR,其他,比较符合国际趋势。

探索数据科学从业者明年将学习的机器学习方法

可以看到,当前的机器学习趋势为深度学习,神经网络,时间序列分析,贝叶斯方法,文本挖掘等。对机器学习方法感兴趣的从业者不妨做个参考。

从业者对新手的建议

  • 推荐的编程语言

python,R,SQL是入门机器学习的必备技能

转载于:https://www.cnblogs.com/jvfjvf/p/8204284.html

相关文章:

mysql读写分离(MySQL Proxy 安装和使用)

一、必备软件&#xff1a; 1、LUA 可以去LUA的官方下载&#xff1a;www.lua.org 2、MySQL Proxy 这里有好多二进制版本。 http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/ 或者去MYSQL官方下载源代码。 3、测试过程中取消了B和C的REPLICATION。这样SQL语句…

微软副总裁、Kubernetes 头号贡献者的他,给云原生带来奇迹!

我们做了一个街头采访&#xff0c;调查路人眼中的程序员到底是怎样的&#xff1f;提到程序员&#xff0c;大家似乎都有刻板印象&#xff1a;总是格子衬衫牛仔裤双肩包打扮&#xff0c;总是埋头敲代码&#xff0c;加班是常态……谁说程序员呆板木讷&#xff0c;只会埋头敲一行行…

查询Oracle中字段名带.的数据

SDE中的TT_L线层会有SHAPE.LEN这样的字段&#xff0c;使用&#xff1a; SQL>select shape.len from tt_l; 或 SQL>select t.shape.len from tt_l t; 是查询不出来的。 需要这样查询&#xff1a; SQL>select t."SHAPE"."LEN" from tt_l t; 转载于:…

再谈session共享

之前一篇已经写过了《springboot中redis的使用和分布式session共享问题》&#xff0c;但是示例不完全&#xff0c;本文加以完善。 使用spring-session-data-redis解决session共享&#xff0c;而不需要再引入其他jar即可 集成简单&#xff0c;上手迅速。 项目结构 1.pngpom <…

使用MySQL Proxy解决MySQL主从同步延迟

MySQL的主从同步机制非常方便的解决了高并发读的应用需求&#xff0c;给Web方 面开发带来了极大的便利。但这种方式有个比较大的缺陷在于MySQL的同步机制是依赖Slave主动向Master发请求来获取数据的&#xff0c;而且由于服务器负 载、网络拥堵等方面的原因&#xff0c;Master与…

Python 操作 MongoDB 数据库!

作者 |黄伟呢来源 |数据分析与统计学之美MongoDB是一个介于关系数据库和非关系数据库之间的产品&#xff0c;是非关系数据库当中功能最丰富&#xff0c;最像关系数据库的。先来看看MySQL与MongoDB 概念区别&#xff1a;今天的重点&#xff0c;就是要为大家讲述如何使用Python操…

Linux下用汇编输出Hello, world

下列是Intel汇编语法实现的 Hello, world!程序。 ;; hello.asm ;; nasm -f elf hello.asm; will output hello.o ;; ld -s -o hello hello.o;; section, same to segment segment .data ; 数据段声明, 下列代码将放在数据段中msg db "Hello, world!", 0xA ; 要…

利用bigpipe机制实现页面模块的异步渲染 chunked技术

bigpipe基于HTTP/1.1 支持的chunked编码&#xff0c;可以由浏览器接收到服务器发送的chunked块后&#xff0c;立即解析该块代码。因为chunked编码使消息主体成块发送&#xff0c;每块有自己的大小指示器&#xff0c;在所有的块之后会紧接着一个可选的包含实体头域的尾部。这种编…

hibernate 全面学习【lazy策略 】

2019独角兽企业重金招聘Python工程师标准>>> lazy策略可以用在&#xff1a; * <class>标签上&#xff1a;可以取值true/false * <property>标签上&#xff0c;可以取值true/false&#xff0c;这个特性需要类增强 * <set>/<list>等集合上…

深度学习发现古人类遗址,AI 考古比胡八一更高效

作者 |神经星星来源 |HyperAI超神经By 超神经内容一览&#xff1a;伊利诺伊州立大学人类学专业考古方向的研究人员&#xff0c;将空间遥感技术和深度学习应用于古人类遗址的发掘和研究。关键词&#xff1a;考古 遥感 机器视觉考古&#xff0c;一直是个神秘又充满吸引力的话题。…

linux resource

1. centos repo https://centos.pkgs.org/转载于:https://www.cnblogs.com/gojoin/p/8241068.html

MySQL 水平分区方案Spock Proxy

Spock Proxy 是由实际项目产生的一个开源项目&#xff08;Spock是Rails的应用&#xff0c;Speck Proxy应当可用于Rails之外的&#xff0c;例如PHP或.NET&#xff09;&#xff0c;基于MySQL Proxy开发&#xff0c;是MySQL Proxy的一个分支&#xff0c;支持range-based horizonta…

卷学历、卷加班……程序员拥有什么能力才能破局内卷?

全世界的天才程序员都在疯狂的造轮子&#xff0c;其它程序员只能被动的学习轮子&#xff0c;这简直就像一场绝地求生。程序员行业的内卷已是有目共睹&#xff0c;选择程序员作为职业的人越来越多&#xff1b;大厂对程序员的学历要求越来越高&#xff1b;程序员工作加班越来越严…

LeetCode - Maximum Depth of Binary Tree

递归求二叉树的最大深度。 /*** Definition for binary tree* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/ public class Solution {public int maxDepth(TreeNode root) {if(root null)return 0…

2018年IT市场最大的技术趋势和热点预测

随着数字化&#xff0c;物联网&#xff08;IoT&#xff09;设备&#xff0c;区块链应用以及新的服务器战略日益普及&#xff0c;这可能会成为2018年最大的技术趋势。我们期待看到大量与边缘计算相关的新产品&#xff0c;即所谓的无服务器计算&#xff0c;智能家居&#xff0c;智…

哈希分布与一致性哈希算法简介

前言 在我们的日常web应用开发当中memcached可以算作是当今的标准开发配置了。相信memcache的基本原理大家也都了解过了&#xff0c;memcache虽然是分布式的应用服务&#xff0c;但分布的原则是由client端的api来决定的&#xff0c;api根据存储用的key以及已知的服务器列表&…

使用深度学习阅读和分类扫描文档

作者|小白来源|小白学视觉收集数据首先&#xff0c;我们要做的第一件事是创建一个简单的数据集&#xff0c;这样我们就可以测试我们工作流程的每一部分。理想情况下&#xff0c;我们的数据集将包含各种易读性和时间段的扫描文档&#xff0c;以及每个文档所属的高级主题。我找不…

无聊的时候,冷死了(六)

阁下长得真是天生励志&#xff01;好久没有听到有人能把牛吹得这么清新脱俗了&#xff01;你出生时就丑的躲起来了&#xff0c;连你父母都不敢见你&#xff0c;你还怕有人举报你&#xff1f;你拉着一头猪逛街&#xff0c;很幸福的样子&#xff0c;我经过满怀同情的说&#xff1…

Java EE 开发环境搭建

下载安装Java EE SDK 版本&#xff1a;Java Platform,Enterprise Edition 7 SDK (with JDK 7u45) 下载页面&#xff1a; http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-7-sdk-with-jdk-u45-2066865.html 文件名&#xff1a;java_ee_sdk-7-jdk7-windows.exe…

memcacheq 服务安装与原理

memcacheQ是一个单纯的分布式消息队列服务。它的安装依赖于BerkeleyDB 和 libevent&#xff0c;所以要先安装这BerkeleyDB和libevent&#xff1a; 一&#xff0c;BerkeleyDB 下载软件包&#xff0c;http://download.oracle.com/berkeley-db/db-5.0.21.tar.gz解压缩后&#xff…

AI 帮忙找 Bug ,英特尔开源代码编程工具 ControlFlag

整理 | 孙胜出品 | CSDN近日&#xff0c;英特尔开源了自动代码调试工具 ControlFlag 源代码&#xff0c;ControlFlag 源码现在可通过 GitHub 获得。据了解&#xff0c;ControlFlag 可用来帮助更多开发者自主检测代码错误&#xff0c;主要利用 AI 自动识别软件和固件代码中的错误…

一次心惊肉跳的服务器误删文件的恢复过程

经历了两天不懈努力&#xff0c;终于恢复了一次误操作删除的生产服务器数据。对本次事故过程和解决办法记录在此&#xff0c;警醒自己&#xff0c;也提示别人莫犯此错。也希望遇到问题的朋友能找到一丝灵感解决问题。事故背景安排一个妹子在一台生产服务器上安装Oracle,妹子边研…

【vue】vue中ref用法

1.获取当前元素&#xff1a; 例子&#xff1a; <div class"pop pos-a" :style"{ left: pop_x px ,top: pop_y px}" ref"refName"><ul><li>编辑部门</li><li click"append()">添加子部门</li>&…

使用Gearman做分布式计算

通常&#xff0c;多语言多系统之间的集成是个大问题&#xff0c;一般来说&#xff0c;人们多半会采用WebService的方式来处理此类集成问题&#xff0c;但不管采用何种风格的WebService&#xff0c;如RPC风格&#xff0c;或者REST风格&#xff0c;其本身都有一定的复杂性。相比之…

把数据库中有关枚举项值的数字字符串转换成文字字符串

原文:把数据库中有关枚举项值的数字字符串转换成文字字符串标题可能无法表达我的本意。比如&#xff0c;有这样一个枚举&#xff1a; public enum MyChoice{MyFirstChoice 0,MySecondChoice 1,MyThirdChoice 2} 数据库中&#xff0c;某表某字段保存值为"0,1,2"&…

又被 AI 抢饭碗?2457 亿参数规模,全球最大中文人工智能巨量模型 “源1.0”正式开源...

作者 | 伍杏玲 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;输入&#xff1a;昔我往矣&#xff0c;杨柳依依。今我来思&#xff0c;雨雪霏霏。行道迟迟&#xff0c;载渴载饥。我心伤悲&#xff0c;莫知我哀&#xff01;&#xff08;以战争为题写一首诗&#xff09…

Java架构演进之路

2019独角兽企业重金招聘Python工程师标准>>> hello 转载于:https://my.oschina.net/mrpei123/blog/1605391

F5与NetScaler比较

F5 是基于Linux的&#xff0c;NetScaler 是基于BSD的。F5 的四层走的是硬件芯片&#xff0c;七层走的是软件&#xff0c;NetScaler 全部走的是软件。我测试的性能也是 F5比NetScaler强&#xff0c;在均不使用压缩的情况下&#xff0c;NetScaler比F5消耗更大的带宽。

这个机器狗引起网友争议,「持枪机器狗」射程达1200米

编译 | 禾木木 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 如果提起自动机器狗&#xff0c;首先想到的应该是波士顿动力&#xff0c;自波士顿动力 Spot 推出以来&#xff0c;机器狗就解锁了很多应用场景。波士顿动力一直都禁止将机器狗武器化。 但是&#xff0c…

nutch如何发布插件

为什么80%的码农都做不了架构师&#xff1f;>>> 1.修改插件&#xff0c;在原有的插件上修改&#xff0c;比如parse-html插件上修改。 2.修改插件之后&#xff0c;把第三方的包放到/nutch/runtime/local/lib下&#xff08;经测试&#xff0c;只有在此目录下&#xf…