189 8069 5689

nosql数据科学家,NoSQL数据库技术与应用

如何成为一名数据科学家

"Data Science = statistics who uses python and lives in San Francisco"

目前创新互联建站已为千余家的企业提供了网站建设、域名、网络空间、绵阳服务器托管、企业网站设计、漳州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

恰好我马上启程到Twitter的data science team,而且恰巧懂一点点统计和住在旧金山,所以冲动地没有邀请就厚脸回答了:D

我认为有几个大方面

1)学好python。

现在几乎所以公司的数据都可以api给你,而python的数据处理能力强大且方便。加之在machine learning的很多算法上,python也独俏一方。另外,它的简明方便迅速迭代开发,15分钟写完个算法就可以看效果了。

除此之外,py还有点酷酷的感觉。任何程序拿matlab和c++都是可以写的,不过我真没认识过哪个d愿意自己把自己扔那个不酷的框框里:D

对不规则输入的处理也给python一个巨大的优势。通常来说,在我现在日常的工作里,所有的数据都是以纯文本但是非格式的形式存储的(raw text, unstructured data)。问题在于,这些文本不可以直接当作各种算法的输入,你需要

分词,分句

提取特征

整理缺失数据

除掉异类(outlier)

在这些时候,python可谓是神器。这里做的1-4都可以直接在scikit-learn里面找到对应的工具,而且,即使是要自己写一个定制的算法处理某些特殊需求,也就是一百行代码的事情。

简而言之,对于数据科学面临的挑战,python可以让你短平快地解决手中的问题,而不是担心太多实现细节。

2)学好统计学习

略拗口。统计学习的概念就是“统计机器学习方法”。

统计和计算机科学前几十年互相平行着,互相造出了对方造出的一系列工具,算法。但是直到最近人们开始注意到,计算机科学家所谓的机器学习其实就是统计里面的prediction而已。因此这两个学科又开始重新融合。

为什么统计学习很重要?

因为,纯粹的机器学习讲究算法预测能力和实现,但是统计一直就强调“可解释性”。比如说,针对今天微博股票发行就上升20%,你把你的两个预测股票上涨还是下跌的model套在新浪的例子上,然后给你的上司看。

Model-1有99%的预测能力,也就是99%的情况下它预测对,但是Model-2有95%,不过它有例外的一个附加属性——可以告诉你为什么这个股票上涨或者下跌。

试问,你的上司会先哪个?问问你自己会选哪个?

显然是后者。因为前者虽然有很强的预测力(机器学习),但是没有解释能力(统计解释)。

而作为一个数据科学家,80%的时间你是需要跟客户,团队或者上司解释为什么A可行B不可行。如果你告诉他们,“我现在的神经网络就是能有那么好的预测力可是我根本就没法解释上来”,那么,没有人会愿意相信你。

具体一些,怎么样学习统计学习?

先学好基本的概率学。如果大学里的还给老师了(跟我一样),那么可以从MIT的概率论教材【1】入手。从第1章到第9章看完并做完所有的习题。(p.s.面试Twitter的时候被问到一个拿球后验概率的问题,从这本书上抓来的)。

了解基本的统计检验及它们的假设,什么时候可以用到它们。

快速了解统计学习有哪些术语,用来做什么目的,读这本【5】。

学习基本的统计思想。有frequentist的统计,也有bayesian的统计。前者的代表作有【2】,后者看【3】。前者是统计学习的圣书,偏frequentist,后者是pattern recognition的圣书,几乎从纯bayesian的角度来讲。注意,【2】有免费版,作者把它全放在了网上。而且有一个简易版,如果感觉力不从心直接看【2】,那么可以先从它的简易版开始看。简易版【4】是作者在coursera上开课用的大众教材,简单不少(不过仍然有很多闪光点,通俗易懂)。对于【3】,一开始很难直接啃下来,但是啃下来会受益匪浅。

注意,以上的书搜一下几乎全可以在网上搜到别人传的pdf。有条件的同学可以买一下纸制版来读,体验更好并且可以支持一下作者。所有的书我都买了纸制版,但是我知道在国内要买本书有多不方便(以及原版书多贵)。

