我最近与某人进行了交谈,并提到了我对数据分析的兴趣以及我打算向谁学习必要的技能和工具。他们向我建议,虽然学习工具和培养技能非常棒,但除非我在特定领域拥有专业知识,否则这样做毫无意义。
他们基本上总结为,我就像一个拥有一堆工具的建造者,可以建造几个木箱,并且可能建造更好的东西(小屋、橱柜等),但如果没有特定领域的知识,我永远不会成为人们会为特定产品而来的建设者。
有没有人发现这个或对如何做有任何意见?如果这是真的,人们似乎必须学习事物的数据科学方面,然后学习一个新领域才能变得专业。
我最近与某人进行了交谈,并提到了我对数据分析的兴趣以及我打算向谁学习必要的技能和工具。他们向我建议,虽然学习工具和培养技能非常棒,但除非我在特定领域拥有专业知识,否则这样做毫无意义。
他们基本上总结为,我就像一个拥有一堆工具的建造者,可以建造几个木箱,并且可能建造更好的东西(小屋、橱柜等),但如果没有特定领域的知识,我永远不会成为人们会为特定产品而来的建设者。
有没有人发现这个或对如何做有任何意见?如果这是真的,人们似乎必须学习事物的数据科学方面,然后学习一个新领域才能变得专业。
Drew Conway 发表了数据科学维恩图,我非常同意:
一方面,你真的应该阅读他的帖子。另一方面,我可以提供我自己的经验:我的主题专业知识(我更喜欢这个术语而不是“实质性专业知识”,因为你真的应该在数学/统计和黑客方面也有“实质性专业知识”)在零售业务,我的数学/统计数据是预测和推理统计,我的黑客技能在于 R。
从这个有利的角度来看,我可以与零售商交谈并了解零售商,而至少对这一领域没有一丁点了解的人将不得不在与零售商的项目中面临陡峭的学习曲线。作为副业,我在心理学上做统计,那里完全一样。即使对图表中的黑客/数学/统计部分有相当多的了解,我也很难加快速度,例如信用评分或其他一些新学科领域。
一旦你掌握了一定数量的数学/统计数据和黑客技能,最好掌握一个或多个学科的基础,而不是在你的黑客技能中添加另一种编程语言,或者您的数学/统计组合的另一种机器学习算法。毕竟,一旦你有扎实的数学/统计/黑客基础,如果需要,你可以在相对较短的时间内从网络或教科书中学习这些新工具。但是另一方面,如果从零开始,您可能无法从头开始学习主题专业知识。客户宁愿与了解其特定领域的数据科学家 A 合作,也不愿与首先需要学习基础知识的数据科学家 B 合作——即使 B 在数学/统计/黑客方面做得更好。
当然,这一切也意味着你永远不会成为这三个领域中的任何一个领域的专家。但这很好,因为您是数据科学家,而不是程序员、统计学家或主题专家。三个不同的圈子里总会有人可以向他们学习。这是我喜欢数据科学的一部分。
编辑:一会儿和一些想法之后,我想用新版本的图表更新这篇文章。我仍然认为黑客技能、数学和统计知识和实质性专业知识(简称为“编程”、“统计”和“商业”以便于阅读)很重要……但我认为沟通的作用也很重要。您通过利用您的黑客技术、统计数据和业务专业知识获得的所有见解都不会产生任何影响,除非您可以将它们传达给可能没有这种独特知识融合的人。您可能需要向需要说服他们花钱或改变流程的业务经理解释您的统计见解。或者对于不进行统计思考的程序员。意义)是一篇简短的文章,内容大致相同,但比我提供的更多细节。
所以这是新的数据科学维恩图,其中还包括通信作为不可或缺的组成部分。我以应保证最大燃烧同时易于记忆的方式标记了这些区域。
评论走。
代码:
draw.ellipse <- function(center,angle,semimajor,semiminor,radius,h,s,v,...) {
shape <- rbind(c(cos(angle),-sin(angle)),c(sin(angle),cos(angle))) %*% diag(c(semimajor,semiminor))
tt <- seq(0,2*pi,length.out=1000)
foo <- matrix(center,nrow=2,ncol=length(tt),byrow=FALSE) + shape%*%(radius*rbind(cos(tt),sin(tt)))
polygon(foo[1,],foo[2,],col=hsv(h,s,v,alpha=0.5),border="black",...)
}
name <- function(x,y,label,cex=1.2,...) text(x,y,label,cex=cex,...)
png("Venn.png",width=600,height=600)
opar <- par(mai=c(0,0,0,0),lwd=3,font=2)
plot(c(0,100),c(0,90),type="n",bty="n",xaxt="n",yaxt="n",xlab="",ylab="")
draw.ellipse(center=c(30,30),angle=0.75*pi,semimajor=2,semiminor=1,radius=20,h=60/360,s=.068,v=.976)
draw.ellipse(center=c(70,30),angle=0.25*pi,semimajor=2,semiminor=1,radius=20,h=83/360,s=.482,v=.894)
draw.ellipse(center=c(48,40),angle=0.7*pi,semimajor=2,semiminor=1,radius=20,h=174/360,s=.397,v=.8)
draw.ellipse(center=c(52,40),angle=0.3*pi,semimajor=2,semiminor=1,radius=20,h=200/360,s=.774,v=.745)
name(50,90,"The Data Scientist Venn Diagram",pos=1,cex=2)
name(8,62,"Communi-\ncation",cex=1.5,pos=3)
name(30,78,"Statistics",cex=1.5)
name(70,78,"Programming",cex=1.5)
name(92,62,"Business",cex=1.5,pos=3)
name(10,45,"Hot\nAir")
name(90,45,"The\nAccountant")
name(33,65,"The\nData\nNerd")
name(67,65,"The\nHacker")
name(27,50,"The\nStats\nProf")
name(73,50,"The\nIT\nGuy")
name(50,55,"R\nCore\nTeam")
name(38,38,"The\nGood\nConsultant")
name(62,38,"Drew\nConway's\nData\nScientist")
name(50,24,"The\nperfect\nData\nScientist!")
name(31,18,"Comp\nSci\nProf")
name(69,18,"The\nNumber\nCruncher")
name(42,11,"Head\nof IT")
name(58,11,"Ana-\nlyst")
name(50,5,"The\nSalesperson")
par(opar)
dev.off()
你当然可以。公司都在呼唤数据科学家。请注意,尽管他们都以不同的方式解释该术语。根据公司的不同,您可能会发现自己被要求做任何事情,从统计数据到编写生产代码。任何一个本身就是一份全职工作,你必须为两者做好准备,所以在我看来,要求深入的专业知识是不合理的,而且我与之交谈过的公司强调了其他两个领域(尤其是编程)。但是,我发现熟悉您可能面临的问题类型会有所帮助。根据行业的不同,这可能是异常检测、推荐/个性化、预测、记录链接等。这些是您可以在数学和编程的同时作为示例学习的东西。