导航:首页 > 编程语言 > pythonstandardize

pythonstandardize

发布时间:2022-12-18 21:47:23

A. 如何成为一名数据科学家

我认为有几个大方面
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 都可以。
4)读,读,读!
除了闭门造车,你还需要知道其它数据科学家在做些啥。涌现的各种新的技术,新的想法和新的人,你都需要跟他们交流,扩大知识面,以便更好应对新的工作挑战。
通常,非常厉害的数据科学家都会把自己的 blog 放到网上供大家参观膜拜。我推荐一些我常看的。另外,学术圈里也有很多厉害的数据科学家,不必怕看论文,看了几篇之后,你就会觉得:哈!我也能想到这个!
读 blog 的一个好处是,如果你跟他们交流甚欢,甚至于你可以从他们那里要一个实习来做!
betaworks 首席数据科学家,Gilad Lotan 的博客,我从他这里要的 intern :D Gilad Lotan
Ed Chi,六年本科硕士博士毕业的神人,google data science http://edchi.blogspot.com/
Hilary Mason,bitly 首席科学家,纽约地区人尽皆知的数据科学家:hilarymason.com
在它们这里看够了之后,你会发现还有很多值得看的 blog(他们会在文章里面引用其它文章的内容),这样滚雪球似的,你可以有够多的东西早上上班的路上读了:)
5)要不要上个研究生课程?
先说我上的网络课程:

前者就不说了,人人都知道。后者我则更喜欢,因为教得更广阔,上课的教授也是世界一流的机器学习学者,而且经常会有一些很妙的点出来,促进思考。
对于是不是非要去上个研究生(尤其要不要到美国上),我觉得不是特别有必要。如果你收到了几个着名大学数据科学方向的录取,那开开心心地来,你会学到不少东西。但是如果没有的话,也不必纠结。我曾有幸上过或者旁听过美国这里一些顶级名校的课程,我感觉它的作用仍然是把你领进门,以及给你一个能跟世界上最聪明的人一个交流机会(我指那些教授)。除此之外,修行都是回家在寝室进行的。然而现在世界上最好的课程都摆在你的面前,为什么还要舍近求远呢。
总结一下吧
我很幸运地跟一些最好的数据科学家交流共事过,从他们的经历看和做事风格来看,真正的共性是
他们都很聪明——你也可以
他们都很喜欢自己做的东西——如果你不喜欢应该也不会看这个问题
他们都很能静下心来学东西——如果足够努力你也可以

B. 如何成为一名数据科学家

我认为有几个大方面
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 都可以。
4)读,读,读!
除了闭门造车,你还需要知道其它数据科学家在做些啥。涌现的各种新的技术,新的想法和新的人,你都需要跟他们交流,扩大知识面,以便更好应对新的工作挑战。
通常,非常厉害的数据科学家都会把自己的 blog 放到网上供大家参观膜拜。我推荐一些我常看的。另外,学术圈里也有很多厉害的数据科学家,不必怕看论文,看了几篇之后,你就会觉得:哈!我也能想到这个!
读 blog 的一个好处是,如果你跟他们交流甚欢,甚至于你可以从他们那里要一个实习来做!

C. Python气象数据处理与绘图(2):常用数据计算方法

对于气象绘图来讲,第一步是对数据的处理,通过各类公式,或者统计方法将原始数据处理为目标数据。
按照气象统计课程的内容,我给出了一些常用到的统计方法的对应函数:

在计算气候态,区域平均时均要使用到求均值函数,对应NCL中的dim_average函数,在python中通常使用np.mean()函数
numpy.mean(a, axis, dtype)
假设a为[time,lat,lon]的数据,那么

需要特别注意的是,气象数据中常有缺测,在NCL中,使用求均值函数会自动略过,而在python中,当任意一数与缺测(np.nan)计算的结果均为np.nan,比如求[1,2,3,4,np.nan]的平均值,结果为np.nan
因此,当数据存在缺测数据时,通常使用np.nanmean()函数,用法同上,此时[1,2,3,4,np.nan]的平均值为(1+2+3+4)/4 = 2.5
同样的,求某数组最大最小值时也有np.nanmax(), np.nanmin()函数来补充np.max(), np.min()的不足。
其他很多np的计算函数也可以通过在前边加‘nan’来使用。
另外,

也可以直接将a中缺失值全部填充为0。

np.std(a, axis, dtype)
用法同np.mean()

在NCL中有直接求数据标准化的函数dim_standardize()

其实也就是一行的事,根据需要指定维度即可。

皮尔逊相关系数:

相关可以说是气象科研中最常用的方法之一了,numpy函数中的np.corrcoef(x, y)就可以实现相关计算。但是在这里我推荐scipy.stats中的函数来计算相关系数:

这个函数缺点和有点都很明显,优点是可以直接返回相关系数R及其P值,这避免了我们进一步计算置信度。而缺点则是该函数只支持两个一维数组的计算,也就是说当我们需要计算一个场和一个序列的相关时,我们需要循环来实现。

其中a[time,lat,lon],b[time]

(NCL中为regcoef()函数)
同样推荐Scipy库中的stats.linregress(x,y)函数:

