我,一个数据科学家的三大弱点
|
虽然你可以自学数据科学中的所有内容,但付诸实践部分有一些限制。其中一个是难以将分析或预测模型扩展到大型数据集。我们大多数人无法访问计算集群,又不想存钱购买个人超级计算机。这意味着当我们学习新算法时,我们倾向于将它们应用于小型,表现良好的数据集。 不幸的是,现实世界里的数据集不会对数据量大小或者数据干净程度有严格限制,所以,你必须使用不同的方法去解决数据量过大、脏数据等问题。首先,你或许需要突破个人电脑的安全限制,使用一个远程的实例,例如亚马逊的AWS EC2 甚至是多台机器。这意味着,你必须学习怎样远程连接机器和敲写命令行,因为你的EC2实例不能使用鼠标也没有操作界面。 当学习数据科学相关课程的时候,我使用亚马逊云的免费服务或者免费积分(如果你有多个邮箱可以注册多个账户来获得更多免费服务)在EC2机器做练习。这样能帮助我熟悉敲写命令行。然而,我还没有解决第二个问题——数据集大小能够超过机器的内存。我意识到这个限制让我回到了原点,现在是学习处理更大的数据集的时候了。 你甚至不用在电脑资源上花费数以千计美金,就可以实践这些超出内存限制的数据集的处理方法。这些方法包括每次遍历一个大数据集的一部分、把一个大数据集拆分成许多小数据集或者使用像Dask这种能够让你掌握大数据集处理细节的工具 我目前的方法是,对于内部项目数据集和外部开源数据集,都把单个数据集拆分成多个子集,开发一个能够处理子集数据的pipeline(程序、脚本等),然后用Dask 或者PSpark通过pipeline并行跑这些子集。这个方法不需要拥有超级电脑或者集群——你可以利用计算机的多核架构并行操作普通电脑。当你拥有更多资源的时候,你就可以自由的拓展程序规模。 幸亏有像Kaggle这样的数据宝藏,我已经找到了一些相当大的数据集,并且学习其他数据科学家处理它们的方法。我从中找到了很多有用的建议,例如,把数据类型改成dataframe以减小内存消耗。这些方法能帮助我更高效地处理各种数量级的数据集。
美国国会图书馆“只有”3PB的材料 虽然还没有处理过TB级的数据集,这些方法已经帮助我学到了处理大数据的基本策略。在最近的一些项目中,我已经能够运用所学技能在AWS的集群上做分析。希望接下来的几个月,我能逐步在更大的数据集上做分析。可以肯定的是在将来的分析中,数据集会越来越大,我还需要继续提高处理更大数据集的技能。 深度学习 虽然人工智能在繁荣和萧条中更迭,但是它最近在计算机视觉、自然语言处理、深度强化学习等领域的成功应用让我确信基于神经网络的深度学习不是昙花一现。 与软件工程和数据科学拓展领域不同,我现在的职位不需要任何深度学习知识:传统机器技术更能有效解决我们客户的问题。然而,我发现并不是每一个数据集都是行列结构化的,神经网络是文本或图像项目的最佳选择(目前来看)。我会继续利用已有技能解决当前的问题,但是,尤其在职业生涯早期,探索性课题同样拥有巨大的潜在价值。
探索和利用的权衡在强化学习和你的生活中的应用 (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