读完以上的书是个长期过程。但是大概读了一遍之后,我个人觉得是非常值得的。如果你只是知道怎么用一些软件包,那么你一定成不了一个合格的data scientist。因为只要问题稍加变化,你就不知道怎么解决了。

如果你感觉自己是一个二吊子数据科学家(我也是)那么问一下下面几个问题,如果有2个答不上来,那么你就跟我一样,真的还是二吊子而已,继续学习吧。

为什么在神经网络里面feature需要standardize而不是直接扔进去

对Random Forest需要做Cross-Validatation来避免overfitting吗?

用naive-bayesian来做bagging,是不是一个不好的选择?为什么?

在用ensembe方法的时候,特别是Gradient Boosting Tree的时候,我需要把树的结构变得更复杂(high variance, low bias)还是更简单(low variance, high bias)呢?为什么?

如果你刚开始入门,没有关系,回答不出来这些问题很正常。如果你是一个二吊子,体会一下,为什么你跟一流的data scientist还有些差距——因为你不了解每个算法是怎么工作,当你想要把你的问题用那个算法解决的时候,面对无数的细节,你就无从下手了。

说个题外话,我很欣赏一个叫Jiro的寿司店,它的店长在(东京?)一个最不起眼的地铁站开了一家全世界最贵的餐馆,预订要提前3个月。怎么做到的?70年如一日练习如何做寿司。70年!除了丧娶之外的假期,店长每天必到,8个小时工作以外继续练习寿司做法。

其实学数据科学也一样,沉下心来,练习匠艺。

3)学习数据处理

这一步不必独立于2)来进行。显然,你在读这些书的时候会开始碰到各种算法,而且这里的书里也会提到各种数据。但是这个年代最不值钱的就是数据了(拜托,为什么还要用80年代的“加州房价数据”?),值钱的是数据分析过后提供给决策的价值。那么与其纠结在这么悲剧的80年代数据集上,为什么不自己搜集一些呢?

开始写一个小程序,用API爬下Twitter上随机的tweets(或者weibo吧。。。)

对这些tweets的text进行分词,处理噪音(比如广告)

用一些现成的label作为label,比如tweet里会有这条tweet被转发了几次

尝试写一个算法,来预测tweet会被转发几次

在未见的数据集上进行测试

如上的过程不是一日之功,尤其刚刚开始入门的时候。慢慢来,耐心大于进度。

4)变成全能工程师(full stack engineer)

在公司环境下,作为一个新入职的新手,你不可能有优待让你在需要写一个数据可视化的时候,找到一个同事来给你做。需要写把数据存到数据库的时候,找另一个同事来给你做。

况且即使你有这个条件,这样频繁切换上下文会浪费更多时间。比如你让同事早上给你塞一下数据到数据库,但是下午他才给你做好。或者你需要很长时间给他解释,逻辑是什么,存的方式是什么。

最好的变法,是把你自己武装成一个全能工作师。你不需要成为各方面的专家,但是你一定需要各方面都了解一点,查一下文档可以上手就用。

会使用NoSQL。尤其是MongoDB

学会基本的visualization,会用基础的html和javascript,知道d3【6】这个可视化库,以及highchart【7】

学习基本的算法和算法分析,知道如何分析算法复杂度。平均复杂度,最坏复杂度。每次写完一个程序,自己预计需要的时间(用算法分析来预测)。推荐普林斯顿的算法课【8】(注意,可以从算法1开始,它有两个版本)

写一个基础的服务器,用flask【9】的基本模板写一个可以让你做可视化分析的backbone。

学习使用一个顺手的IDE,VIM, pycharm都可以。

机器学习四大数据分析降维方法详解

【导读】近几年来,随着人们对数据分析领域的情况愈发了解后,很多大数据分析师利用机器学习四大数据分析降维方法来解决一些数据分析过程中的难题,从而更容易更便捷的工作和避免一些工作中的重复动作和流程,今天小编就对机器学习四大数据分析降维方法进行详细解读,希望对大家有所帮助。

就像在拥挤的体育场内找到特定人物并不容易,将所有数据都放在同一个物理位置并不一定会使发现变得容易,另外由于来自原始系统的数据复制缓慢且成本高昂,因此相关数据中只有一小部分倾向于存储在湖泊中,更为复杂的是,许多公司可能拥有数百个分布在多个本地数据中心和云提供商之间的数据存储库,当涉及数据集成时,以原始格式存储数据并不会消除使数据适应每个机器学习过程的需求,相反它只是将执行该过程的负担转移给了数据科学家,尽管湖中可能具有所需的处理能力,但数据科学家通常不具备集成数据所需的技能。

