在我作为数据科学家的第一个全职职位上,无数小时的在线课程并没有让我为挑战做好准备。是的,我对 Python 的了解足以胜任这份工作,但开发数据科学项目的现实超出了我的预期。现在是我指出几个误解和未充分表达的问题的时候了。
不要把数据视为理所当然
Kaggle 时代,当社区付出巨大努力挖掘几乎每个数据集的秘密和模式时,一旦你成为专业人士,它就结束了。你会发现你的数据是碎片化的、扭曲的和扭曲的,只是丢失了,丰富但嘈杂——只是列出一些看似合理的场景。你的新手能量不会让你气馁,但修补差距可能会消耗太多的时间和资源而不是可用的。尽管人们经常说公司拥有大量数据,但这并不意味着它可以用于数据科学研究。您很容易发现自己受到许可证、公司协议、保密事项和技术问题(例如解析或流式传输)的限制。如果发生这种情况,请通过与专家的对话来引导自己。他们对你被任命调查的领域有透彻的了解,将引导您克服困惑并促进数据科学研究。与专家小组保持联系还有一个更重要的理由。已经说过很多次了——数据科学项目因与客户沟通不畅而失败。要么你把他们的期望弄错了,要么他们认为你的解决方案与实际不同。这绝对是真的。
我在这里的收获是用接近问题的人的专业知识来弥合数据差距,并促进与数据工程团队的合作。毕竟,它们为您的模型火箭提供数据燃料。
不要低估数学的力量
在过去,从 scikit learn 导入这个或那个并拟合我的模型非常有趣。我在工作中很快体验到的是计算成本,尤其是在处理大数据时,这意味着在加载数据集后你的 RAM 就用完了。该成本的货币要么是花在云上的真钱,要么是利用内部基础设施的执行时间。也可能发生,就像我的情况一样,您的环境需要您从 Python 切换到 PySpark。无论行业如何,业务目标始终相同。如果您必须在生产中交付您的解决方案,它必须又快又便宜。否则,您将在无限 RND 循环中循环。这就是为什么我转向统计和概率,研究如何将纯数学融入我的算法。当我与专家密切合作时,我了解了我们团队被分配到的行业的重要背景。将复杂问题分解为非常狭窄的案例,并由明确定义的阈值分隔,甚至可以使用标准偏差。虽然数据听起来可能根本不科学,但相对简单的数学可以提供精益解决方案,在大量数据上快速工作。
GIT 很重要
我与许多进入就业市场的初级数据科学家没有什么不同,他们坚信 Jupyter Notebook 是我们工作的基本工具。我简直大错特错。顾名思义,“笔记本”代表记笔记,句号。Jupyter 不会促进团队合作,不会启用代码版本控制,也不会引导您投入生产。我对 Jupyter Notebook 的结论是,尽管它非常适合快速探索和验证您的想法,但它会削弱数据科学团队的整体表现。现在,至关重要的是保持您的代码存储库蓬勃发展。每日提交,在分支上工作,这一切都将有利于您的项目的透明度,促进测试和生产,从其他数据科学家那里接管任务。在我开始担任数据科学家之前,我进行了为期 3 个月的前端 Web 应用程序实习。一年后,典型的应用程序开发与开发数据科学项目的共同点真的很惊人。
在上面阐述了我的想法之后,让我以一个在我的数据科学发现阶段实际上无法想象的生产力黑客作为结束。断开与 Jupyter Notebook 的连接,向您选择的 Python IDE 打招呼。您不会失去 Jupyter 体验,因为 Visual Studio Code 和 PyCharm 都支持笔记本。然而,您获得的是即时将您的代码转换为正确的 .py 文件的能力。这是您在一天结束时提交的内容并安排在开发环境中进行测试。跟踪算法的变化和开发是质量保证和绩效指标的重要组成部分。这就是你让事情井井有条的方式。最终,运行数据科学项目与应用程序开发非常相似。至少这是我在新秀年作为数据科学家所观察到的。
编辑推荐
1、
2022年300个以上最佳免费数据科学课程
2、
大厂数据分析面试指南!来自亚马逊、谷歌、微软、头条、美团的面试问题!
3、
机器学习模型方法总结
4、
历史最全机器学习/深度学习/人工智能专业术语表中英对照表
5、
机器学习如何应用于商业场景?三个真实的商业项目
6、
数据工作者的自我修养 | 哪些技能是必不可少的?
7、
《汗牛充栋:数据分析书籍分享》CDA网校新课上线
8、
文本挖掘常用的107个语料库
9、
一图读懂“东数西算”工程
10、
零基础转行数据分析,看这篇文章就够了
DA内容精选