哪些因素影响了数据科学家的薪水呢?

哪些因素影响了数据科学家的薪水呢?

​作者
Andres Gonzalez
 
“在我的职业经历中,目前为止我最感兴趣的部分就是网络数据收集项目。尽管在我们的数据科学拟真课中还有一些其他的更简明的项目,但网络数据收集提取是我最中意的。”
 
这个项目的目标是找出最直接影响数据科学家薪水的因素。
 
   
为了收集数据,我们将网络爬虫放在Link (美国最大招聘网站之一)上运行。在此网站上我们调取了超过四十个美国城市的招聘信息。 收集完信息后,我们将所取信息进行处理,从而得到更加数据化的信息用来决定一个工作机会的薪酬是否高于全美平均水平。这个项目的结果表明,撇开 “data scientists”这个直接的词条,还有一些对薪水起着重要影响的词条,例如 “quantitative”(量化的), “engineer”(工程师), 还有 “machine” (机械)。目前还没有一些具体的技巧或编程语言被纳入最重要的因素。 然而,亚利桑那州和俄勒冈州被不幸纳入对薪水有不好影响的词条。

          方 法          

这个数据是我们通过网络爬虫,设定了具体的城市,然后在搜索的关键词 “data scientists”所得的超过350页结果中爬得的。之后我们又用同样的方法搜索了一共42个美国城市。对于每个搜索到的工作机会,爬虫软件都记录了工作的名称,地点,公司名称,和所提供的薪水。大多数工作机会都没有提到具体的薪水,但薪水是我们这次研究的目标,所以我们只能抛弃那些没有提到薪水的,专注于有具体薪水说明的工作机会。
我们将所爬出的薪水一栏转化为浮点数的数据类型,并且在所给定区间内求出薪水的平均数。之后我们将薪水的单位统一,把以前所有月薪,周薪,日薪都转化为年薪。当这一切转化完成后,我们取了薪水的中间数,然后将所有薪水转化成二进制的数据类型。将所有比中间数高的薪水数据变成1,反之则为0。每当我们在模型中创建一个新的变量时我们就重复一遍此方法。我们之所以这么做的原因是在于我们在模型中用了 “logistic classification”(逻辑分类)的方法, 此方法的前提条件是所有的数据类型必须为二进制。
我们用以上的方法,通过设立一些关键词,在工作名称和地点中我们建立了不同变量。之后我使用了一种方法计数了在工作标题中所含的所有词条,并依据它们跟成功结果,即正确的预测,之间的关系进行排序。我们这个项目用“Random Forest”(随机森林)的模型来分析先前得出的二进制的数据和词条排名

          结 果

   
      
通过将模型所预测的结果和我们用来测试模型的数据集进行比对,我们的模型达到了89%的正确率。在所有对预测结果有着重要影响的特征中,此模型的结果表明除了一些明显的词汇比如“data, scientist, research, analyst” (数据,科学家,研究,分析员)以及这些词汇的组合以外,在工作名称中,有些其他的词条也很重要,比如说 “quantitative, machine, senior, and technician” (量化的,机器,资深的,技术的) 。以上词条是按照重要性排序的。根据模型结果,在前15个对预测结果有着重要影响的特点中, 只有亚利桑那州作为唯一一个州入选,排在第十位。
      
    
当我用同样的变量通过Scikit Learn里的逻辑回归模型运行后,在相同的标准下,我得到了相近的84%的准确率。尽管所得的结果同之前的模型不完全一致,即所得的系数从大到小的排列不完全等于在之前模型中所得的词条排名。我依然可以发现在此前用随机森林模型得出的影响薪水重要的词条,比如 “quantitative”(量化的), “engineer”(工程师), “senior” (资深的), “Arizona” (亚利桑那州),在逻辑回归的模型中同样重要,这些词条都对逻辑回归模型的成功预测结果有着很明显的正相关或负相关影响。 
  
  
以下我列出了特征词汇以及他们的参数。左列是从随机森林中得到的词条排名,从上到下按词条和薪水之间的重要性排列,最上为最重要以此类推。右列是从逻辑回归模型中所得到的词条对应的参数。

感 想

总结一下我从这个项目中所得的全部信息。当你在应聘或招聘活动中,你应当注意你的用词。这些关键词会影响人们对工作薪水的期望并且会成为最后薪水谈判时重要的筹码。

在你海投简历时做一下像我这样的研究其实并不是很耗时间,所以磨刀不误砍柴工,在找工作前有必要先调查一下市场

就算你一无所获,没有得到任何有用信息,但你爬下来的工作机会网站连接也会给你提供一个不错的数据库和更简单的申请途径,这会使你的应聘之旅更加高效。