过去几年中出现了一些数据准备工具,以使数据科学家可以访问简单的集成任务

更复杂的任务仍然需要高级技能。IT部门通常需要通过在数据湖中为特定的ML流程创建新的数据集来进行救援,从而大大减慢了进度,数据虚拟化的好处为了应对这些挑战,组织已开始应用新流程,例如数据虚拟化,可以提供对任何数据的单一访问点-无论位于何处,也无论其本机格式如何-都无需先将其复制到中央存储库中,提供相同物理数据的不同逻辑视图,而无需创建其他副本。这提供了一种快速而廉价的方式来提供数据的不同视图,以满足每种类型的用户和应用程序的独特需求,这些逻辑视图可以通过使用复杂的优化技术在物理数据之上应用复杂的数据转换和组合功能来创建,以实现最佳性能。

具体而言,数据虚拟化通过以下方式帮助应对两个主要挑战

数据发现使数据科学家可以访问更多数据,由于无需从原始系统复制数据集即可在系统中使用,因此添加新内容会更快,更便宜。这些工具为实际复制哪些数据提供了完全的灵活性。例如,对于某个过程,您可以选择从源实时访问所有数据,而对于另一个过程,则可以选择首先在物理存储库(例如数据湖)中实现所有必需的数据,而对于另一个过程,则可以选择可以选择仅体现一部分数据的混合策略(例如,将在流程中频繁使用或可能对许多流程有用的数据)。

提供的所有数据集提供了可搜索的,可浏览的目录

该目录包含有关每个数据集的大量元数据、标签,列说明和使用信息,例如谁使用每个数据集,何时以及如何使用,数据集的内容也可以直接从此目录中搜索和查询。

工具根据一致的数据表示和查询模型公开所有数据

这意味着无论数据最初存储在关系数据库,Hadoop集群,SaaS应用程序还是NoSQL系统中,数据科学家都可以看到所有数据,就像将其存储在单个关系数据库中一样。可以通过SQL,REST或OData等标准方法访问此“虚拟数据库”,这些方法支持包括R,Scala,Python和Spark

ML等标准工具/语言。

使IT数据架构师和数据科学家之间的职责明确,成本有效地分开

IT数据架构师可以使用DV创建“可重用的逻辑数据集”,以对许多流程有用的方式公开信息,这些逻辑数据集也不需要物理复制数据,因此与传统方法相比,创建和维护它们的工作量要少得多,然后数据科学家可以对这些可重复使用的数据集进行修改,以满足每个ML流程的需求。根据定义,可重用的逻辑数据集会处理诸如转换和性能优化之类的复杂问题,因此数据科学家可以根据需要执行最终(且更轻松)的自定义。

现代工具还包括高级管理功能

因此可以集中实施安全策略,可以保留虚拟数据集的沿袭,并且可以在多个ML流程之间重用常见的转换和计算,数据虚拟化平台还可以将ML分析的结果无缝地呈现给业务用户和应用程序,因此可以轻松地将其合并到业务流程和报告中,随着机器学习和数据湖的不断扩散并支持现代分析,数据虚拟化是大幅提高数据科学家生产率的关键,它使他们可以专注于自己的核心技能,而不是数据管理,使数据科学家可以访问更多数据并利用基于目录的数据发现,并且极大地简化了数据集成,因此组织可以真正从手头的数据中受益。

以上就是小编今天给大家整理发送的关于“机器学习四大数据分析降维方法详解”的相关内容,希望对大家有所帮助。想了解更多关于数据分析及人工智能就业岗位分析,关注小编持续更新。

九个成为数据科学家的必备技能

九个成为数据科学家的必备技能

Works详细列举了从雇主角度看来,数据科学家加强自身市场竞争力所必备的9个数据科学技能。

过去一年中人们对数据科学的兴趣骤然增长。Nate Silver这个名字已经家喻户晓,所有公司都在寻找独角兽,很多不同学科的专业人才都开始关注这份薪水丰厚的职业,并将其当作自己可能的职业选择。