slop: 回归斜率
intercept:回归截距
r_value: 相关系数
p_value: P值
std_err: 估计标准误差
直接可以输出P值,同样省去了做置信度检验的过程,遗憾的是仍需同相关系数一样循环计算。

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 都可以。
4)读,读,读!
除了闭门造车,你还需要知道其它数据科学家在做些啥。涌现的各种新的技术,新的想法和新的人,你都需要跟他们交流,扩大知识面,以便更好应对新的工作挑战。
通常,非常厉害的数据科学家都会把自己的 blog 放到网上供大家参观膜拜。我推荐一些我常看的。另外,学术圈里也有很多厉害的数据科学家,不必怕看论文,看了几篇之后,你就会觉得:哈!我也能想到这个!
读 blog 的一个好处是,如果你跟他们交流甚欢,甚至于你可以从他们那里要一个实习来做!
betaworks 首席数据科学家,Gilad Lotan 的博客,我从他这里要的 intern :D Gilad Lotan
Ed Chi,六年本科硕士博士毕业的神人,google data science
Hilary Mason,bitly 首席科学家,纽约地区人尽皆知的数据科学家:hilarymason.com
在它们这里看够了之后,你会发现还有很多值得看的 blog(他们会在文章里面引用其它文章的内容),这样滚雪球似的,你可以有够多的东西早上上班的路上读了:)
5)要不要上个研究生课程?

前者就不说了,人人都知道。后者我则更喜欢,因为教得更广阔,上课的教授也是世界一流的机器学习学者,而且经常会有一些很妙的点出来,促进思考。
对于是不是非要去上个研究生(尤其要不要到美国上),我觉得不是特别有必要。如果你收到了几个着名大学数据科学方向的录取,那开开心心地来,你会学到不少东西。但是如果没有的话,也不必纠结。我曾有幸上过或者旁听过美国这里一些顶级名校的课程,我感觉它的作用仍然是把你领进门,以及给你一个能跟世界上最聪明的人一个交流机会(我指那些教授)。除此之外,修行都是回家在寝室进行的。然而现在世界上最好的课程都摆在你的面前,为什么还要舍近求远呢。
总结一下吧
我很幸运地跟一些最好的数据科学家交流共事过,从他们的经历看和做事风格来看,真正的共性是
他们都很聪明——你也可以
他们都很喜欢自己做的东西——如果你不喜欢应该也不会看这个问题
他们都很能静下心来学东西——如果足够努力你也可以

E. office计算机二级,excel常考函数有哪些

if函数

=IF(AND(F3="是",G3="是",H3="是"),"完成","未完成")

这个函数的意思是,如果(同时满足(F3="是",G3="是",H3="是"),那么就是"完成“,否则就是"未完成"。

还有一种情况是满足一个条件的,也就是IF(OR(F3="是",G3="是",H3="是"),"完成","未完成")。

SUMIFS多条件求和

问题如下图

函数=SUMIFS(订单明细表!H3:H636,订单明细表!E3:E636,订单明细表!E7,订单明细表!B3:B636,"<=2012-12-31",订单明细表!B3:B636,">=2012-1-1")

=SUMIFS(总销售额,条件区域1,条件1(《MS Office高级应用》),条件区域2,条件2(2012年),条件区域3,条件3(2012年))

mid截取函数

=IF(MOD(MID(C2,17,1),2)=1,"男","女")

如果(除以(截取(C2单元格,从17位开始,截取两位),2)等于1的话,那么就是“男”,否则就是“女”

这个函数要从最里边的函数往外开始翻译。即MID--MOD--IF

(5)pythonstandardize扩展阅读:

计算机二级考试是全国计算机等级考试(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。计算机二级考试采用全国统一命题、统一考试的形式。

计算机二级考试包含:程序设计/办公软件高级应用级,考核内容包括计算机语言与基础程序设计能力,要求参试者掌握一门计算机语言,可选类别有高级语言程序设计类、数据库程序设计类等;

办公软件高级应用能力,要求参试者具有计算机应用知识及MS Office办公软件的高级应用能力,能够在实际办公环境中开展具体应用。从2013年开始全国计算机等级考试已从传统的笔试和上机考试改革成无纸化考试,二级Delphi科目从2013年上半年开始停考。

从 2018 年 3 月开始,将实施 2018 版考试大纲,并按新体系开考各个考试级别。

据了解,教育部考试中心确定从2013年上半年开始,实施无纸化的NCRE,二级6个科目是:二级C,二级VB,二级VFP、二级JAVA、二级ACCESS、二级C++。取消“Delphi语言程序设计”科目(代码:62)。

自2018年3月考试起,NCRE将执行2018版考试大纲,二级取消“Visual FoxPro 数据库程序设计”科目(代码:27),2017年 12 月是其最后一次组考。新增“Python 语言程序设计”科目(代码:66),考试时长:120 分钟,2018 年 9 月首次开考。

阅读全文

与pythonstandardize相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:963
phpffmpeg转码 浏览:672
长沙好玩的解压项目 浏览:145
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:737
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:486
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:382
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:350
风翼app为什么进不去了 浏览:779
im4java压缩图片 浏览:362
数据查询网站源码 浏览:151
伊克塞尔文档怎么进行加密 浏览:893
app转账是什么 浏览:163