2020-12-31 15:45:05 阅读(214)
由于作品集是衡量实际能力的最佳途径之一,数据科学公司在招聘时越来越重视个人作品集。好消息是,你完全控制着你的作品集。如果你付出一些努力,你可以创建一套给雇主留下深刻印象的高质量作品集。要打造高质量的作品集,首先要搞清楚在作品中应该展现什么能力。一个好的作品集一般由多个项目组成,每个项目展示以上1-2个能力点,包括沟通能力和他人合作能力、技术能力、数据推断能力和主观能动性。这篇文章是第一篇教你如何构建一个全面的数据科学系列的文章。我们将介绍如何创建作品集中的第一个项目,如何利用数据讲述有效的故事。在这篇文章的结尾,你将有一个数据科学项目来展示你的沟通能力和数据推断能力。用数据讲故事数据科学的本质是沟通。您通过数据获得一些洞察力,然后以有效的方式将其传播给他人,并向他们推销您的解决方案。数据科学家最重要的技能之一是利用数据讲述一个有效的故事。一个有效的故事可以让你的洞察力更有说服力,帮助别人理解你的观点。数据科学中的故事需要讲述你发现了什么,如何发现,意味着什么。例如,你发现去年公司利润下降了25%。仅仅解释这个事实是不够的,你必须解释为什么利润会下降,以及如何解决它。用数据讲故事的要点如下:从多个角度探索和设置故事的上下文,从多个角度探索令人信服的形象化,展示使用各种数据源叙述的一致性。这里最有效的工具是Jupyternotebook。如果您对此不太熟悉,请参考本教程。Jupyternotebook允许您交互式探索数据,并支持在包括Github在内的多个网站上共享结果。通过分享,别人可以很好地与你合作,扩大你的成就。本文将使用Jupyternotebook和Python数据科学库,如Pandas和matplotlib。选择项目主题创建项目的第一步是决定主题。你需要选择感兴趣、有动力学习的话题。众所周知,为了做项目而做,还是真的感兴趣去做,两者有很大的区别。所以这一步值得付出更多的努力,以确保能够找到真正感兴趣的东西。寻找主题的一个好方法是浏览不同的数据集,看看有什么有趣的东西。这里推荐一些好的网站:Data.gov–包括政府信息。/r/datasets–reddit的子集有很多有趣的数据集。Awesomedatasets–Github上的一些数据集。rs.io–一个很棒的Blog,发布了很多有趣的数据。一般来说,你通常不会得到一个完美的单个数据集。通常需要聚合不同的数据源,或者进行大量的数据清理。当选题对你来说真的很有意思,花更多的时间处理数据是非常值得的。同时,你也可以在这个过程中炫耀你的技能。我们使用纽约公立学校的数据,你可以在这里得到它们。从一到尾选择题目完成项目是非常重要的。因此,限制项目的范围非常重要,这可以让我们清楚地知道我们可以完成它。在这篇文章中,我们关注美国高中生的SAT成绩和其他统计数据进行数据分析。SAT(ScholasticAptitudeTest)这是美国高中生在申请大学之前参加的考试。在决定是否入学时,大学将参考考试成绩。这次考试分为三部分,每部分800分,总分2400分(虽然总分已经改了很多次,但在这个数据集中还是2400分)。高中往往以SAT的平均成绩排名,SAT的高成绩代表着这个学区的高质量。有人建议SAT对美国的一些种族不公平,所以分析纽约的数据可以帮助我们进一步了解SAT考试的公平性。从这里获取SAT数据和高中数据。这将是项目的基础,但我们仍然需要更多的信息来确保令人信服的分析。一旦补充数据找到了一个好的主题,那么找到更多有助于这个主题或进一步研究的数据集。在项目开始建立之前,最好提前准备好尽可能多的数据。通常数据太少意味着过早放弃项目。在这个项目中,一个网站上有多个相关的数据集,包括学生统计信息和测试分数。这是所有将使用数据集的链接:根据学校安排的SAT分数–纽约每所高中的SAT成绩。学校招生情况–纽约每所学校的招生数据。数学考试成绩–纽约每所学校的数学考试成绩。班级大小–纽约各学校班级规模数据。AP考试成绩–AP(AdvancedPlacement)考试成绩,通过AP考试可获得大学学分。毕业数据–毕业生比例等信息。生源信息–各学校学生统计信息。学校调查–每所学校的家长、教师和学生的调查报告。学区地图–它包含学区的地理分布信息,帮助我们绘制图纸。所有这些数据集都是相互关联的,我们可以在分析之前组合它们。在深入分析数据之前,调查一些背景信息是非常有用的。在这种情况下,我们已经知道了一些非常有用的信息:纽约有五个地区,每个地区都是独立的。所有学校分布在每个学区,每个学区有几十所学校。并非所有的学校都是高中,所以我们需要做一些数据清理工作。每所学校都有DBN(DistrictBoroughNumber)唯一编号。我们可以通过聚合每个区域的数据来绘制每个区域之间的差异。为了真正理解这些数据的上下文,你需要花一些时间来探索数据。以上每个链接都有一些关于数据和相关列的描述。我们手里还有其他数据集,比如高中生的SAT成绩,生源信息。我们可以执行代码来读取数据。使用Jupyternotebook来探索这些数据,下面的代码将:将文件数据读入Pandasdataframe,将Dataframe统一放入Python字典importpandasimportnumpyasnfile=["ap_2010.csv","class_size.csv","demographics.csv","graduation.csv","hs_directory.csv","math_test_results.csv","sat_results.csv"]data={}forfinfiles: d=pandas.read_csv("schools/{0}".format(f)) data[f.replace(".csv","")]=读取dataFrames后,我们可以使用head方法在dataframes上打印前五行数据:fork,vindata.items(): print("n" k "n") print(v.head()可以发现数据集中的一些明显特征:大多数数据集包含DBN列。有些字段对绘图有用,尤其是Location1,其中包含坐标信息。有些字段对绘图有用,尤其是Location1,包含坐标信息。有些数据集似乎包含了一所学校的多个信息(重复的DBN),这意味着我们必须做一些预处理。为了更容易地处理数据,我们需要将所有单个数据集集中在一个数据集中。这样,我们就可以更快地比较数据集之间的列。为了做到这一点,我们需要在第一步找到一个统一的公共列。从上面的输出结果来看,你会发现DBN出现在大多数数据集中,看起来可以用作公共列。如果我们谷歌看看DBNNNewyorkcitySchols,我们会找到这个页面,解释DBN是每个学校的唯一编号。当我们探索数据集,特别是政府数据集时,为了找出每个列的含义,做一些调查是必不可少的。现在有一个问题,class_size和hs_directory数据集没有发现DBN字段。hs_directory数据集只有dbn字段,我们可以通过重命名该列或将其复制到DBN新列来解决。我们需要使用其他方法来处理class_size数据集。DBN列看起来像这样:data["demographics"]["DBN"].head()0 01M0151 01M0152 01M0153 01M0154 01M015Name:DBN,dtype:让我们再来看看class_size的前五行数据:data["class_size"].head()如上图所示,DBN似乎实际上是由CSD组成的、由BOROUGH和SCHOLCODE组成。DBN全称为DistrictBoroughnumber。DBN全称为Districtborughnumber。csd字段表示District,borough字段表示borough,然后最终与scholcode字段组成DBN。没有系统的方法来洞察数据之间的关系,只有通过探索和尝试才能找到答案。现在我们知道如何构建DBN了,可添加到class_size和size中hs_directory数据集:data["class_size"]["DBN"]=data["class_size"].apply(lambdax:"{0:02d}{1}".format(x["CSD"],x["SCHOOLCODE"]),axis=1)data["hs_directory"]["DBN"]=data["hs_directory"]["dbn"]添加调查数据最有趣的数据集之一,它应该是学生、家长和教师的问卷调查数据,包括每所学校的安全性和学术水平。让我们在组合数据集之前添加这些调查数据。让我们在组合数据集之前添加这些调查数据。在实际工作中,在分析数据的过程中,您经常会遇到您想要添加的有趣数据。使用灵活的工具,如Jupyternotebook,可以让您快速添加额外代码,并重新操作您的分析。将调查数据添加到我们的data字典中,然后组合所有数据集。调查数据包括两份文件,一份是所有学习,另一份是75区的学校。我们需要写一些代码来组合。在下面的代码中,我们将使用windows-1252编码读取所有学校的数据。在75区学校使用windows-1252编码读取数据。添加flag数据来自哪个区域。使用DataFramesconcat方法合并上述数据。survey1=pandas.read_csv("schools/survey_all.txt",delimiter="t",encoding='windows-1252')survey2=pandas.read_csv("schools/survey_d75.txt",delimiter="t",encoding='windows-1252')survey1["d75"]=Falsesurvey2["d75"]=Truesurvey=pandas.concat(survey1,survey2),axis=0)一旦我们完成了调查数据的合并,还有一件复杂的事情要处理。为了便于比较和发现列直接相关,我们需要减少数据集中的列数。不幸的是,调查数据中有太多对我们无用的列:survey.head()我们可以查看与调查数据一起下载的数据字典文件,找出我们需要的重要字段来简化列:这样我们就可以删除survey中多余的列:survey["DBN"]=survey["dbn"]survey_fields=["DBN","rr_s","rr_t","rr_p","N_s","N_t","N_p","saf_p_
以上就是关于怎样使用数据讲述一个有效的故事?的相关介绍,更多怎样使用数据讲述一个有效的故事?相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对怎样使用数据讲述一个有效的故事?有更深的了解和认识。
推荐阅读
最新文章
猜你喜欢以下内容:
一 客户顾问-张三 一