在Burtch Works开展招聘工作时,我们与很多想要在数据科学这一成长性领域有所发展的分析学专家探讨过,对具体的实施方案提出了疑问。我从招聘者的角度列出了在数据科学方面对成功十分关键,并且是招聘经理首先考虑的一些技术类与非技术类技能。

各公司在技能与工具的价值评判上都不尽相同,因此这个列表绝对谈不上详尽,不过在这些领域有过经验的人会在数据科学上占有更大的优势。

技术技能:分析学

1、教育——数据科学家受教育程度都很高,其中88%至少拥有硕士学位,46%有博士学位。虽然有一些名人特例,不过通常来说成为一名数据科学家需要扎实的教育背景,才能掌握所需的深度知识。最常见的研究领域包括数学与统计学(32%),其次是计算机科学(19%)以及工程学(16%)。

2、SAS软件与/或R语言——对其中至少一种分析工具有深入的了解,一般对数据科学来说R语言更好一些。

技术能力:计算机科学

3、都是公司在招聘数据科学类角色时最常提出的语言要求。

4、Hadoop平台——尽管不是总有这个需求,不过在很多情况下掌握它的人优势更大。熟悉Hive或Pig也是很有利的卖点。熟悉类似Amazon S3这样的云工具也会很有优势。

5、SQL数据库/编程——尽管NoSQL和Hadoop已经成为了数据科学很大的组成部分之一,招聘者还是希望能够找到可以编写与执行SQL复杂查询的候选人。

6、非结构化数据——数据科学家能够处理非结构化数据这一点非常重要,无论这些数据是来自社交媒体、视频源或者音频的。

非技术类技能

7、求知欲——毫无疑问最近到处都能看到这个词,尤其是在与数据科学家关联时。Frank Lo在几个月前的博文中描述了这个词的含义,并且讨论了其他必须的“软技能”。

8、商业智慧——想要成为数据科学家,需要充分了解自己工作的行业,并且知道公司想要解决的商业问题是哪些。能够根据数据科学分辨出解决哪些问题对公司来说更为重要,并且能够找出利用数据的新办法,这些是非常关键的。

9、通用技能——寻找优秀数据科学家的公司想要的是这样的人材:能够清楚顺畅地将自己的技术发现转化为非技术团队(比如市场部或者销售部)能够使用的内容。数据科学家必须能得出可用以决策的量化insight,同时了解非技术团队的需求,可以恰当地进行沟通以传达数据。想要了解定量专家在沟通技巧方面的更多信息,请参见我们近期的调查。

一般接下来的问题都是:“怎样能够获得这些技能呢?”网上有很多资源,不过笔者不希望让读者产生这样的错觉——成为数据科学家非常简单,上几节MOOCs就够了。除非你有扎实的定量经验,否则成为数据科学家之路还是颇有挑战的——但也并非不可能。

不过只要你确实对数据有兴趣、有激情,并打算将生命投入到相关的学习上,那么就不要让经验背景成为你追求数据科学生涯的阻碍。下面是我们觉得有用的一些资源:

1、高等学位——为了满足目前的需求,如雨后春笋般出现了更多的数据科学专业的项目,不过数学、统计学与计算机科学专业的项目也有很多。

2、MOOCs——Coursera、Udacity还有codeacademy都是不错的入门方式。

3、证书——KDnuggets编写了一个很长的列表清单。

4、Bootcamps——想要了解这种方式与学历项目或MOOCs的对比情况。

5、Kaggle——Kaggle上有数据科学竞赛,可以进行演练,用杂乱的真实世界数据来磨练技巧,解决真实的商业问题。雇主对Kaggle排名很重视,该排名可以被看作是相关的、经过亲身实践的项目工作。

6、LinkedIn小组——加入相关的小组,与数据科学社区的其他成员互动。

7、数据科学中心与KDnuggets——数据科学中心与KDnuggets都是保持与数据科学行业趋势前沿同步的优秀资源。8、Burtch Works研究:关于数据科学家的薪金,如果想要了解更多信息与当前数据科学家人数统计的话,请下载我们的数据科学家薪金研究报告。


本文标题:nosql数据科学家,NoSQL数据库技术与应用
链接地址:http://cdxtjz.cn/article/phsscp.html

其他资讯