为机器学习模型正确准备数据的 5 个步骤。
如何准备数据集以充分利用它?
Photo by Brett Sayles from Pexels
描述任何机器学习项目的最简单方式是,它是一个程序,当给定它以前从未见过的数据时,它将根据以前的经验处理它们,并且告诉你一些你还不知道的事情。
“数据是新的石油。”—**Clive Humb—**Starcount 首席数据科学家兼执行董事
数据是几乎所有商业决策的核心。人力资源总监们正在从网上资源中收集数据,以确定招聘的最佳人选,并确认他们的详细信息。营销部门正在利用市场细分数据寻找愿意购买的消费者,尽可能地加快成交过程。企业高管必须审视市场中更大的趋势,比如资源、航运或制造业的价格变化。
你的项目只和你带来的数据一样强大。
步骤 1:收集数据
数据的选择完全取决于你要解决的问题。选择正确的数据肯定是你的目标,幸运的是,你能想到的几乎每个主题都有几个免费的公共数据集。
我最喜欢的 3 个免费搜索数据集的网站是:
- Kaggle 就是这么组织的。你会喜欢他们的数据集有多详细,他们给你关于特征、数据类型、记录数量的信息。你也可以使用他们的内核,而不必下载数据集。
- Reddit 这对于请求您想要的数据集来说非常有用。
- 谷歌数据集搜索这还是测试版,但很神奇。
- UCI 机器学习库,它维护 468 个数据集,作为对机器学习社区的服务。
好的一面是,**数据是达到目的的手段,**换句话说,数据的数量很重要,但不如数据的质量重要。所以,如果你想成为独立的,创建你自己的数据集,从几百行开始,然后在你前进的过程中建立其余的。那也可以。有一个 python 库叫做美汤。这是一个从 HTML 和 XML 文件中提取数据的库。它与您喜欢的解析器一起工作,提供导航、搜索和修改解析树的惯用方式。它通常为程序员节省数小时或数天的工作。
步骤 2:处理缺失数据
这是最难的一步,也可能是耗时最长的一步,除非你幸运地拥有一个完整的数据集,但这种情况很少发生。以错误的方式处理丢失的数据会导致灾难。
一般来说,有许多解决方案,例如:
- 空值替换
- 众数/中值/平均值替换
- 删除整个记录
- 基于模型的插补—回归、k 近邻等
- 插值\外推
- 正向填充\反向填充—热甲板
- 多重插补
但你必须聪明。
例如,你在一家旅行社工作,你一直在收集关于旅行者的数据,出于某种原因,你的数据集中大约有 5%的人没有旅行者的国籍。用空值填充那些丢失的值是一个可怕的错误。因为一个人的国籍很大程度上影响着他们旅行时必须办理的旅行证件手续。在这种情况下,国籍是一个敏感的领域。你最好删除整个记录。
另一方面,年龄可以安全地用平均值代替。在这种情况下没那么敏感。
步骤 3:通过特征提取进一步获取数据
特征提取可以成为你的一个转折点。这是数据集的独特之处。通过在特征之间建立联系来获得洞察力是一件杰出的创造性的事情。
例如,你仍然在旅行社漫不经心地工作,他们要求你创建一个模型,使用聚类对你的客户进行优先排序。
数据集中有 3 个要素:
- 票务请求日期:个人请求其票务的日期。
- 出发日期:一个人想要旅行的日期。
- 退货日期:退货日期。
您知道您不能为您的模型提供非数字数据,但是,您仍然希望包含它们。
数据科学家在你可以观察到的一些洞见: 1) 停留时长:出发日与返回日之差。那是他们停留的时间。
2) 请求持续时间:到达日期与请求日期的差值。好的,很好。
使请求持续时间越来越远。3 名旅行者,每年分别申请 3 天、3 周&。显然,3 天的家伙是最紧迫的,所以他们是我们目前的首要任务。
然而,将这一概念(出发日期的接近程度)应用于其他两个可能是错误的。你上次提前一年订机票是什么时候?此人可能是每年随旅行社出差的常客。那也会让他成为优先考虑的对象。也许是时候送他们一些免费公里了。
第四步:决定哪些关键因素是重要的
现在,这个很棘手。本来这应该是模特的工作。你可以简单地转储你拥有的整个数据集,让人工智能变得聪明。人工智能能够决定哪些功能真正影响输出,哪些不会。不利的一面是,你给你的模型的数据越多,你就要花费金钱(计算机能力)和时间。两者并不总是可用的。因此,给你的程序一点帮助并不总是一个坏主意。如果你确定某个特性与输出完全无关,你应该完全忽略它。
步骤 5:将数据分成训练集和测试集
分割数据的著名规则是 80–20%的训练集和测试集。有时,测试集的那 20%应该以一种不仅仅是随机从数据集中删除的方式来设计。例如,你在旅行社工作,他们希望你开发一个程序来检测一个人今年是否会订票。
所以你继续收集旅行社成立以来所有旅行者的数据,处理你的数据。现在是分割数据集的时候了。您会有这样的感觉,您想要以一种跨越所有年份的方式来削减测试集。这真的很聪明吗?如果你想预测一个人是否会在 2019 年旅行,为什么要关心他(或类似的人)是否在 2008 年旅行?自那以后,发生了许多全球性的变化。也许他们来自的国家和你的国家有问题,也许在他的国家不太顺利。在这种情况下,一个聪明的做法是把测试集设计成只在最近几年。
你的训练集可能包含多年来的所有数据,原因越多越开心。**但是根据年份给权重是个明智的想法。**来自 2008 年的客户记录应该比来自 2018 年的记录具有更轻的权重。
在大多数情况下,设计测试集使其跨越许多年是一个很好的建议。但不是在所有情况下。
交叉验证是一个重要的程序,用于评估模型对新数据的技能。例如:K-fold,将训练集分成 K 个组。对于每个组,您将该组作为小型测试集,在其他组上训练和调整您的模型,并在该小型测试集上评估您的模型,保留评估分数并丢弃模型,然后继续下一组。
底线是,为了最大限度地利用您的数据,您必须从整体上更深入地研究 it &。不仅仅是运用你学到的技巧&策略,而是这些策略是否适合你的情况。
我从谷歌新的 ML-Powered Recorder 应用程序中学到的 5 件事
以及未来支持 ML 的应用应该是什么样子
app store 中有大量的录音应用,但是你知道如果谷歌开发出一个全新的应用,事情会有所不同。谷歌最近发布了一款新的“录音机”应用,该应用由最先进的机器学习算法驱动,可以以令人印象深刻的精度实时转录听到的内容。这不是谷歌第一次试图用一些人工智能“超级能力”来保佑其产品。他们之前的一些尝试失败了(我在跟你说话谷歌剪辑!)有些取得了巨大的成功,比如谷歌的 Pixel 手机摄像头应用。由于相机硬件规格略低于行业主流,谷歌的 Pixel 旗舰手机凭借其图像后处理的机器学习算法成功成为市场上最好的智能手机相机之一。“录音机”应用是谷歌利用人工智能增加竞争的又一次尝试,这次是在音频方面。
在深入研究应用程序可以做什么以及人工智能如何在其中发挥核心作用之后,我发现了一些关于谷歌如何处理应用程序、人工智能和用户体验的非常有趣的见解,这些见解可能会为人工智能时代的未来应用程序开发带来一些启示。
谷歌记录仪是什么?
你可以参考下面的 YouTube 视频短片,看看 Recorder 是做什么的。简而言之,你可以用它来做实时转录,通过关键字搜索录制的音频,自动生成标签或将音频分成不同的类别,如音乐,语音等。
我已经用了一个多星期了,发现它很有用,很光滑,用起来很愉快。录制音频并不是一项复杂的任务,但人工智能部分使它变得更加简单。我可以看到这个小应用程序为学生和定期参加会议的人带来了很大的变化。
#1 采用边缘优先的模型设计
Image from WishDesk
我们都听说过“移动优先设计”这个术语。当公司开发他们的应用程序时,他们将首先基于移动体验来设计和优化他们的应用程序,然后再到桌面或 web 等其他平台。我认为同样的想法也可以应用于人工智能驱动的应用程序设计,因此是“边缘优先设计”。
通常,基于机器学习的应用程序运行在云上,这是由于大多数最新 ML 模型的繁重计算需求。对于企业应用程序,这种方法很好,因为硬件几乎不是真正的问题。但如果一家公司想为消费者打造有影响力的基于人工智能的应用,那么基于云的系统通常不会满足它。从云中运行基于人工智能的应用程序不仅速度慢,而且存在严重的隐私问题。对于普通消费者来说,他们也习惯了现代移动应用程序提供的快捷性。如果你的应用无法达到他们习惯的高标准(多年来现代智能手机硬件/软件的发展推动了这种高标准),他们就不会在乎你的应用是否基于某些 SOTA 模式。因此,将人工智能放在“边缘”,例如用户的手机、平板电脑、智能家居设备,将是一种更好的成功方式。
Image from Lann
谷歌记录器应用程序在这方面做得很好。它使用了一种叫做“【RNN-T】的新型号,这种型号足够紧凑,可以放在手机上,同时又足够强大,可以进行实时转录。RNN-T 模型使用的不是传统的“流水线”方法,而是一种单一神经网络,端到端方法,这种方法在解决复杂问题时越来越受欢迎。直到最近,我们已经看到了许多通过使用越来越大的模型来提高预测性能的研究进展,然而相反的方向同样重要:使用尽可能紧凑的模型来实现类似的性能,以便模型可以被置于边缘。我预计,当机器学习在未来几年成熟时,这一领域会有更多的研究。
#2 使用不同的技术堆栈来提高性能
另一个有趣的发展是为 TensorFlow 引入了 Swift。由 Swift 编程语言的创造者克里斯·拉特纳创造。它通过 TensorFlow 使用开源的 Swift 语言,并承诺像 Python 一样的快速开发时间和像 C++一样的高级性能。 Fast.ai 上面有很棒的入门课程。随着 ML 越来越多地从研究实验室转向商业应用,ML 模型的性能将发挥更大的作用,而 Swift for TensorFlow 在这方面有着巨大的潜力。据 fast.ai 创始人杰瑞米·霍华德介绍:
[## 机器学习的新功能- WWDC 2019 -视频-苹果开发者
Core ML 3 已经得到了极大的扩展,可以在您的应用程序中实现更加惊人的设备上机器学习功能…
developer.apple.com](https://developer.apple.com/videos/play/wwdc2019/209/)
“Swift 可以与数字库供应商手动调整的汇编代码的性能相媲美。Swift for TensorFlow 是我所见过的第一次将可区分编程深入到一种广泛使用的语言的核心的认真努力,这种语言完全是为了性能而设计的"
#3 隐私问题
Photo by Matthew Henry on Unsplash
人工智能应用最大的担忧之一是隐私。要让人工智能真正展现价值,它必须了解用户的很多信息,通常是人们不愿意分享的个人生活细节。以音频录制为例,您可能希望录制讨论下一个圣诞节计划的家庭会议,但不希望它被传输到云上,让 10 家圣诞旅行社打电话给你推销他们的产品。这给了“离线”ML 应用一个优势。由于该模型部署在本地边缘,不需要将数据传输到云中,因此用户可以放心,他们的隐私可以得到保护。Recorder 应用程序在设备上运行所有模型,让人们不那么不愿意采用它。
#4 用户体验设计仍是关键
录音机应用程序有一个非常光滑优雅的用户界面。这是一个简单的应用程序,杂波最少。您可以轻松地开始/暂停录制,在“音频”或“文字记录”模式之间切换以检查您录制的内容,并从录制的内容中获取标签建议。所有的工作都没有摩擦。
在录制过程中,该应用程序会自动将音频分类为“语音”、“音乐”、“口哨声”等。并相应地对它们进行颜色编码。
当回放您录制的音频时,您可以看到每个单词在转录模式下被高亮显示,并且您可以使用您想要的关键字搜索转录。非常直观。
我想说的是:用户体验设计将成就或打破一个伟大的 AI 模型。只有当与应用程序的其他部分无缝合作时,人工智能功能才能向最终用户提供其价值。一个能够高性能解决用户痛点的模型只是一个开始,而不是结束。艾应该在幕后默默服务,而不是走上舞台中央。
#5 响应是有代价的
在移动世界中,公司努力提供更快的响应速度。现在的消费者非常不耐烦,他们最不希望的就是等待。爽快的体验意味着用户可以专注于他们想要的内容或手头的任务。但是在移动设备上实现响应并不容易。与桌面或云相比,计算能力、屏幕尺寸、系统资源都非常有限。为了实现最佳响应,需要在应用程序的设计和开发中投入更多的思考和研究。这包括更好地利用 CPU/GPU、内存优化、为实施选择快速编程语言以及减少对后端服务器的依赖。过去几年,机器学习行业在研究方面取得了很大进展,但要对人们的日常生活产生更多影响,还需要在工程方面进行更多投资和工作。从研究转向工程是新技术成熟的标志。
开发 AI 应用的正确方法?
Image from Overwatch
多年来,人们一直幻想可怕的人工智能会接管人类。电影,小说,电视节目都为人类描绘了一个非常戏剧性的人工智能未来。来反击这种大众(有偏见?)对 AI 的印象,需要特别谨慎。采取“人工智能作为帮助人类的工具而存在”的心态,而不是“人工智能对抗人类”的心态,是有益的。人工智能可以做很多事情,但与其开发可以“取代”人类的人工智能应用,不如让人工智能帮助人类更容易、更快地完成任务。比如帮助记笔记的 Recorder 应用程序,帮助医生更好地诊断的图像识别系统,帮助人们更好地在附近导航的增强现实应用程序等。
与科幻电影中的机器人杀人机器相比,一个安静、友好、强大的人工智能在幕后勤奋地工作,帮助人们做他们做得更好的任何事情,这对人们来说都更加舒适和平易近人。
觉得这篇文章有用?在 Medium 上关注我(李立伟)或者你可以在 Twitter @lymenlee 或者我的博客网站【wayofnumbers.com】T4 上找到我。你也可以看看我下面最受欢迎的文章!
为什么 CS50 特别适合巩固你的软件工程基础
towardsdatascience.com](/this-is-cs50-a-pleasant-way-to-kick-off-your-data-science-education-d6075a6e761a) [## 一枚硬币的两面:杰瑞米·霍华德的 fast.ai vs 吴恩达的 deeplearning.ai
如何不通过同时参加 fast.ai 和 deeplearning.ai 课程来“过度适应”你的人工智能学习
towardsdatascience.com](/two-sides-of-the-same-coin-fast-ai-vs-deeplearning-ai-b67e9ec32133) [## 你需要了解网飞的“朱庇特黑仔”:冰穴📖
是时候让 Jupyter 笔记本有个有价值的竞争对手了
towardsdatascience.com](/what-you-need-to-know-about-netflixs-jupyter-killer-polynote-dbe7106145f5)
您的数据策略中需要的 5 样东西
Photo by Franki Chamaki on Unsplash
如果您希望实现数据化、启动数据驱动的转型计划或利用数据发展您的组织,数据战略是您组织的基本必备要素。在这篇文章中,我将讨论构建成功的数据策略所需的一些核心组件。
人
在推动组织变得支持数据时,我们常常忽略了人。如果您的团队和更广泛的组织中没有合适的人,您将很难实现现有技术和工具的优势。你需要一个数据团队;由工程师、数据仓库开发人员、数据分析师和数据科学家组成的多技能团队。
但是你也需要数据团队之外的人来理解数据;它意味着什么,它如何增加价值并促进数据驱动的决策。我们经常称之为数据素养。任何加入该组织的人都应该具备一定的数据素养。您不应忽视现有员工,并帮助他们培养数据素养。
技术
这个我就不多说了。有大量的工具和技术,每一种都适合不同的组织和他们的需求。你需要投资技术和正确的技术。不要只考虑你目前的需求,想想你在 5 年或 10 年后需要什么。到那时,您的数据堆栈还适用吗?你最不想做的事情就是制作另一份预算提案,因为你的技术无法应对业务需求的变化。
未来
数据战略应该是一个活的文档,它需要根据组织的业务战略而变化。但是,预测或预报你认为你的组织对数据的使用可能会如何变化是有益的。数据策略支持业务策略,但是,它也会影响业务策略。
此外,想想你还需要什么。如果您的数据策略以交付数据仓库和商业智能功能为中心,在某些时候您将需要数据分析师和分析工具。之后,你将需要数据科学家和机器学习技术。这一切都是为了分享您对数据将如何创造价值的愿景。以及你需要什么来促进价值创造。
文化
人们需要以不同的方式思考数据,才能实现数据化。从向系统输入数据的人,到设计系统的软件开发人员,再到将数据作为信息使用的管理者。
我们经常使用数据治理来涵盖这一点,但是,人们更多地关注流程和程序,而不是教育人们为什么数据质量很重要。我们对数据治理的刻板印象是枯燥且由 IT 团队驱动。您可以通过在您的数据文化中包装这一点来增加采用的可能性。
数据科学、人工智能或机器学习
数据科学、人工智能和人工智能都提供了可观的投资回报。对于其他数据领域,这样做可能要困难得多。一旦你有了基本的东西,你就可以证明数据是一个收入来源,而不是一个成本中心。重要的是,你不能直接跳到这一点上,或者忽略你策略的其他组成部分,不管它有多诱人。没有这些,你的数据科学、AI 或者 ML 项目都会失败。
一个数据策略应该是你的组织所独有的——但是我相信这 5 个核心要素是成功的策略和实施的关键。
进入数据科学领域之前你应该知道的 5 件事
数据科学家日常生活的幕后
数据科学家的工作越来越性感——安德鲁·弗劳尔斯
随着数据的快速发展,越来越多的公司希望深入了解他们的客户或竞争对手。根据 Indeed 一月份的报告,自 2013 年以来,对数据科学家的需求逐年增长 29% ,增长 344% 。
公司一直在寻找能够解决业务问题的数据科学家。这些任务可以是节省运营成本,从数据中挖掘有价值的见解,改善客户使用应用程序或网站时的体验等。
由于数据科学家的工作越来越受欢迎,你是否希望进入数据科学领域?在你考虑转行或进入数据科学领域之前,我希望你能读完这篇文章。因此,你会知道你是否喜欢或适合你。
1.独立
你需要独立。这并不是说你不能向你的同事寻求帮助,但是大多数时候,你需要自己解决。你将整天面对各种各样的问题。
例如,你写了一个程序,它运行了很长时间。但是,程序突然停止运行。或者也许你当前的生产机器学习模型突然表现不佳。你需要找出原因并自己解决。
此外,当你阅读学术论文时,你不理解作者试图告诉你的概念,或者难以用代码实现作者的想法。你仍然可以选择咨询你的同事,但他们可能没有那么多时间向你解释。他们可以提供一些样品供参考,但是你还是要自己解决。
2.享受编码
这一点非常重要。也许你可以写代码,但是你不希望整天对着屏幕写代码。那么,数据科学可能不太适合你。你将花大部分时间盯着代码,要么是修复 bug,要么是编码。
比方说,你目前正在从事一项商业智能。你的日常工作是满足业务需求或要求。您有多种业务和技术需求。这里的技术要求意味着你必须编写代码来完成任务。因此,如果你发现当你对技术任务感到厌烦时,你总是把你的任务切换到商业任务,你应该三思而后行。
如果你想在编码中享受更多,开始一些你觉得非常有趣的项目。确保你需要保持动力来完成这个项目。一个程序无非就是一个工具,不要为了学习而学习,学习它是为了创造价值。
3.挑战性环境
技术是不断变化的。将会有新的机器学习模型频繁发布,或者出现新的编程语言。为了跟上技术的发展,你需要不断学习。
而且数据科学系大家都很有天赋。他们至少有一项非常强的技能,可能是可视化、建模、网络爬行、通信、软件工程、调试等。因此,准备适应紧张而又令人兴奋的环境。
挑战同时也很有趣。你将能够在短时间内学到很多东西。如果你是一个拥抱挑战的人,你会在数据科学系找到很多乐趣。
4.需要更长时间才能看到结果
你不能指望每天都能找到极大的满足感。成为一名数据科学家很像成为一名研究科学家。总是尝试不同的方法,看看哪些方法有效。
你将花一整天的时间浏览和理解你的数据。然后,您将能够获得模型良好运行的重要特征。之后,您可以尝试不同的方法或模型来提高模型的性能。它可能看起来只是由几个步骤组成,但这实际上需要相当长的时间。
耐心并坚持工作将是你工作取得成果的关键。
5.用通俗的语言解释复杂的概念
无论你在从事什么工作,沟通都是一项基本技能。在开始项目之前,您需要与产品团队、运营团队等沟通,就项目细节达成一致。
在关于服务应该是什么样子的来回讨论之后,假设您已经用您的复杂模型实现了结果。现在,你必须用高层次的术语来解释,这样他们才会对你的服务有一些想法或信心。
此外,当数据预测错误时,您将需要以非常高级的方式进行解释。例如,您正在与产品团队合作,训练一个模型,该模型能够将列表的评论分类为良好、中立或糟糕的评论。
一天,一个产品团队成员问为什么要做这样的评论:“你能告诉我这个包的质量好吗?”被归类为正面新闻?这篇评论应该被归类为中立。一个可能的解释是,模型将“好”这个词视为一个积极的特征。
最后的想法
希望你在考虑是否转行到数据科学领域的时候会觉得有用。
尽管根据《哈佛商业评论》的报道,数据科学家是 21 世纪最性感的工作,但在你考虑转行从事数据科学之前,请慎重考虑。
如果你热爱你的工作,如果你喜欢它,你已经是一个成功的人了。杰克·坎菲尔德
感谢您阅读到最后,并在下面评论您有兴趣讨论的话题!下周请继续关注我的帖子!
如果你对获得伟大的代理感兴趣,请随时查看这项服务!
关于作者
低伟鸿是 Shopee 的数据科学家。他的经验更多地涉及抓取网站,创建数据管道,以及实施机器学习模型来解决业务问题。
他提供爬行服务,可以为你提供你需要的准确和干净的数据。你可以访问这个网站查看他的作品集,也可以联系他获取抓取服务。
2020 年获得第一份数据科学工作的 5 个技巧
Source: Merry Christmas and Happy New Year
或者说,如何获得第一份数据科学工作?
我的许多追随者问我——在数据科学领域找到一份工作有多难?或者说他们应该学什么?或者他们应该走什么道路?
现在,答案并不是每个人都喜欢的——进入数据科学相当困难,你必须努力工作。
我的意思是你要投入时间学习数据科学,了解 算法 ,随着市场的进步提升自己的技能,跟踪旧的常规技能,当然,在此期间还要找工作,准备 面试 。
您还必须了解业务问题,并培养将业务问题作为数据科学问题的敏锐度。记住,没有固定的算法。
这对一些人来说很费力,但对另一些人来说几乎不可能。
告诉你关于我自己,如果我不学习新的东西,我会很快厌倦。我喜欢数据科学,因为它给了我机会。
所以首先我想问你是那样的吗?
如果你是,而且你几乎每天都对解决新问题感兴趣,那么你会喜欢将数据科学作为你职业生涯的一个领域。
这里有一些给你们勇敢者的建议。
1.从小处着手
Small Robo Steps
朝着正确的方向迈出许多小步,总比大步向前却跌跌撞撞地后退要好——中国有句古老的谚语
现在,就开始数据科学的职业生涯而言,上述情况非常符合。如果你来自不同的领域(不要读计算机科学、统计学),或者如果你想横向转换,就更是如此。
我建议不要把目标对准亚马逊、谷歌等大公司。 这不是劝阻你;它更符合实际的想法。我观察了他们的面试过程,我可以向你保证,没有一些经验就能得到这些工作,即使不是不可能,也是非常罕见的。
但是,让我也告诉你,我们并不缺少机会。如果你了解自己的东西,你可以很容易地进入一家新公司。我就是这样开始的。
2.不断学习
我的目标是在 2013 年左右进入数据科学领域。从那以后,我经历了很多失败,付出了很多努力才换了工作。如果你感兴趣,这是我的故事。
在大学里,我花了很多时间玩游戏。从 2013 年起,我利用一切可能的时间学习新技术和数据科学。
除非你去做,否则什么都不会起作用——玛娅·安杰洛
这是我学习数据科学的方式,任何有抱负的人都可以选择成为一名自学成才的数据科学家。
自学、MOOCs 和努力
towardsdatascience.com](/how-did-i-learn-data-science-d5f7fc477997)
我希望你看到长长的名单后不要失去希望。我已经告诉过你这不容易。
你必须从一两门课程开始。其余的将随着时间的推移。只要记住时间是你能负担得起的奢侈品。
3.创建您的投资组合
A decorated veteran?
掌握理论是极好的,但是如果你不会写代码,你真的不能增加作为数据科学家的价值。
所以要努力创造东西。尝试新的玩具项目。去 kaggle 找灵感。参与论坛。但是不要止步于此。
创造性地思考。建立您的 GitHub 档案。尝试解决不同的问题。
例如,在开始阶段,我使用 d3.js 创建了一个简单的图形可视化来发现 DataScience Subreddit 中有趣的帖子,并使用 Flask 和 Heroku 部署了。除了解决通常的数据科学问题,我还创建了一个 21 点模拟器。我还使用 MCMC 实现了一个代码破解解决方案。
我也参加了各种各样的比赛,虽然我没有什么好成绩,但是我最终学到了很多。
4.博客?
这是源于我个人的偏见。
当你写博客时,你最终创造了高质量的内容供他人学习,记录你的学习,通过解释更好地理解概念,也许会获得一些额外的认可。你还想要什么?
老实说,我喜欢写作,这不是成为数据科学家的纯粹要求,但它有很大帮助。我注意到,当我解释数据科学概念时,我理解得更好了。博客是一个完美的工具。
此外,数据科学非常庞大,我很容易忘记以前学过的东西。博客也解决了这个问题。那是在 2013 年,我开始了我的博客,并试图用我所学到的任何东西更新它。因此,我最终记录了一切。每当我遇到问题时,我仍然会查阅我的博客。
我觉得写博客也有助于我的沟通技巧,因为它迫使我用简单的语言解释困难的概念。
反正如果你不喜欢写博客,做笔记也能达到类似的效果。
如我所说,写博客是个人喜好。如果你感兴趣,想知道我是如何开始在 medium 上写作的,这是我的故事。
以及我是如何获得大量浏览量的?
towardsdatascience.com](/my-technical-blogging-journey-on-medium-till-now-38aa9b9804b6)
5.不要太挑剔
The paths will eventually converge
你收到了一家分析公司的邀请,你在想,如果加入这家公司,你是不是就要告别数据科学了。
这是一个相当好的处境。虽然找一份数据科学的工作相对来说比较难,但在分析公司找一份业务分析师或数据分析师的工作可能更容易。
我建议从事任何与分析、报告或数据相关的工作。当数据科学的机会出现时,我以与我开始从事分析工作相同的方式开始并转换了轨道。
靠近数据本身会不可避免地给你带来这样的机会。把你的第一份工作当作敲门砖。
一旦你得到这样一份工作,你将有两种选择:
- 通过建立良好的关系和表现出兴趣,在同一家公司的数据科学团队中进行内部转变,或者
- 业余时间继续学习,不断给面试。
假以时日,你会成功的。我祝你好运。
谢谢你的阅读。将来我也会写更多初学者友好的帖子。在 媒体 关注我或者订阅我的 博客 了解他们。一如既往,我欢迎反馈和建设性的批评,可以通过 Twitter @mlwhiz 联系。
2020 年企业人工智能发展的 5 大趋势
近年来,人工智能和机器学习的迅速崛起在很大程度上可以归因于这些技术的巨大商业潜力。谷歌、IBM、亚马逊、脸书和其他科技巨头引领创新,而企业则在新工具、分析和研究方面投入巨资。
这种支出对人工智能发展的趋势有着深远的影响,在许多方面塑造和引导着创新的进程。以下是预计将在 2020 年大放异彩的五大趋势。
1.深度学习,小数据
新的商业人工智能和人工智能项目的主要障碍之一是用于训练模型的高质量数据的数量。一定要大,越大越好。问题是,除非你的公司是谷歌、脸书或亚马逊之类的公司,否则在这方面你通常运气不好。这就是为什么获取、生成或解决机器和深度学习所需的大量数据点的问题预计将成为 2020 年企业人工智能发展的前沿。
与此同时,IBM 和其他人工智能领导者正在寻求从根本上彻底改变机器学习的工作方式。最终目标是创建需要较少数据进行训练的可行模型。在商业环境中,这是一个提高生产率和速度的问题,机器学习在更多的用例中变得更加负担得起和可行。Iflexion 的人工智能开发人员与其他行业专家一起预测,在不久的将来,小型数据集将取代大型数据集,推动商业人工智能的发展。
小数据集上的训练模型也将使人工智能更接近与人类认知能力相当的计算机感知水平。一般来说,在最少的接触后,匹配并超越人类对事物和想法进行概念化和分类的能力是机器学习的基石之一,也是人工智能尚未掌握的。
2.机器人,你会推理吗?
当提供足够的数据时,人工智能技术在其当前状态下确实执行任务的感知和分类类型。然而,当涉及到下一个认知前沿——推理——时,这一进展仍有待实现。
推理与解决需要常识的问题紧密相连。推理也意味着即兴创作和适应微小的变化,“凭直觉”快速感知事物,并不断进化。由于人工智能系统目前的训练方式(见上文),直觉推理对它们来说尤其困难。然而,业务对这种能力的需求(尤其是在提供服务和技术支持时)只会不断增长。
解决人工智能推理的问题是一项多方向的任务,包括提供常识知识、情景(基于案例的)优化和规划能力。这是商业人工智能令人垂涎的成就,可以产生巨大的影响:从人工智能客户服务和物流自动化到内部运营和预测。
3.仍然是数据科学家的黄金时代
现在,人工智能和人工智能的商业潜力在于吸引人的工具,能够通过自动化和策略以数学方式重新评估和解决现有的商业问题。这创造了“数据科学家的黄金时代”,商业领域,尤其是营销、销售、金融服务和医疗保健领域,非常需要有技能、有经验的专业人员。随着人工智能的广泛传播,以及由于竞争和客户需求的增加,越来越多的流程被自动化,这种需求预计只会增长。
与此同时,目前缺乏有经验的数据科学家也是大规模人工智能企业集成道路上需要克服的主要问题之一。去年,O’Reilly 将人工智能技能差距称为大规模企业人工智能的头号障碍,并指出这个问题在不久的将来只会变得更加紧迫。
4.盒子里有什么?!
黑盒机器学习的问题在于算法本身的复杂和晦涩。对于深度学习,通常无法解释数据是如何以及为什么被使用和评估的(因此出现了“黑箱”)。这引发了对可解释人工智能的需求,这是新的企业人工智能系统的另一个预期趋势。
人工智能透明度是一种自然趋势,同时也是一种要求,至少在某些地区是如此。数据安全法律的兴起在企业如何看待和操作数据方面发挥了重要作用。GDPR 和其他相对较新的数据隐私、安全和管理法规是政府对企业收集和使用客户数据的大规模增长的回应。
合规性法规和其他立法行为通过加强安全性、道德、可解释性和可解释性来重塑企业 AI 发展的未来。他们需要新的方法来处理(消除)匿名和释放数据。这反过来又使得用于商业目的的“白盒”机器学习的出现成为必要。
5.伦理人工智能、偏见和多样性
关于人工智能在生活各个领域的快速整合,一个主要问题是它可能存在偏见。当谈到人工智能在银行、刑事司法、医疗保健和招聘中用于“人类评估”时,道德问题尤其普遍。
前面提到的无法访问和评估黑盒 ML 模型算法的确切过程使问题进一步复杂化。
人工智能偏差可能有多种原因,例如:
●源数据缺失或不完整
●“继承”自遗留系统的偏见
●历史数据缺乏多样性或先例
由于这个问题是目前的焦点,人工智能开发人员的许多努力和注意力将被导向检测和减轻数据偏差。希望这将导致透明的方式来确保人工智能系统的公平性和多样性。
企业人工智能的现在和未来
一些公司仍然认为人工智能和大数据要么太吓人,要么太花哨,这就是为什么没有多少公司尝试过聊天机器人助手之外的任何东西。然而,这种情况正在改变。
随着运营的进一步自动化,2020 年不可否认的优先事项将是解决经验丰富的人工智能专业人员(作为企业人工智能战略的监督者和推动者)相对缺乏的问题,以及管理数据质量和所有权的问题。在商业中有效地大规模采用人工智能的道路上,算法偏差和不透明的问题也需要得到解决。
5 种偏见&如何在你的机器学习项目中消除它们
现实世界中的数据科学
样本,排除,观察者,偏见,测量偏差。每一个的介绍和例子!
Photo by rawpixel.com from Pexels
以下是发生在现实生活中的关于有偏见的机器学习程序的毁灭性事实。可以肯定地说,以下是种族主义仍然存在的原因的一个例子。我想以此开始,向你展示在你的人工智能程序中修正任何偏见是多么重要。
康巴丝
由一家名为 Equivant(前身为 Northpointe)的私人公司开发。 Compas 是一种预测被告犯罪可能性的机器学习算法,已经证明它对谁更有可能再次犯罪做出了有偏见的预测。来自 ProPublica 的研究发现,该工具错误地将黑人被告称为重新犯罪高风险的可能性是 2 倍,错误地预测白人被告重新犯罪低风险的可能性也是 2 倍。
在这里 找到 ProPublica 的完整分析。
美国超过 12 个州的法官使用 Compas,它被用作许多事情的工具,如确定监狱中的人是否应该在审判前保释,对囚犯的监督类型,以及对人们刑期的影响。
这种算法的后果非常真实。
Photo by rawpixel.com from Pexels
当然,我们不能说这是故意的。建造 Compas 的工程师不太可能在系统中加入偏见,而更有可能的是 Compas 是在一个没有暴露于包括肤色在内的不同面部的数据集上训练的。
假设并应用其创造者或其数据的偏见的编程是有偏见的编程。更危险的是,人们发现很多这种“偏见”是无意识的,因为你不一定知道当你制作算法时,它会产生不正确的结果。许多算法也是一个黑盒,你只是使用现成的,这意味着如果你不直接开发算法,你不知道里面有什么,你肯定无法评估它们是否无偏。
史前古器物
工件是由数据收集过程中的缺陷引起的人为模式。
数据分析尽量区分事实和工件。
5 种常见的偏见
单样本偏差
当收集的数据不能准确代表程序预期运行的环境时发生。
没有一种算法可以在整个数据宇宙上训练,而不是在一个精心选择的子集上训练。
选择这个足够大和足够有代表性的子集来减轻样本偏差是有科学依据的。
示例:安全摄像机如果您的目标是创建一个可以在白天和夜间操作安全摄像机的模型,但只对夜间数据进行训练。你在模型中引入了样本偏差。
样本偏差可以通过 减少或消除
- 在白天和晚上训练你的模型。
- 涵盖了所有你期望你的模型会遇到的情况。这可以通过检查每个特性的域来完成,并确保我们拥有覆盖所有特性的平衡均匀分布的数据。否则,您将面临错误的结果,并且会产生没有意义的输出。
2-排除偏差
通常在清理数据的保护伞下,从我们的数据集中排除一些特征而发生。 我们删除了一些特征,认为它们与我们基于已有信念的标签/输出无关。
举例:泰坦尼克号生存预测 在著名的泰坦尼克号问题中我们预测谁幸存了谁没了。人们可能会忽略旅行者的乘客 id,因为他们可能认为这与他们是否幸存完全无关。他们不知道泰坦尼克号上的乘客是根据他们的身份证被分配房间的。身份证号码越小,他们被分配的房间离救生艇越近,这使得那些人能够比那些在泰坦尼克号中心深处的人更快地到达救生艇。因此,随着 id 的增加,存活率降低。
id 影响标签的假设并不是基于实际的数据集,我只是公式化的举个例子。
排除偏倚可以通过 来减少或消除
- 通过对特征进行充分的分析,在丢弃特征之前进行调查。
- 请一位同事调查你正在考虑放弃的特征,一双全新的眼睛肯定会有所帮助。
- 如果时间/资源不足,需要通过丢弃要素来缩减数据集的大小。在删除任何内容之前,请确保搜索该功能与您的标签之间的关系。最有可能的是,你会找到相似的解决方案,调查它们是否考虑了相似的特性,然后做出决定。
- 比这更好,因为人类容易受到偏见的影响。有工具可以帮助。看看这篇文章(通过一个随机森林的例子解释特征重要性),包含了计算特征重要性的各种方法。包含不需要大量计算资源的方法的方法。
3-观察者偏差(又名实验者偏差)
**倾向于看到我们期望看到的,或者我们想看到的。**研究者在研究某个群体时,通常是带着对被研究群体的先验知识和主观感受来进行实验的。换句话说,他们带着有意识或无意识的偏见来到谈判桌前。
举例:智力受地位影响吗?——伯特事件 观察者偏见的一个著名例子是心理学家西里尔·伯特的工作,他以研究智商的遗传性而闻名。他认为,与社会经济地位较高的儿童相比,社会经济地位较低的家庭的儿童(即工人阶级的儿童)也更有可能智力较低。他所谓的科学的智力测试方法是革命性的,据说证明了工人阶级的孩子普遍不太聪明。这导致了 20 世纪 60 年代英国双重教育体系的产生,中产阶级和上层阶级的孩子被送到精英学校,而工人阶级的孩子被送到不太理想的学校。当然,伯特的研究后来被揭穿,结论是他伪造了数据。现在人们公认智力是遗传的而不是遗传的。
观察者偏差可以通过 来减少或消除
- 确保观察者(进行实验的人)训练有素。
- 筛选潜在偏见的观察者。
- 有明确的实验规则和程序。
- 确保行为被清楚地定义。
Source: Pixabay
4-偏见
文化影响或刻板印象的结果。当我们在现实中不喜欢的东西,如根据外表判断,社会阶级,地位,性别等等,在我们的机器学习模型中不固定时。当这个模型应用现实生活中由于偏见数据而存在的相同的刻板印象时,它就被灌输了。
举例:检测工作中的人的计算机视觉程序如果你的目标是检测工作中的人。你的模型已经输入了成千上万的训练数据,男人在编码,女人在做饭。算法很可能学习到编码员是男的,女的是厨师。这是错误的,因为女人可以编码,男人可以做饭。
这里的问题是,数据有意无意地反映了刻板印象。
偏见偏见可以通过 来减少或消除
- 忽略了性别和职业之间的统计关系。
- 将算法暴露给更公平的样本分布。
5-测量偏差
当用于观察或测量的设备出现问题时,会发生系统值失真**。这种偏差往往会使数据向某一特定方向倾斜。**
示例:用增加亮度的相机拍摄图像数据。 这个乱七八糟的测量工具没能复制出模型将要运行的环境,换句话说,它把它的训练数据搞得乱七八糟,以至于它不再代表它启动时将要处理的真实数据。
这种偏差不是简单的通过收集更多的数据就能避免的。
测量偏差可以通过 减少或消除
- 具有多个测量装置。
- 雇佣受过训练的人来比较这些设备的输出。
在产品开发周期中增加偏差测试
1- FairML
预测建模偏差诊断工具箱。它审核它们并确定输入的重要性
查看更多
2-石灰
这里的是一个很棒的介绍
扰乱输入,看看预测如何变化。这在解释能力方面证明是有益的,因为我们可以通过改变对人类有意义的组件(例如,单词或图像的一部分)来干扰输入,即使模型使用更复杂的组件作为特征(例如,单词嵌入)。
寻找黑客马拉松的 5 个有用渠道
帮助你找到黑客马拉松的快速指南
在我开始分享我的黑客马拉松经历后,我收到了很多来自我的同伴的关于如何找到黑客马拉松的问题。他们想知道我怎么能参加这么多黑客马拉松。在这篇文章中,我将列出一些我搜索黑客马拉松的常见站点。
Photo by cyda
如果你是黑客马拉松的新手,请随意查看我的黑客马拉松系列,先了解更多关于黑客马拉松的信息。
学生应该加入黑客马拉松的 5 个理由
medium.com](https://medium.com/series/welcome-to-the-world-of-hackathon-81d194abbec4)
1。eventbrite
许多组织在 eventbrite 上发布他们的活动,因为它有一个开发良好的内置售票系统。你可以在这个网站上找到包括黑客马拉松在内的许多活动。你也可以根据地点和日期进行搜索。这是一个非常方便用户的网站。一旦您创建了您的帐户,系统将存储基本信息,这将有助于您在将来完成注册表的一些空白。如果某项活动的名额有限,此功能可以为您节省一些时间来获得该活动的座位。
【https://www.eventbrite.com/ 号
2。HACKATHON.COM
这个站点,通过查看域名,你可以知道这是一个特定的站点,供你搜索 hackathon。hackathon 类似于 eventbrite,但它不要求组织者在其网站上发布活动信息,相反,后端管理员将从互联网上抓取数据,并在网站上以有组织的方式显示所有黑客马拉松活动信息。同样,这个网站允许你按城市搜索黑客马拉松。在每个显示的黑客马拉松中,该网站都包括一个到官方活动页面的直接链接,供您注册该活动。
https://www.hackathon.com/
3。广场化
这是一个在我的同学中非常受欢迎的搜索商业案例比赛的网站。除了案例竞赛,这个网站上还有一个特殊的类别是“在线黑客马拉松”。agorize 会不时与不同的公司合作举办黑客马拉松。所有的说明和问题陈述都将发布在 agorize 上,感兴趣的参与者需要组队并通过 agorize 提交他们的解决方案。除了合作伙伴的黑客马拉松,一些公司会把 agorize 作为发布黑客马拉松信息的分销渠道。因此,你也可以在网站上看到离线的黑客马拉松。如果你不确定线上和线下黑客马拉松的区别,请随意查看我的另一篇关于主要类型的黑客马拉松的文章。
https://www.agorize.com/en/online-hackathons
4。社交媒体网站:facebook / Twitter / LinkedIn
除了上述网站,黑客马拉松组织者还将通过社交媒体网站推广活动。类似于举办营销活动,组织者不希望他们的活动参与率低,所以他们也会设计许多推广材料发布在社交媒体网站上。如果你不想错过任何黑客马拉松的新闻,你可以关注#黑客马拉松或者加入一些为黑客马拉松爱好者设立的团体。
5。学校邮箱
这个频道只对那些还是学生的人开放。通常,在学校里,有一个单位负责课外活动。他们定期给学生发电子邮件,告知即将到来的内部和外部活动。这些活动通常针对学生参与者。如果你是一名学生,想体验一下什么是黑客马拉松,电子邮件列表上的那些黑客马拉松可能是你的一个很好的起点。由于所有的参赛者都是学生,与公共黑客马拉松相比,所选主题或问题的难度可能更适合学生。
提到的渠道是我搜索黑客马拉松的一些常用方法,我知道可能还有更多。如果你知道一些其他有用的网站来寻找黑客马拉松,请在下面随意评论。
如果你想了解更多关于黑客马拉松的信息,请继续关注我的黑客马拉松系列
如果你觉得我的文章有用,请在我的 linkedIn 页面上为我的技能背书,鼓励我写更多的文章。
科学家需要知道的 5 个有用的统计数据
想获得灵感?快来加入我的 超级行情快讯 。😎
数据科学实际上可以定义为我们从数据中获取额外信息的过程。在做数据科学时,我们真正想做的是解释所有数据在真实世界中的实际意义而不是数字。
为了提取复杂数据集中的信息,数据科学家采用了许多工具和技术,包括数据探索、可视化和建模。在数据探索中经常使用的一类非常重要的数学技术是统计学。
从实际意义上来说,统计学允许我们对数据进行具体的数学概括。我们可以用统计学来描述它的一些属性,而不是试图描述每一个数据点。这通常足以让我们提取一些关于数据结构和组成的信息。
有时候,当人们听到“统计”这个词时,他们会想到一些过于复杂的东西。是的,这可能有点抽象,但是我们并不总是需要求助于复杂的理论来从统计技术中获得某种价值。
统计学中最基本的部分通常在数据科学中最有实际用途。
今天,我们将看看数据科学的 5 个有用的统计数据。这些将不会是疯狂的抽象概念,而是简单的,适用的技术,走了很长的路。
我们开始吧!
(1)集中趋势
数据集或特征变量的中心趋势是集合的中心或典型值。这个想法是,可能有一个单一的值可以最好地描述(在一定程度上)我们的数据集。
例如,假设您有一个以(100,100)的 x-y 位置为中心的正态分布。则点(100,100)是中心趋势,因为在所有可供选择的点中,它是提供数据的最佳汇总的点。
对于数据科学,我们可以使用集中趋势度量来快速简单地了解我们的数据集作为一个整体的样子。我们数据的“中心”可能是一条非常有价值的信息,它告诉我们数据集到底有多偏向*,因为数据围绕的任何值本质上都是一种偏向。*
有两种常用的方法来数学选择一个中心趋势。
平均
数据集的平均值是平均值*,即整个数据围绕其展开的数字。定义平均值时,计算平均值时使用的所有值的权重相等。*
例如,让我们计算以下 5 个数字的平均值:
(3 + 64 + 187 + 12 + 52) / 5 = 63.6
平均值对于计算实际的数学平均值非常有用。使用像 Numpy 这样的 Python 库进行计算也非常快
中位数
中位数是数据集的中间值,即如果我们从最小到最大(或从最大到最小)对数据进行排序,然后取集合中间的值:这就是中位数。
让我们再次计算同一组 5 个数字的中值:
[3,12, 52 ,64,187] → 52
中值与平均值 63.6 大相径庭。这两个都没有对错,但是我们可以根据自己的情况和目标选择一个。
计算中位数需要对数据进行排序,如果数据集很大,这是不切实际的。
另一方面,对于异常值,中值将比平均值更加稳健,因为如果存在一些非常高的异常值,平均值将会被拉向某个方向。
平均值和中值可以用简单的 numpy 一行程序计算:
*numpy.mean(array)
numpy.median(array)*
(2)传播
在统计学的保护伞下,数据的分布是数据被压缩到一个单一值或更大范围的程度。
看看下面的高斯概率分布图,假设这些是描述真实数据集的概率分布
蓝色曲线具有最小的扩散值,因为它的大多数数据点都落在一个相当窄的范围内。红色曲线具有最大的扩散值,因为大多数数据点占据了更宽的范围。
图例显示了这些曲线的标准偏差值,将在下一节中解释。
标准偏差
标准差是量化数据分布的最常见方式。计算它包括 5 个步骤:
1.求平均值。
2.对于每个数据点,求其到平均值的距离的平方。
3.对步骤 2 中的值求和。
4.除以数据点的数量。
5.求平方根。
Made with https://www.mathcha.io/editor
较大的值意味着我们的数据更加“分散”于平均值。较小的值意味着我们的数据更集中在平均值附近。
轻松计算 Numpy 中的标准差,如下所示:
*numpy.std(array)*
(3)百分位数
我们可以使用百分位进一步描述整个范围内每个数据点的位置*。*
百分位描述了数据点在数值范围中的准确位置,即它的位置是高还是低。
更正式地说,第 pth 百分位是数据集中可以分成两部分的值。下部包含数据的百分比,即 pth 百分位数。
例如,考虑下面的 11 个数字:
*1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21*
数字 15 是第 70 个百分位数,因为当我们在数字 15 处将数据集分成两部分时,剩余数据的 70%小于 15。
百分位数结合平均值和标准偏差可以让我们很好地了解特定点在数据分布/范围内的位置。如果它是一个异常值,那么它的百分位将接近末端——小于 5%或大于 95%。另一方面,如果百分位数被计算为接近 50,那么我们知道它接近我们的中心趋势。
数组的第 50 个百分位数可以用 Numpy 来计算,如下所示:
*numpy.percentile(array, 50)*
(4)偏斜度
数据的偏斜度衡量其不对称性。
偏斜度的正值意味着值集中在数据点中心的左侧;负偏度意味着值集中在数据点中心的右侧。
下图提供了一个很好的例子。
我们可以用下面的等式计算偏斜度:
Made with https://www.mathcha.io/editor
偏斜度将让我们了解我们的数据分布有多接近高斯分布。偏斜度越大,我们的数据集离高斯分布越远。
这很重要,因为如果我们对数据的分布有一个粗略的想法,我们就可以为特定的分布定制我们要训练的任何 ML 模型。此外,并不是所有的最大似然建模技术对非高斯数据都有效。
再一次,在我们开始建模之前,stats 给了我们深刻的信息!
下面是我们如何计算 Scipy 代码中的偏斜度:
*scipy.stats.skew(array)*
(5)协方差和相关性
协方差
两个特征变量的协方差衡量它们的“相关”程度。如果两个变量有正的协方差,那么当一个变量增加时,另一个也增加;对于负协方差,特征变量的值将在相反的方向上变化。
相互关系
相关性是简单的标准化(缩放)协方差,其中我们除以被分析的两个变量的标准偏差的乘积。这有效地迫使相关性的范围总是在-1.0 和 1.0 之间。
如果两个特征变量的相关性为 1.0,则变量具有完美的正相关性。这意味着,如果一个变量发生一定的变化,第二个变量也会按比例向相同的方向移动。
Illustration of PCA used for Dimensionality Reduction
小于 1 的正相关系数表示不完全正相关,相关强度随着数字接近 1 而增加。同样的想法适用于负的相关值,只是特征变量的值以相反的方向变化,而不是以相同的方向变化。
了解相关性对于像用于降维的主成分分析 (PCA)这样的技术非常有用。我们从计算相关矩阵开始——如果有两个或更多高度相关的变量,那么它们在解释我们的数据时实际上是多余的,其中一些可以被删除以降低复杂性。
喜欢学习?
在推特上关注我,我会在那里发布所有最新最棒的人工智能、技术和科学!也在 LinkedIn 上和我联系吧!
人工智能和聊天机器人改变教育的 5 种方式
人工智能(AI)和聊天机器人正在以我们想象不到的更多方式改变世界。完成多样化的任务,人工智能和聊天机器人已经成为我们日常生活中的一个正常元素。该技术在包括教育和在线辅导在内的各种领域的发展中发挥了重要作用。
通过人工智能,教育工作者和教育机构已经能够为学生提供个性化的学习环境。人工智能驱动的工具不仅改善了学生的互动和协作,还在创新的教育技术世界中扮演了游戏改变者的角色。以下是人工智能和聊天机器人影响和改变教育的 5 种方式。
个性化学习
人工智能有助于根据每个学习者的兴趣优化学习的速度和教学方法。适应个人的学习速度,人工智能不断解决更复杂的任务,以加快学习过程。因此,两种学生/学习者——慢的和快的,都可以按照自己的节奏继续学习。
通过 AI,学生还可以在课堂外获得个性化的在线辅导。在任务开始时,当学生需要加强技能或掌握思想时,AI 会通过为学生提供获得成功所需的额外工具来拯救他们。
自动评分&绩效考核
有了人工智能,老师们在评分方面就有了他们需要的所有帮助。事实上,有了这项技术,分级员的角色就被传递了。目前的人工智能技术能够对多选题进行自动评分。然而,随着人工智能的进一步发展,预计该技术将能够比标准化评估更好地评分。
监考
人工智能变得重要的一个领域是在线监考空间。监考是通过防止考生通过监考人作弊来确保考试真实性的方法。人工智能技术目前正被用来加强这一虚拟领域。
随着远程学习而来的是远程考试。在这种考试中,降低学生作弊的风险变得至关重要。这就是人工智能驱动的保护系统来救援的时候了。
反馈会议
反馈在改善学生和教师的学习过程中起着重要的作用。学生的反馈让教师有机会发现教学工作中的差距并加以改进。另一方面,老师的反馈让学生知道他们需要在哪些方面付出额外的努力。教师可以通过作业、评估和测试轻松地与学生分享反馈。而教育机构使用在线和印刷表格向学生提供反馈。
这种分享反馈的过程变得非常真实,并与人工智能和聊天机器人互动。随着市场上各种人工智能驱动的聊天机器人的出现,学生自由表达自己变得更加容易。根据提出的问题和分享的反馈,机器人汇编了大多数学生提到的重点,并进一步发送给教师。
事实上,有一些人工智能驱动的平台在教室内提供反馈会议,以快速跟踪学习过程和面向学生的课程活动。
对学生和教师的实例援助
在当今时代,学生在技术的帮助下,可以即时获取所有信息。从张贴图片到发送电子邮件,任何任务都只需点击几下鼠标。在这个快节奏的环境中,对于教育者、在线导师和教育机构来说,加强他们的学生沟通过程变得非常重要,尤其是在入学季。
人工智能和聊天机器人为访问大学网站或办公室的学生提供实例帮助,以获得更多关于录取过程和相关细节的信息。这项技术将耗时的亲自回复每个查询的任务转化为自动化的任务,而且是即时的。这不仅节省了学生的时间,也减轻了机构手动答题的负担。
澳大利亚维多利亚州迪肯大学的精灵聊天机器人就是这样一个例子。聊天机器人回答了学生需要了解的关于校园生活的所有问题。迪金斯大学的首席信息官威廉·孔法罗尼埃内是该项目的幕后策划者。
引用孔法罗尼埃内的话说,“使用这项技术最有希望的机会是支持更加个性化的校园服务方式,这种方式仍然吸引着大量的人群。该系统还将有助于减轻压力过大的教师的负担,因为他们不再需要一遍又一遍地向不同的学生解释同样的事情。
人工智能以多种方式为教师提供帮助。除了帮助他们评分,人工智能还可以帮助教师轻松管理日常任务。
数据改变保险业的 5 种方式
St. John’s Tobin School of Risk Conference on Transforming Insurance
我最近在纽约市圣约翰风险学院举行的一次关于保险行业中数据使用的会议上发表了讲话,以下是我学到的 5 件关键事情:
- 所有保险公司都渴望使用更多的数据,但很少有公司能够将数据的使用付诸实施
Operationalizing Data Is a Challenge
由于人工智能和机器学习,保险行业对数据的价值有了新的认识。预测模型在保险行业中有无数的应用,包括优化客户获取、提供个性化服务、高效处理索赔、智能承保保单以及更有效地检测欺诈。构建和训练预测模型的常见因素是运营和业务数据。幸运的是,该行业可以从内部和外部来源获得大量数据。会议上坐在我旁边的一个人在一家再保险公司工作,有“数据猎人”的头衔。她唯一的工作就是寻找新的数据源来帮助公司。然而,对于现有的保险公司来说,实施人工智能可能具有挑战性,因为它们的传统 IT 基础架构无法扩展以利用新的数据源,并且它们的内部数据被锁定在彼此不兼容的孤岛中。
行业现有企业面临的最大机遇之一是打破企业数据孤岛。(参见我的博客关于数据仓库的文章。)设想一个数据平台,将客户、保单和索赔数据全部存储在一个地方,以便新保单核保可以考虑以前的索赔,并利用来自核保流程(如保单修改)的数据。
2。先行者正在以非常有趣的方式使用外部数据:
Sensors in Homes Transform P&C Insurance Via Prevention
如果说有一个共同的线索有可能改变保险业的所有细分市场和业务线,那就是外部数据的使用。新的数据源对保险行业来说是变革性的,因为它们可以使客户交互无缝化,从而提高品牌忠诚度,使索赔管理等关键业务流程变得高效,甚至有助于实施预防性做法,从而提高行业的整体盈利能力。让我们探索一些新的数据源。
- 装有传感器(远程信息处理)和移动应用程序的汽车将使索赔管理过程自动化。有了来自传感器的数据,保险公司将不再依赖事故中涉及的各方来确定责任。此外,将人工智能和机器学习(ML)应用于这些数据将使保险公司能够在几天内解决索赔并支付损失,而不是几周或几个月。传感器数据和 ML 还将在识别欺诈索赔和防止索赔方面发挥重要作用,以提高保险公司的盈利能力。我喜欢这个广告,其中怀孕的母亲坚持她的丈夫不要超速去医院,这样她就可以在她的手机应用程序上保留她的安全驾驶评级。不使用移动应用程序加速的财务激励。
- 传感器不仅与汽车保险相关,还与财产和意外伤害(P&C)业务相关。恒温器、烟雾探测器和安全系统等智能设备只是预防不利事件的第一步。一旦我们在家里和办公室安装了传感器,可以在火灾和泄漏等事件发生前检测到它们,并通知相关机构或房主,保险公司每年必须支付的潜在损失将大大减少。
- 根据 eMarketer 的数据,大约 22%的美国人拥有可穿戴设备。这些跟踪身体活动和生命体征的设备使保险公司能够根据投保人的生活方式将这些数据纳入人寿保险政策的定价中。知道如何利用这些数据作为其承保和定价流程的一部分的保险公司,也将在瞄准最健康和最赚钱的人群方面享有先发优势。
寓意
保险公司需要一个具有三个定义属性的数据平台。它不仅必须能够存储来自不同数据源的数据,包括上面提到的数据源。它还必须能够通过简单地添加商用服务器,从 TB 扩展到 Pb,从几个节点扩展到数百个节点。因此,横向扩展能力非常重要。
第二,平台本身必须能够支持任务关键型应用,并促进数据分析。洞察不应该与应用分离,而应该紧密联系在一起。
第三,该平台必须提供使用机器学习来构建、训练和操作预测模型的功能。它应该能够在一个系统中存储内部和外部生成的数据,加速模型训练,跟踪工作流,并将这些模型投入生产。
3。现有企业将需要基于技术的解决方案来应对保险技术和行业颠覆
InsurTech Upstarts Are Hard To Catch
InsurTechs 指的是利用技术颠覆传统保险行业的公司。InsurTechs 往往是较小的创业公司,扎根于数据、人工智能和移动应用程序开发。例如,DataCubes 和 Friss 等公司正在利用数据科学来转变和加速核心保险功能,如商业承保和欺诈检测。其他公司,如 Metromile 和 Root Insurance,正在根据客户的驾驶距离和习惯重新设计核心保险产品,如基于使用的汽车保险。
保险技术不仅通过技术应用颠覆了这个行业,还重塑了消费者的期望和需求。根据麦肯锡的研究,自 2012 年以来,已有超过 100 亿美元投资于保险科技行业。
寓意
为了有效地与 InsurTechs 竞争,现有公司必须重新发明和更新作为其竞争优势来源的应用程序。这些都是 InsurTechs 使用人工智能和机器学习瞄准的相同应用程序。现任者拥有丰富的数据源和受过 SQL 等技术培训的经验丰富的人员。保险公司需要考虑一个能够使用 SQL 有效管理运营和分析数据的统一平台,而不是试图将传统 IT 基础架构的各种组件捆绑在一起并获得难以找到的技能。统一的平台使市场领导者能够在数据库级别构建预测算法。数据库中的机器学习可以大大加快决策速度,并帮助在职者抵御讨厌的保险技术。
4。数据湖仍然困扰着保险公司
Drowning in Data Lakes
为了有效管理大数据并推动实时分析和决策,保险行业在数据湖上投入了大量资金。这些数据湖是使用商业 Hadoop 发行版构建的——灵活数量的独立开源计算引擎加入到一个公共平台中以实现规模。然而,数据湖的读取模式功能导致保险公司绕过定义哪些表包含哪些数据以及它们如何相互连接的过程,导致随意构建存储库。
数据湖项目已经开始失败,因为保险公司和其他行业的公司一样,优先考虑将所有企业数据存储在一个中心位置,目标是让所有开发人员都可以使用这些数据——如果你愿意,这是一个优步数据仓库,而不是考虑数据将如何推动应用程序。因此,Hadoop 集群已经发展成为企业数据管道的网关,用于过滤、处理和转换数据,然后将数据导出到其他数据库和数据集市,以便向下游报告。数据湖中的数据几乎永远不会出现在真正的业务应用程序中。因此,数据湖最终成为一组庞大的不同计算引擎,在不同的工作负载上运行,全部共享同一存储,非常难以管理。(参见我关于数据湖和 Hadoop 的博客。)
寓意
正如我在上面提到的博客文章中所讨论的,保险公司面临着越来越大的压力来证明他们的数据湖的价值。我建议他们首先关注操作应用程序,然后再研究所需的数据。
通过专注于利用数据和智能实现应用的现代化,保险公司将能够开发能够利用数据预测未来可能发生的事情的应用。然后,保险公司可以在没有人工干预的情况下主动做出决策,从而带来卓越的业务成果。
5。监管机构将数据治理和 ML 透明度放在首位
Machine Learning Needs To Be Transparent And Traceable
鉴于巨大的数据量和多样化的数据源,如果应用程序能够在没有人工干预的情况下大规模地做出智能决策,那么人工智能和 ML 的真正价值就能得到最好的实现。然而,这种能力一旦实现,就会产生“黑盒”的感觉,其中大多数业务人员不完全理解预测模型为什么或如何采取某个动作。这种能力不仅很好,而且对于保险公司必须能够记录和维护其决策(如拒绝索赔或保险单)的用例来说非常重要。监管机构将越来越多地向保险公司施压,要求它们解释预测模型的内部运作方式,特别是在模型用于承保和定价以确定保费的情况下,以确保不存在任何歧视性做法。
含义
数据治理提供了一个框架,有助于定义在任何生态系统中如何获取、管理和使用数据。该框架用于增强企业对其数据以及基于分析该数据而采取的行动的信心。在保险行业经历重大转型之际,公司需要一个强大的框架来提供对数据谱系、对数据执行的转换以及如何使用数据的可见性。这个框架还必须涵盖预测和机器学习模型。保险公司必须能够向监管机构展示他们的数据科学家进行的所有实验,以及哪个模型投入生产,以及它是如何随着时间的推移而修改的。因此,数据治理必须成为数据科学家用来构建、培训和操作模型的平台的一个组成部分。
为了实现这一目标,考虑一个为数据科学家提供自由实验能力的平台。构建预测模型是一个迭代过程,需要数据科学家不断调整他们的模型,并评估这些变化对模型准确性的影响。为了跟踪他们的实验,数据科学家需要一个像 MLFlow 这样的平台。MLFlow 拥有一个内置的功能来跟踪和记录每次迭代的变量。通过这种方式,数据科学家可以向内部利益相关者和外部监管者等客观地展示将特定模型投入生产的理由。他们还可以证明不存在任何歧视性做法。
如果您想了解保险行业应用程序现代化的更多信息,Splice Machine(我是该公司的首席执行官和联合创始人)的团队已经创建了一份白皮书,反映了我们与一些世界领先的保险公司所做的工作。
数据科学改变金融交易的 5 种方式
大数据正在改变一切。从广告和技术到医疗保健和我们的日常生活,信息正在产生影响。
我们终于有了从生活的各个方面收集无限量数据的技术和手段。此外,我们可以将所有这些放在一起,以便于理解和实施。这些信息带来的变化可以让几乎任何事情变得更有效率,包括交易。
金融交易是一项精密的工作,在崩溃之前不能犯太多的错误。这就是为什么人们开始实施数据和人工智能来帮助解决问题。这样,每件事都可以做得更快更好,而不会偷工减料。
以下是数据科学如何给金融交易行业带来巨大变化的几个例子。
1.大数据分析
关于金融交易的数据不仅仅包括价格和波动。它还试图理解成本波动的原因。利率通常是供求关系的反映。社会和政治趋势也会影响销售。然而,供求背后的原因是可以评估的,也可能是可以解决的。
这个数据收集过程为创建预测模型铺平了道路。数据可以开始观察趋势,而机器学习可以发现人类容易忽略的早期模式。对某种东西将会上涨或下跌的预测可以在未来导致安全、明智的决策。
2.股票评估
海量数据让金融交易世界变得更加可预测。因此,股票交易发生了一些重大变化。人工智能现在可以充当个人股票顾问。
该软件可以观察金钱方面的模式、趋势和可能的结果。由于基础股票之间的相关性以及以前的模式如何与当前趋势相结合,人工智能可以做出这些假设。
然而,人工智能对股市的影响并不仅限于预测股市走向。数据可以告诉你一个合理的交易价格,不管你是买还是卖。利用这些信息,你可能会承担更少的风险,获得更高的回报。如果你喜欢安全地玩股票交易,人工智能顾问可能是一个好主意。
3.实时信息
通过将世界各地的每个人联系在一起,技术极大地推动了现代社会的发展。
与 40 年前不同,地球上不同地方的两个人之间的对话可以立即进行。不断的分享带来了快速的进步,包括金融交易领域。
金融交易向来节奏极快,尤其是讨论股市的时候。现在,你也可以立即获得信息。实时数据可以让你做出更好、更快的决策。由于人工智能只提供基本和相关的信息,错误会自动减少。
4.机器学习
我们还没有真正理解机器学习是如何改变金融交易的。
首先要理解的是,这项技术不是人工智能,而是一个子集。机器学习是识别模式并根据积累的数据做出预测的部分。
我们已经在机器学习方面取得了飞跃。然而,现实是,我们仍然处于这项技术全部潜力的尖端。大公司现在正跳上人工智能列车。2019 年末,摩根大通实施了第一个机器人来完成其全球股票算法业务的交易。
5.有些公司从人工智能开始
摩根大通是一家大公司,但它不是金融贸易领域人工智能的先驱。许多公司与人工智能合作,尽可能做出最好的金融交易决策。他们中的一些人继续在尝试新的想法,这是世界其他地方正在慢慢开始采取的开创性步骤。
总部位于芝加哥的 Greenkey Technologies 已经开始使用语音识别和语言处理技术,目的是尽可能地节省在交易大厅的时间。
与此同时,伦敦的 Auquan 拥有一个数据科学平台,任何人都可以展示他们的算法并获得灵感。同样位于伦敦的 AITrading 利用人工智能来增加交易利润并最大限度地利用机会。不用说,金融交易领域已经出现了大量的机器学习。
未来的金融交易
随着我们对人工智能和机器学习的了解越来越多,我们在工作中变得更加高效。
金融交易已经存在了很长时间,而且不会很快消失。如果你想保持可持续发展,优化流程是唯一可能实现的飞跃。
当涉及到贸易领域的这么多钱时,你不能在最后一刻犯错误或发现问题。
利用手头最好的信息——以及能够检测隐藏模式的软件——永远是正确的选择。
图像通过 Rawpixel
数据科学改善高等教育的 5 种方式
数据科学使用精确的方法和平台从海量信息集合中提取洞察力。大学从学生、教师和职员那里收集数据。
以下是数据科学给高等教育带来的五个现实增强的例子。
1.培养未来数据科学家的更多方法
当人们评估大学和学位项目时,他们通常会寻找能给他们带来优势的选项,如工作保障和职业成就感。对于一个人来说,努力工作四年或更长时间以获得文凭,然后发现他们新获得的技能不能很好地应用于就业市场是令人沮丧的。
数据科学的角色需求量很大,获得该领域的学位可以帮助学生最大限度地超越自我。许多大学通过学位课程、研究工作等方式增加了数据科学投资。
如果一个学习机构因其能够为有抱负的数据科学家进入就业市场做好准备而赢得声誉,那么该机构吸引学生可能会变得更容易。因此,数据科学投资通过使高等教育部门与当前和未来需求日益相关来改善高等教育。
2.利用数据发现剽窃
整个校园和个别教授都努力在学生中培养诚信文化。在一些大学,新生签署荣誉守则,保证他们不会在考试中作弊或在写论文时抄袭。
获得剽窃盛行的名声伤害了大学,因为这给人的印象是,他们没有通过清除不诚实的人来执行规则,为所有学生提供公平的竞争环境。今天的故意抄袭者使用先进的技术,远远超过从某处复制一段文字并稍微调整它。
但是数据科学和机器学习算法可以通过一个叫做文本挖掘的过程进行比较。这种方法让教育者能够发现可能的剽窃实例,即使内容片段在表面上看起来很独特。
这样,大学就更容易对作弊者采取果断行动,维持一个不容忍为了更好的成绩而不诚实的校园环境。因此,高等教育部门可以花更多的时间来教那些想学习的人,而不用尝试不为人知的策略。
3.追踪校园流感
流感爆发在任何情况下都是重大问题。由于一个生病的学生在特定的一天里可能接触的人的数量,他们在特定的一个小时里可能接触的表面的数量,等等,它们可以在大学校园里异常迅速地传播。许多人讨论“大学泡沫”现象,即学生很少参与校园外的活动。
这种趋势加速了流感的传播,因为它使患病的学生处于相对封闭的区域,并给了他们足够的机会让其他人生病。
北卡罗莱纳州两所大学的研究人员开发了一个分析模型,在移动应用程序的帮助下跟踪流感数据。他们说,这可以从理论上确定流感如何从一个人传播到另一个人。
在一项试验中,研究人员要求学生报告他们的症状。然后,通过智能手机应用程序分发的数据为每个用户提供了个性化的预测,根据症状表明他们是感冒还是流感,建议他们呆在家里或去上课。这是通过计算学生在某一天感染或传播流感的几率来实现的。
这是数据科学的一个迷人的应用。但是考虑到健康数据的敏感性,像这样的例子使得大学坚持数据安全的最佳实践变得至关重要。这意味着做一些事情,如培训用户和员工如何处理数据,了解大学拥有的数据类型,以便做出保护数据的适当决定。
4.评估学生如何与同伴互动
教育专家知道,如果学生在大学开始感到孤立,缺乏支持系统,这些因素可能会对保留率产生负面影响。
来自爱荷华大学的研究人员发现了一种前瞻性的方法,可以检测学生与他人的合群程度。他们检查了几乎每所有餐厅的大学使用的数据:食堂刷卡。
该团队透露,测量一个人在餐厅刷卡和后面的人使用餐厅特权之间的时间,可以帮助确定人们是与朋友一起吃饭还是独自吃饭。此外,研究人员早在一个人大学第一年的第二学期就获得了有用的数据。
这表明,在早期观察同龄人的互动并将其与未来的毕业可能性联系起来是可能的,而且比以前认为的更有必要。
通过像这样的研究收集的数据也可以帮助大学代表更积极地鼓励一年级学生参与和与朋友团体互动,无论是通过会见住在他们宿舍或其他地方的人。
5.挖掘数据以提高校友参与度
与大学校友沟通以鼓励他们捐款是大多数大学的基本做法。
代表们知道财政支持有助于校园保持对现在和未来学生的吸引力。但是,负责寻求捐赠的人可能会很快偏离轨道,因为他们花太多时间与不太可能捐赠的人交谈。
将数据科学应用于筹款活动,可以通过找出与最慷慨的校友捐赠者相关的因素来帮助大学取得成功。有了这些信息,大学就可以更容易地为校友们策划更有吸引力的活动,也有助于在捐赠申请材料中传达更恰当的信息。
高等教育中数据科学应用的多样性
正如该列表所示,将数据科学应用于高等教育领域的令人兴奋的方法并不缺乏。随着实验的继续进行,人们可以期待更多的用途出现。
图像经由 Rawpixel
成为数据科学家的 5 种方法
如果你有兴趣成为一名数据科学家或对数据科学专业感兴趣,我建议你这样做:
1。找一家需要数据科学家的公司
公司通常会为特定项目雇佣数据科学家。例如,一家金融机构可能有一个公司范围的项目,他们希望在这个项目中构建一个用于分析数据的算法。
如果你对了解雇佣数据科学家的公司类型感兴趣,请登录 AngelList,开始浏览初创公司的数据科学职位。
2.申请数据科学实习计划和培训计划
实习项目和培训项目是了解行业和学习新技能的好地方。
读一本数据科学的书,可以帮助你对行业有更深入的了解。
3.构建自己的开源项目
虽然数据科学在行业中变得越来越重要,但仍有大量数据科学家不属于更大的开源社区。
GitHub 上有大量的免费工具和资源,许多数据科学家渴望分享他们的知识,并为社区做出贡献。
4.加入当地的数据科学小组
一些城市有致力于帮助成员的本地数据科学团体。虽然尝试掌握最新的工具和技术很重要,但在这个社区中,您可以从整体上了解数据科学,以及它如何融入您公司的业务。
每个较大的城市现在都拥有一群活跃的数据科学家。
5.加入数据科学协会
数据科学可能非常令人生畏,开始学习不同的技术可能很困难,但这并不意味着你不能做到。
在开始之前,这里有一些需要考虑的事情。
首先,重要的是参与数据科学讨论和社区推动的讨论,以了解什么是数据科学、它的发展方向以及如何最好地利用它。
总之,参加数据科学会议和数据科学大会是一个很好的开始。这些聚会提供了一个空间,任何人都可以在这里学习数据科学,无论是基础知识还是高级技术,并提供入门所需的工具和培训。如果你心中没有一个特定的项目,你可以查看事件列表,看看谁在主持 meetup,以及是否有一个具体的时间发生。
当你看完 meetups 列表后,我建议你试着和组织者联系。参加他们将要参加的任何会议,并询问他们您是否能参加他们的下一次数据科学会议。你也可以在社交媒体上关注组织者,看看发生了什么。
不管怎样,祝你玩得开心!
成为数据科学家有很多方法。
Data Science Job
最后,如果你想了解成为一名数据科学家意味着什么,那么看看我的书数据科学工作:如何成为一名数据科学家,它将指导你完成这个过程。
如果你想了解更多,请阅读我关于成为数据科学家的其他文章:
每个数据科学家都应该知道的检测异常值/异常的 5 种方法(Python 代码)
检测异常对任何企业都至关重要,无论是通过识别故障还是采取主动。本文讨论了识别这些异常的 5 种不同方法。
Photo by Will Myers on Unsplash
什么是异常/异常值?
在统计学中,离群值是不属于某个总体的数据点。这是一个远离其他价值观的反常观察。离群值是指与结构良好的数据相背离的观察结果。
例如,你可以清楚地看到这个列表中的异常值:[20,24,22,19,29,18, 4300 ,30,18]
当观察值只是一串数字并且是一维的时,很容易识别它,但是当你有成千上万的观察值或多维观察值时,你将需要更聪明的方法来检测这些值。这就是本文将要讨论的内容。
我们为什么要关心异常现象?
检测异常值是数据挖掘的核心问题之一。数据的新兴扩张和持续增长以及物联网设备的普及,促使我们重新思考处理异常的方式,以及通过观察这些异常可以构建的用例。
我们现在有智能手表和腕带,可以每隔几分钟检测一次我们的心跳。检测心跳数据的异常有助于预测心脏病。交通模式的异常有助于预测事故。它还可用于识别网络基础设施和服务器间流量的瓶颈。因此,基于检测异常的用例及解决方案是无限的。
我们需要检测异常的另一个原因是,在为机器学习模型准备数据集时,检测所有异常值并将其剔除或分析以了解为什么它们会出现在第一位置非常重要。
现在,让我们从最简单的方法开始,探索检测异常的 5 种常见方法。
方法 1 —标准偏差:
在统计学中,如果数据分布近似正态,那么大约 68%的数据值位于平均值的一个标准偏差内,大约 95%位于两个标准偏差内,大约 99.7% 位于三个标准偏差内
因此,如果有任何数据点超过标准偏差的 3 倍,那么这些点很可能是异常点或异常值。
让我们看一些代码。
这段代码的输出是一个大于 80 小于-40 的值的列表。请注意,我传递的数据集是一维数据集。现在,让我们探索多维数据集的更高级的方法。
方法 2 —箱线图
箱线图是数字数据通过其分位数的图形描述。这是一种非常简单但有效的可视化离群值的方法。将下方和上方的胡须视为数据分布的边界。显示在须状物之上或之下的任何数据点都可以被认为是异常值或异常值。以下是绘制箱线图的代码:
上面的代码显示了下图。如你所见,它认为所有高于 75 或低于-35 的都是异常值。结果非常接近上面的方法 1。
箱线图剖析:
I 四分位范围 ( IQR )的概念用于构建箱线图。IQR 是统计学中的一个概念,用于通过将数据集分成四分位数来测量统计离差和数据可变性。
简而言之,任何数据集或任何一组观察值都根据数据的值以及它们与整个数据集的比较情况被划分为四个定义的区间。四分位数将数据分为三个点和四个区间。
四分位距(IQR)很重要,因为它用于定义异常值。它是第三个四分位数和第一个四分位数的差值(IQR = Q3 -Q1)。在这种情况下,异常值被定义为低于(Q1 1.5x IQR)或箱线图下须或高于(Q3 + 1.5x IQR)或箱线图上须的观测值。
Source: Wikipedia
方法 3— DBScan 聚类:
DBScan 是一种聚类算法,用于将数据分组。它还用作基于密度的异常检测方法,使用一维或多维数据。其他聚类算法,如 k-means 和层次聚类,也可以用来检测异常值。在这种情况下,我将向您展示一个使用 DBScan 的示例,但在开始之前,让我们先了解一些重要的概念。DBScan 有三个重要的概念:
- 核心点: 为了理解核心点的概念,我们需要访问一些用来定义 DBScan 作业的超参数。第一个超参数(HP)是 **min_samples。这是形成一个聚类所需的核心点的最小数量。**第二个重要的 HP 是 eps。eps 是两个样本之间的最大距离,它们被认为是在同一个聚类中。
- 边界点 与核心点在同一个群中,但是远离群的中心。
- 其他的都叫做 噪声点 *,*那些是不属于任何聚类的数据点。它们可能是异常的,也可能是非异常的,需要进一步研究。现在,让我们看一些代码。
上面代码的输出是 **94。**这是噪音点的总数。SKLearn 将噪音点标记为(-1)。这种方法的缺点是维度越高,它变得越不精确。你还需要做一些假设,比如估算 T2 每股收益的正确价值,这可能很有挑战性。
方法 4—隔离林:
隔离森林是一种无监督学习算法,属于集成决策树家族。这种方法不同于所有以前的方法。所有以前的方法都是试图找到数据的正常区域,然后将这个定义区域之外的任何东西识别为异常值或异常值。
这种方法的工作原理不同。它通过给每个数据点分配一个分数来明确隔离异常,而不是描绘和构建正常点和区域。它利用了这样一个事实,即异常是少数数据点,并且它们具有与正常情况下非常不同的属性值。这种算法在处理非常高维的数据集时非常有效,并且被证明是一种非常有效的异常检测方法。因为本文关注的是实现而不是技术,所以我不会进一步讨论算法是如何工作的。然而,在这篇论文中涵盖了它如何工作的全部细节。
现在,让我们来探索代码:
这段代码将输出数组中每个数据点的预测。如果结果为-1,则意味着该特定数据点是异常值。如果结果为 1,则意味着该数据点不是异常值
方法 5—稳健随机采伐森林:
随机切割森林(RCF)算法是亚马逊的无监督算法,用于检测异常。它也通过关联异常分数来工作。低分值表示该数据点被视为“正常”高值表示数据中存在异常。“低”和“高”的定义取决于应用,但是通常的实践表明,超过平均分数的三个标准差的分数被认为是异常的。算法的细节可以在这篇论文中找到。
这个算法的伟大之处在于它可以处理非常高维的数据。它还可以处理实时流数据(内置于 AWS Kinesis Analytics)和离线数据。
我在下面的视频中详细解释了这个概念:
本文展示了与隔离林相比的一些性能基准。这是论文的结果,表明 RCF 比隔离森林更准确、更快速。
完整的示例代码可在此处找到:
[## aw slabs/Amazon-sage maker-示例
展示如何在亚马逊 SageMaker 中应用机器学习和深度学习的示例笔记本…
github.com](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/introduction_to_amazon_algorithms/random_cut_forest)
结论:
我们生活在一个数据每秒都在变大的世界里。如果使用不当,数据的价值会随着时间的推移而降低。无论是在线发现数据流中的异常,还是离线发现数据集中的异常,对于识别业务中的问题或构建主动解决方案以在问题发生前发现问题至关重要,甚至在探索性数据分析(EDA)阶段为 ML 准备数据集也是如此。我希望这篇文章对你有用,请在下面的评论区告诉我你的想法。
获得真实世界数据科学经验的 5 种方法
在没有数据科学工作的情况下获得数据科学经验似乎令人望而生畏。
我从试图进入数据科学的人们那里得到的最大问题之一是**“如果我没有数据科学的工作,我如何获得数据科学的经验?”**。
为了回答这个问题,我总结了以下 5 种获得有用的真实数据科学经验的方法:
- 构建小项目
- 志愿成为一名数据科学家
- 加入聚会
- 创建教程
- 为开源项目做贡献
我将详细讨论每一个问题,并给出具体的行动。
在你开始申请数据科学工作之前,你当然不需要做清单上的所有事情。
我的建议是集中精力做清单上的一两件事,不要试图一次做完所有的事。
构建小项目
我获得现实世界数据科学经验的第一个方法,也可能是最喜欢的方法是构建小项目。
我说“小”是因为它不是一个完整的端到端项目。
如果你试图一次完成太多事情,你将一事无成。
你最好选择一项特定的技能,做一个小项目,并在你的 GitHub 页面文件夹中展示它。
这里有一些你可以做的快速项目的例子。
1.收集和清理杂乱的数据集
收集和清理杂乱的数据集是展示以下现实世界技能的好方法:
- 如何确定项目范围和收集数据的计划
- 使用不同的数据格式(CSV、JSON、XML)
- 不同的数据收集方法(SQL、API、网络搜集)
- 思考不同的数据清理任务
创建数据清理项目的最佳方式是找到一个杂乱的数据集,选择一种工具,并专注于一项技能。
以下是一些杂乱数据集的来源:
2.浏览数据集
探索数据集,也称为探索性数据分析(EDA ),是展示您执行以下操作的能力的好方法:
- 形成相关问题
- 调查这些问题
- 利用不同类型的地块
- 展示你的发现
以下是执行探索性分析的一些来源:
3.做预测
我建议在机器学习项目之前创建一个数据清理或探索性项目。
到目前为止,机器学习更受欢迎,但在现实世界的数据科学工作中,你可能会花更多的时间来清理和探索数据。
话虽如此,了解机器学习的基础知识仍然很重要。我建议将逻辑回归或线性回归模型放在一起。
这些都是很好的模型,因为它们比随机森林之类的东西更容易解释。在试图把事情变得过于复杂之前,了解基本情况是至关重要的。
这里有几个数据集可以帮你入门:
确保记录下你所有的工作,并且整洁地写下来。
一个很好的工具是 Jupyter 笔记本。这将允许您编写和执行您的代码,同时还能够使用 Markdown 记录您的工作。
一旦你写好了你的项目,一定要在你的 github 个人资料和 github 作品集页面上记录你的工作。
这里有一些关于构建数据科学项目的额外资源。
志愿成为一名数据科学家
志愿作为一名数据科学家是获得一些经验的另一个好方法。
另一个好处是你为更好的利益贡献了你的时间。
开始数据科学志愿服务的一个选项是使用 DataKind 。
你可以自愿加入一个项目,也可以提交自己的项目。
以下是 DataKind 解决关键人道主义问题的一些领域:
- 教育
- 贫困
- 健康
- 人权
- 环境
- 城市
DataKind 有一大堆很棒的项目要参与。这里有几个例子:
另一个很好的选择是驱动数据。
这家公司主办在线竞赛关注社会影响。
它类似于 Kaggle,但不是专注于商业影响,而是为了社会公益。
DrivenData 举办比赛的领域包括:
- 国际发展
- 健康
- 教育
- 研究和保护
- 公共服务
DrivenData 有一些非常有趣的比赛。以下是一些现在和过去的比赛示例:
志愿参与数据科学项目对社会有益,也有助于培养你的团队合作技能。
数据科学的很大一部分是能够与其他人交流和合作。作为志愿者加入数据科学团队是发展这些技能和成长的好方法。
加入聚会
聚会是另一种获得数据科学实际经验的好方法。
这些活动都是在你所在的城市亲自举办的。
它们的范围可以从教育演示到基于团队的编码项目。
聚会很棒,因为它们也提供了很好的社交机会。
您可以接触到来自不同规模和背景的公司的真实数据科学家。
要找到你当地的聚会,只需在互联网上快速搜索“你的城市”+“数据科学聚会”。
我在纽约做了一个快速搜索,下面是我找到的内容:
Data Science groups in New York
这些聚会从教育性的到知识性的都有。
例如,“全民数据科学:纽约” meetup 的目标是“…让与会者做好数据科学的准备,并扩展实践数据科学家的技能。”
他们过去的一些聚会包括:
- 广义线性模型导论
- 数据科学项目之夜
- 详细线性回归
在数据科学项目之夜上,你可以获得项目方面的建议和工作。如果你没有项目,你可以和其他人一起做他们的项目。
像这样的活动是向他人学习的好方法。既有关于编码和机器学习等技术技能,也有关于如何成为更好的沟通者和团队成员。
“Scala+Python+Spark+数据科学” meetup 提供了编程实践的机会。他们最近的聚会包括:
- 基本的 Python 游戏-通过构建简单的控制台游戏来提高您的 Python 技能
- Python 中的自然语言处理简介
- 数据科学应用统计学简介
聚会真的是获得一些实践经验和向他人学习的好方法。
创建教程
教授一项技能并在博客中展示是另一种获得经验的好方法。
你将向他人展示你能够发挥你在简历中宣传的技能。
这也展示了你的沟通技巧。在工作场所,你需要成为一个好的倾听者和好的老师。
以下是针对不同类型的辅导型项目的一些想法:
- 传授一项有用的技能——如何清理杂乱的数据集
- 知识技能——如何解释逻辑回归模型的系数
- 高级技能—从头开始编写算法(反向传播是如何工作的?)
我会从做一个有用技能或知识技能的教程开始。
一个很有用的技巧是类似于“如何用 R 检测缺失值”。
您可以找到一个混乱的数据集,然后逐步完成检测混乱值的过程。
一定要一路展示你的代码,并解释你正在使用的函数,以及它们到底在做什么。
我关于用 R 清理数据的博文是这类项目的一个很好的例子。
知识技能是另一种很好的项目类型,尤其是当你正在学习的时候。也许类似于“解释逻辑回归模型的系数”。
Interpreting Odds Ratios in Logistic Regression
我最喜欢的快速学习方法是尝试和教授。
你有没有想过你理解了一些事情,然后你试图向某人解释,却发现你不能?
试着选择一个话题,写一篇博文。真正解释细节,但尽量不要用很多技术术语。
能够理解一个主题,并简单详细地解释它,是雇主希望看到的真正有价值的技能。
为开源项目做贡献
获得数据科学经验的最后一种方式是参与开源项目。
这是熟悉流行的数据科学库的好方法。以下是数据科学领域的一些开源项目的示例:
如果你对 git 没有任何经验,没什么大不了的,这里有一些很好的资源可以帮助你入门:
- Git 视频
- Git 教程:免费学习 Git 基础知识| Codecademy
- 针对初学者的 GitHub 速成班
为开源项目做贡献可能看起来令人生畏,但是请记住,您不一定需要贡献代码。
开源项目总是在寻找对其文档的贡献。
例如,freeCodeCamp 一直在寻找对他们的编程指南的贡献。
如果你想开始投稿,请查看 freeCodeCamp 的投稿指南。
freeCodeCamp Contribution Guidelines
开源项目通常会有一些贡献指南,所以通读这些指南是有好处的。
下面是我之前提到的开源项目的贡献指南:
如果您仍然感到不知所措,不要担心,查看这些初学者指南,开始使用开源项目:
为开源做贡献不仅会增加你的编码和软件技能,还会教会你如何与他人合作。
您将不断地与运行项目的人以及开源社区中的其他人交流。
这是一个向他人学习的好方法,同时也有助于你为真正令人惊叹的开源项目做出贡献。
结论
在没有数据科学工作的情况下获得数据科学家的经验可能会令人生畏。
最好的方法是一头扎进去,开始应用数据科学技能。
在本文中,我们回顾了以下 5 种获得有用的真实数据科学经验的方法:
- 构建小项目
- 志愿成为一名数据科学家
- 加入聚会
- 创建教程
- 为开源项目做贡献
从专注于一个开始,确保在你的 LinkedIn 个人资料和 GitHub 作品集页面上记录你的工作。
让您的组织为数据科学做好准备的 5 种方法
数据科学团队如何才能不被困在孤岛上?
Image by Free-Photos from Pixabay
各个行业都在通过雇佣数据科学研究人员和专家来投资机器学习和人工智能。但是你如何确保这些新的团队和他们的工作与组织的其他部分一致呢?数据科学团队如何才能不被孤立?他们如何有效地与同事和客户交流工作?如果您正在开发数据科学产品,以下是一些避免这种障碍的方法:
1.了解你的观众和他们关心的事情
显而易见,数据科学团队最常犯的错误是在没有真正理解他们的情况下,向各种利益相关者传达他们深厚的知识和复杂的工作。数据科学家通常与工程、设计、产品、营销、销售、客户等各种利益相关方合作。这些学科中的每一个都有其独特的特点和他们前进的目标。理解它们对你工作的成功至关重要。
你是怎么做到的?不要担心,你不必去获得那个领域的学位或者在同一个团队工作一个月,你所需要做的就是倾听。这听起来很简单,但是实践起来很难。听观察,听学习,听调整你的信息以引起你的听众的共鸣。
2.不仅要让你的工作,还要让你的沟通与利益相关者的目标保持一致
组织雇佣员工要么填补空白,要么改善现状,要么帮助实现目标。重要的是要明白它在你的组织中对你来说是什么,并且不仅仅是你的工作,还有你的沟通都要与它保持一致。这并不意味着你一直在试图证明什么,这只是意味着你让你的利益相关者看到了你工作的价值。很多时候,我们期望我们的利益相关者信任我们,却没有授权给他们有效的方法来参与和验证。让我们从改变这一点开始。
**你是怎么做到的?**提问。询问利益相关者的目标,而不是猜测。问问你的工作成功是什么样子的。从一开始就确立这些目标,但要留有时间推进的余地。
3.要明白没有人喜欢感觉自己是哑巴
通常,当组织中引入新的数据科学团队时,会有一种误解,认为他们必须展示其专业知识的复杂性来证明价值。那是一个错误。我参加过一些会议,会上人们要么因为不想显得愚蠢而不敢提问,要么只能问‘那又怎样?’在听了一些高度复杂模型的近乎完美的结果之后。展示你的工作的复杂性可能感觉很好,但是要明白人们不一定关心你所关心的一切。
你是怎么做到的?展示您的受众能够理解、解释和参与的结果。这可能意味着牺牲隐藏几层复杂的工作来专注于你的工作的功效、相关性和价值。
4.花时间教育你的同龄人
虽然坐在电脑前训练下一个最佳模型可能更有吸引力,但在你周围培养一种学习文化会带来巨大的回报。你参与教育的越多,其他人就越能理解你的工作,当你展示你的工作时,涉及的领域就越少。
**你是怎么做到的?**我并不热衷于通过长篇大论和讲座进行教育,它们通常不太管用,尤其是在快节奏的工作环境中。相反,你可以试着通过一起解决一个问题,获得别人对某件事的建议,或者只是解释你在工作中面临的挑战,让它变得互动起来。
5.建立伙伴关系,而不仅仅是模型
数据科学家拥有真正的超能力:他们可以从成堆的原始数据中发现有价值的见解。利用你的超能力在你的组织中与你的客户建立伙伴关系。而站在场边,为参与者鼓掌是娱乐性的;并肩站在赛场上才是到达终点真正有意义的事情。这是你需要你的利益相关者和你一起感受到的,才能真正一起成功。
**你是怎么做到的?**尽早并经常参与,根据他人的意见调整您的解决方案,欣赏困难的问题,并公开您工作中的不足之处。
建立一个对未来积极主动的数据驱动的产品或组织是一个旅程。为未来的漫漫长路做好准备、保持耐心和谦逊会有所帮助。
Anam Zahid 是一名数据科学家,后来成为产品经理,热衷于构建产品、数据科学和机器学习、人生哲学和旅行。与我联系: LinkedIn
登月 50 年后,太空探索的前景如何?[信息图]
50 年前的这个月,当尼尔·阿姆斯特朗走下登月舱阶梯,在月球表面留下他标志性的足迹时,最疯狂的科幻幻想变成了现实。
他那句臭名昭著的话,“一个人的一小步,人类的一大步”,回荡在全球,听众超过 5 . 3 亿。
几周后,在持续了半个世纪的空间探索和发展之后,世界将重温这一历史性事件。
为了纪念这一突破性的成就,我们回顾了登月的历史,太空探索的未来以及私营公司在蓬勃发展的太空经济中的作用。
哪些国家登上过月球?
尽管阿波罗 11 号的登月任务最为人所知,但在 1969 年之前还有其他成功的无人登月任务。
苏联的月球 2 号是 1959 年第一艘到达月球表面的宇宙飞船,而月球 9 号是 1966 年第一艘在月球软着陆的宇宙飞船。
四个月后,美国宇航局的勘测者 1 号成功软着陆月球,随后又有四次成功的无人驾驶任务。
在苏联和美国之间充满紧张气氛的太空竞赛进行了 14 年之后,阿波罗 11 号成功地登上月球并返回——为未来几代人开创了一个先例。
在此之后,美国宇航局又向月球发射了六次任务,其中五次成功。2013 年,中国也在 2013 年 12 月成功软着陆月球,比月球 24 晚了 37 年。
总的来说,美国发射了最多的登月任务,其中 38 次成功,紧随其后的是前苏联,56 次。
未来的登月任务
现任美国政府雄心勃勃地计划在 2024 年让人类重返月球,比最初的时间表提前了四年。这个名为 Artemis 的项目包括八次发射和一个到 2024 年在月球轨道上的小型空间站。
与此同时,俄罗斯计划从 2025 年开始向月球发射载人飞船,最终目标是在 2040 年建立一个月球殖民地。
印度希望成为今年第四个成功软着陆月球的国家,计划在本月发射一艘宇宙飞船,并在 9 月着陆。
太空竞赛不会只由世界各国主导。SpaceX 等私营公司也将目光投向了月球,尽管去火星旅行是他们的主要目标之一。埃隆·马斯克(Elon Musk)的 SpaceX 计划在 2023 年派遣一组艺术家进行绕月旅行,而杰夫·贝索斯的蓝色起源(Blue Origin)则希望在 2024 年之前将宇航员送上月球表面。
私有化太空旅行是未来吗?
随着雄心勃勃的太空探索计划(如火星之旅)成本的上升,美国宇航局越来越多地转向私人公司的雄厚资金来资助这些努力。
像埃隆·马斯克、杰夫·贝索斯和保罗·艾伦这样的亿万富翁正在向商业航天领域大举投资。
根据 SpaceFund 的发射数据库显示,目前全球有超过 100 家太空运输公司。正如你在下面看到的,大部分在美国,其次是英国和中国。
许多人认为【NASA 和 SpaceX、蓝色起源和维珍银河等公司之间的公私合作关系是太空旅行的未来。
事实上,进入低地球轨道的商业发射流量在过去十年中急剧上升:
轮到你了
你认为太空旅行的前景如何?从长远来看,增加太空探索会有好处吗?或者它仅仅会转移人们对地球上更紧迫问题的注意力?让我们知道你的想法…
我在训练测试中犯的 6 个业余错误
细节决定成败
在过去的几周里,他一起踏上了关于推荐系统的旅程。我们看到了对主题的一个温和的介绍,以及对围绕主题的最重要的相似性度量的一个介绍(请记住,关于推荐系统和其他项目的整个知识库总是可以在我的 GitHub 个人资料中找到)。是的,我知道,围绕这个话题还有很多其他的东西,所以我们会简单地回到这个话题。但本周我决定打破僵局,谈论数据科学中一个非常基础的话题,当我刚开始研究建模和机器学习时,这给我带来了一些头疼的问题:训练测试分割。
没有人生来就知道,所以如果你还不知道什么是火车测试分裂,不要担心。然而,这是该领域中的一个基本概念,因此在本文中,我将尝试简要介绍这个主题,并告诉您我个人在开始处理列车测试分割时所犯的一些错误。希望你能从我费时的业余错误中学到一些东西:)
什么是列车测试分离,我们为什么需要它?
为了了解什么是训练测试分割,我们需要首先理解什么是“测试组”,以及为什么我们在进行 ML 建模时需要一个测试组。
简而言之,当我们试图预测任何类型的输出时,我们将使用数据集来“训练”机器学习模型。这个模型将尝试从数据中学习尽可能多的东西,以便做出准确的预测。同样,也许我们的模型会从中学到太多东西,以至于它只能预测我们给他的一堆数据,而不能预测任何其他数据。
这个潜在的问题或风险是我们通常在机器学习中应用的几个工具和概念的启动点:
- 偏差-方差权衡,简而言之,就是我们的模型应该从我们的训练数据中学习多少。如果它学习得太多,我们会说它有“高方差”,它会“过度拟合”我们的数据。相反,如果它学习得太少,它就会有“高偏差”,并且模型会“不适合”我们的训练数据。
- 当谈到所有这些时,正则化的概念也很方便,因为这是一种允许我们控制我们的模型从我们的数据中学习多少的技术。这个概念并不简单,但是可以很容易地用 Python 来应用。如果你想了解更多,我强烈推荐 Josh Starmer 的 StatQuest 的这个和这个基本视频。
- 除了控制我们的模型从数据中学习多少的任何一种技术之外,一个成熟的实践是分割我们的数据来评估我们的模型,因此我们可以确保它在不同的元素上表现良好。这里是测试分割概念最终出现的地方!我们的想法是将原始数据分成两组:不出意外,训练组将用于训练我们的模型。虽然我们会留下一堆数据,所以一旦我们已经训练了我们的模型,并且我们对它的性能感到满意,我们就可以用一堆全新的数据来评估它,以检查模型是否一致。这将是我们的测试组。如果我们在测试集上获得的分数比在训练组中获得的分数差得多,那么我们很可能过度拟合了训练数据。通常,80-20 或 70-30%的列车测试分割被认为是合理的。
- 最后,我们还可以讨论在评估我们模型的性能时进行交叉验证的概念,但这将不得不等到另一篇文章:)
我们如何用 Python 进行适当的训练测试分割?
像往常一样,Sklearn 让我们的一切变得如此简单,它有一个漂亮的救命库,这对于执行训练测试分割来说非常方便:
from sklearn.model_selection import train_test_split
文档非常清楚,但是无论如何让我们看一个简单的例子:
X_train, X_test, y_train, y_test = train_test_split(your_data, y, test_size=0.2, random_state=123)
现在,下一步将是…哦,等等,就这些!
关于如何实现这个库的内容真的不多。非常简单,现在您将有 4 组不同的数据:
- X_train:这将是你的训练组
- X_test:这将是你的测试组
- Y_train:这将是您的培训组的目标
- Y_test:可以想象,这将是您的测试组的目标
然而,尽管听起来很容易,但是如果您第一次使用该库,即使您已经使用过几次,也可能会面临一些风险或问题。让我们看看它们,这样你就不会像以前发生在我身上的那样掉进兔子洞了。
我在训练测试中犯的 6 个业余错误
- 乱写你的火车测试分割码
是的,虽然听起来很傻,但它有可能成为一个巨大的难题。想象一下,现在是凌晨,你整晚都在处理一个数据集。清理、合并数据、做一些功能工程……很平常的事情。该是你进行火车测试拆分的时候了,这样你可以在睡觉前尝试一个简单的模型。你写你的代码,但不是写:
X_train, X_test, y_train, y_test
例如,您写道:
X_test, X_train, y_test, y_train
听起来很傻?数据科学中最重要的规则之一是,在你对自己的训练/交叉验证分数感到满意之前,不应该透露你的测试分数。但是请记住,您无序地编写了您的训练测试分割代码,因此您得到的分数不是您的训练,而是您的测试分数。你可能会花上几个小时试图理解为什么你的训练数据得到这么低的值。或者更糟糕的是,你可能会因为这样糟糕的表现而放弃你的项目。在任何情况下,这都是一个错误,一旦犯了,就很难发现,这可能会导致花几个小时深入代码,试图解决这个愚蠢的错误。
2。错误输入测试组的大小
您应该指定的参数之一是“train_size”或“test_size”。您应该只使用其中一种,但更重要的是,一定不要混淆它们。否则,您可能只设置了 20–30%的训练集。这可能会导致几个问题。从没有足够的数据来训练适当的模型,到获得太好或太差的结果,这些结果可能会导致您进行一些耗时的进一步分析。
3。除了您的训练数据之外,标准化您的测试组
标准化是将在不同尺度上测量的值调整到一个公共尺度的过程。假设你正试图预测一个人是男是女,给定一组特征,如身高、体重和心率。在这种情况下,所有要素的比例都不同。例如,身高可以用厘米表示,而体重可以用公斤表示。在这种情况下,强烈建议对数据进行归一化处理,以一个通用的比例来表示所有数据。
Sklearn 提供了一个非常友好的库来做这件事,调用:
from sklearn.preprocessing import StandardScaler
归一化过程采用每个要素的平均值和标准偏差,并调整其比例,使其介于-1 和 1 之间,平均值为 0。一旦我们导入了库,我们就可以创建一个对象 StandardScaler,继续进行规范化:
scaler = StandardScaler()
然而,如果我们将数据分成训练组和测试组,我们应该首先使用我们的训练组来适应我们的 StandardScaler 对象,然后使用相同的对象来转换我们的测试组。例如:
scaler.fit(X_train)X_train = scaler.transform(X_train)X_test = scaler.transform(X_test)
为什么我们必须以这种方式规范化数据?请记住,我们将使用我们的数据来训练我们的模型,因此我们希望我们的 StandardScaler 对象注册并继续处理我们的训练集的平均值和标准差,并使用它来转换我们的测试组。否则,我们会做两个不同的变换,取两个不同的平均值和两个不同的标准差。将本应相同的数据视为不同的数据。
4。需要时不打乱数据,反之亦然
我们的 Sklearn train_test_split 的另一个参数是‘shuffle’。让我们保留前面的例子,假设我们的数据集由 1000 个元素组成,其中前 500 个对应于男性,后 500 个对应于女性。此参数的默认值为“True ”,但如果我们由于错误或疏忽将其设置为“False ”,并且我们将数据分成 80-20 份,我们将最终使用包含 500 名男性和 300 名女性的数据集来训练我们的模型,并使用其中仅包含 200 名女性的数据集来测试它。
考虑到缺省值是‘True’,所以如果到了你不想打乱数据的时候,别忘了指定它;)
5。不明智地使用“分层”参数
“分层”参数派上了用场,这样我们的测试组中产生的样本中的值的比例将与提供给参数分层的值的比例相同。这在处理分类问题时特别有用,因为如果我们不为这个参数提供一个类似数组的对象,我们可能会以测试组中目标类的非代表性分布结束。
通常,通过像这样传递目标变量来使用该参数:
X_train, X_test, y_train, y_test = train_test_split(your_data, y, test_size=0.2, ***stratify=y***, random_state=123, shuffle=True)
6。忘记设置“随机状态”参数
最后,这是我们可以在 Sklearn 的几个工具中找到的东西,文档对它的工作原理非常清楚:
如果 int,random_state 是随机数生成器使用的种子;如果是 RandomState 实例,random_state 是随机数生成器;如果没有,随机数生成器就是 np.random 使用的 RandomState 实例。
换句话说:如果你没有指定一个 number 或者 RandomState 对象实例,train_test_split 的每次迭代都会给你不同的组,因为用于进行随机分割的种子是不同的。如果出于某种原因我们必须运行我们的代码,并且我们开始获得不同的结果,这可能会导致混乱。
我的朋友们,这是我在使用火车测试分割时犯的 6 个错误,由于业余爱好者的错误,这些错误使我花费了数小时进行解码和调试。如果你不幸遇到了其他人,我很想听听。一如既往,欢迎任何建设性的批评或建议通过评论区😃
此外,不要忘记查看我上一篇关于 5 分钟内网络抓取的文章以及我的作者简介中关于数据科学的更多内容。如果你喜欢这篇文章,不要忘了关注我,如果你想直接在你的邮箱里收到我的最新文章,就订阅我的时事通讯吧:)
感谢阅读!
熊猫基础知识——6 个有用的技巧
这里有 6 个你需要知道的用 python 处理数据的基本技巧
Panda (Image by skeeze from Pixabay)
熊猫数据科学 python 库,用于数据操作和数据分析。它是数据科学中最常用的 python 库之一。在这篇文章中,我将指导你使用熊猫图书馆阅读、查看和保存 CSV 文件所需的六个基本技巧。
熊猫装置
如果您还没有安装它,您可以通过在终端中输入以下命令来安装。
pip install pandas
有关熊猫图书馆安装的更多信息,请参考以下链接。
[## 安装- pandas 0.25.1 文档
对于没有经验的用户来说,安装 pandas 以及 NumPy 和 SciPy 堆栈的其余部分可能有点困难。的…
pandas.pydata.org](https://pandas.pydata.org/pandas-docs/stable/install.html)
进口熊猫
在 python 程序中导入熊猫很简单。您可以使用下面的代码行来实现这一点。
import pandas as pd
1.创建数据框架
Pandas DataFrame 是具有行和列的二维数据结构。它类似于 SQL 中的表。
创建空数据帧
df = pd.DataFrame()
print(df)
输出:
从 python 列表创建数据帧
num_list = [1,2,3,4,5]
df = pd.DataFrame(num_list)
print(df)
输出:
将 CSV 作为熊猫数据框架导入
df= pd.read_csv('person.csv')
print(df)
输出:
2.快速查看数据帧
导入数据后,您可能希望在深入研究之前先查看一下。您可以使用 head() 方法先睹为快。默认情况下,此方法显示前五行。
df.head()
通过将 n 的值传递给方法 head() ,可以显示 n 行数据。
df.head(10)
或者,您可以使用方法 tail() 来查看数据帧的最后几行。
df.tail()
3.从数据框架访问列
您可以使用两种方法之一来访问数据帧的列
*方法一:*data frame _ instance . column _ name。请注意,如果列名中有空格,此方法将不起作用。
df.Name
*方法 2:*data frame _ instance[’ column _ name ']
df['Name']
4.将列添加到数据框架
在要素工程中,您通常最终会向数据中添加一些要素。Pandas 允许您轻松地向数据框架添加新列。
让我们为 person 数据框的所有行添加一个新列 HasBike 和一个 False 。
df['HasBike'] = False
df.head()
5.从数据框架中删除列
有时,您不想处理所有的数据列。在这种情况下,您可以使用 drop() 方法从 DataFrame 中删除任何列。
让我们从 DataFrame 中删除新创建的列。
df.drop('HasBike', inplace=True, axis=1)
df.head()
6.将数据帧保存为 CSV 文件
这是另一件你应该知道如何使用熊猫的重要事情。要么你已经花了几个小时做特征工程或数据清理,你不想失去你所有的努力。相反,您可以将流程数据帧保存为 CSV 文件,然后在以后需要时导入。
您可以使用 to_csv()方法将数据帧保存到 csv 文件中。
df.to_csv('filename.csv')
这些是使用 Pandas python 库应该知道的一些基本技术:创建数据帧、加载 CSV 文件、向数据帧添加列、从数据帧中删除列以及将数据帧保存到 CSV 文件。
你最喜欢的熊猫技术是什么,你想分享一下吗?请在下面留下你的想法。
点击这里 阅读我其他关于 AI/机器学习的帖子。
来源:
[## 熊猫。数据框架-熊猫 0.25.1 文件
二维大小可变、潜在异构的表格数据结构,带有标记轴(行和列)…
pandas.pydata.org](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html) [## Python |熊猫数据框架-极客论坛
Pandas DataFrame 是二维大小可变的、潜在异构的表格数据结构,带有标记轴…
www.geeksforgeeks.org](https://www.geeksforgeeks.org/python-pandas-dataframe/)
给数据科学家的 6 点建议
综合征、假设、谬误、谎言、意识和概率
Ask Questions!!!
犯错是人之常情。
用这个标准来衡量,谁比我们这些数据科学家更有人情味。
重要的是正视我们的错误。并从中吸取教训。
一个数据科学家需要有的批判性,并且总是留意别人忽略的东西。
但是有时在我们的日常工作和编码中,我们会迷失在我们的思路中,而不能看到全局。
最终,我们的商业伙伴雇佣我们只是为了创造价值,除非我们发展商业批判性思维,否则我们无法创造价值。
因此,这里有一些建议,人们可以将它们纳入日常的数据科学工作中,以便更加勤奋,同时更有影响力。
1.当心干净数据综合症
有多少次我们开始直接处理我们得到的数据。开始创建模型?或者甚至向我们的业务对手展示自动生成的描述性分析?
但是,你有没有问过— 这个数据有意义吗?
错误地假设数据是干净的会让你走向错误的假设。
通过观察数据中的差异,你实际上可以辨别出许多重要的模式。
例如,如果您注意到某个特定的列丢失了 50%以上的值,您可能会考虑删除该列。
但是如果某些数据采集仪器出现了一些误差怎么办?你本可以帮助企业改进流程。
或者说,在女性化妆品行业,男性和女性的比例是 90:10。
人们可以假设数据是干净的,并如实显示结果,或者他们可以运用常识,询问他们的商业伙伴标签是否被调换了。
2.意识到
我们都知道 fab.com。对于那些不知道的人来说,这是一个销售“策划健康、健身和健康产品”的网站。
但情况并不总是如此。
Fab.com 以 fabulis.com 的名字起家, 一个帮助男同性恋者认识人的网站。
该网站最受欢迎的特色之一是“当日同性恋交易”。
一天,交易是汉堡包——一半的购买者是女性。为什么网站上有女性?
以上事实让数据团队意识到,向女性推销商品是有市场的。因此,Fabulis.com 将其商业模式转变为 fab.com,作为设计师产品的销售点。
留意一些不明显的东西。准备好提问。如果你发现了什么,你可能已经找到了金子。
数据可以帮助企业优化收入,但有时数据也有改变公司方向的力量。
另一个例子, Flickr 开始是一个多人游戏。只有当创始人注意到人们将它用作照片上传服务时,他们才转向照片分享应用。
这样的例子数不胜数。
试着在你公司的业务中树立一个好榜样。
3.开始关注正确的指标
我们要优化什么?
大多数企业都没有回答这个简单的问题。
每一个业务问题都有一点不同,要有不同的优化。
例如,网站所有者可能会要求您为活跃用户进行优化。 但难道是 右度量 ? 只是一个虚荣心的度量,总会增加的。
相反,我会努力优化主动了解我的产品性能的用户的百分比。
再比如,我们都创建了分类模型。很多时候,我们试图提高模型的准确性。但是我们真的想要精确度作为模型性能的衡量标准吗?
如果我们在预测将要撞击地球的小行星数量会怎么样。
一直说零就行了。你会有 99%的准确率。我的模型可能相当准确,但一点价值都没有。一个更好的衡量标准是 F 分数。
设计数据科学项目比建模本身重要得多。
4.统计数据有时会说谎,也许很多次
对引用给你的每一件事都要持批评态度。过去,统计数据已经被用于在广告、工作场所和许多其他营销场合撒谎。人们会不择手段来获得销售或促销。
这个统计数字初看起来相当不错。所有牙医都使用高露洁产品;我也应该。对吗?
原来,在调查牙医的时候,他们可以选择几个品牌——而不仅仅是一个。所以其他品牌也可能像高露洁一样受欢迎。
市场部只是一个创造神话的机器。我能理解。
市场部只是一个创造神话的机器。
但当你在研究中看到这种情况时,你会感到痛苦。例如,小型武器调查显示,每 100 名美国人拥有 120 支枪。
假设每个美国人都携带热量是合理的。另一项研究显示,只有 47%的家庭拥有枪支。
你困惑了吗?
有些家庭携带大量枪支。因此,说每个美国人都有武器是不合理的。
也不要相信没有标注 Y 轴的图表。
下图是众议员 Jason Chaffetz(R-UT)在国会听证会上向计划生育主席展示的,展示了堕胎率是如何上升的,拯救生命的程序是如何下降的。
标有坐标轴的真实图片,你可以看到被告知的谎言…
此外,美国预防服务工作组改变了建议,每两年进行一次癌症筛查,而不是每年,这一事实甚至可以解释癌症筛查的下降。
看到政客们展示的图表时要客观。
5.概率的长串规则
事情发生在 1913 年夏天,在摩纳哥的一个赌场里。
赌徒们惊讶地看着赌场的轮盘连续 26 次落在黑色上。
由于红色对黑色的概率正好是一半, 他们确信红色是“应该的”。 对于赌场来说,这是一个热闹的日子——一个赌徒谬误的完美例子,也被称为蒙特卡洛谬误。
这在现实生活中也会发生。 人们倾向于避免长串相同的答案 。有时为了得到一个看起来更公平或可能的决策模式而牺牲判断的准确性。
例如, 如果招生官已经连续批准了三份申请,他可能会拒绝下一份申请, 即使该申请本应根据成绩被接受。
不要屈服于这样的谬误。
这个世界以概率为基础。我们是 70 亿人,每秒钟都在做一件事。
罕见的事件必然会发生。但是不要把你的钱押在他们身上。
6.相关性并不意味着因果关系
你能相信吗——自闭症是由有机食品引起的。很好。或者事实正好相反。自闭症会增加有机食品的销量吗?不完全是。或者也许。
仅仅因为两个变量一前一后一起移动并不一定意味着一个导致另一个。
相关性并不意味着因果关系。
这是数据科学家工具箱中的圣杯。
过去也有过类似的搞笑例子。我最喜欢的一些是:
- 查看消防队的数据,你可以推断出派往火灾现场的消防员越多,造成的损失就越大。
- 一位学者在调查 80 年代纽约市的犯罪原因时,发现严重犯罪的数量和街头小贩卖冰淇淋的数量之间有一种 的强烈关联! 显然,有一个不可观测的变量导致了这两者。夏天是犯罪最严重的时候,也是冰淇淋卖得最多的时候。所以卖冰淇淋不会导致犯罪。这两种犯罪都没有增加冰淇淋的销量。
跟我重复:相关并不意味着因果关系。
如果你想了解更多关于数据科学和机器学习的知识,我想调出吴恩达的这个 精品课程 。这是我开始的原因。一定要去看看。
谢谢你的阅读。将来我也会写更多初学者友好的帖子。
一如既往,我欢迎反馈和建设性的批评,可以通过 Twitter @mlwhiz 联系到我。
Andrew NG 书中的 6 个概念:“机器学习的向往”
《深度学习时代 AI 工程师的技术策略》
机器学习向往的是关于结构化开发机器学习项目。这本书包含在其他地方很难找到的实用见解,以一种易于与队友和合作者分享的格式。大多数技术人工智能课程会向你解释不同的 ML 算法是如何工作的,但这本书会教你如何实际使用它们。如果你渴望成为人工智能领域的技术领袖,这本书将帮助你。从历史上看,学习如何对人工智能项目做出战略决策的唯一方法是参加研究生课程或在公司工作获得经验。机器学习的渴望有助于你快速获得这项技能,使你能够更好地建立复杂的人工智能系统。
目录
- 关于作者
- 介绍
- 概念 1:迭代,迭代,迭代…
- 概念 2:使用单一评估指标
- 概念 3:错误分析至关重要
- 概念 4:定义最佳错误率
- 概念 5:致力于人类能做好的问题
- 概念 6:如何分割数据集
- 摘要
关于作者
Andrew NG 是一名计算机科学家、高管、投资者、企业家,也是人工智能领域的领先专家之一。他是百度的前副总裁兼首席科学家,斯坦福大学的兼职教授,最受欢迎的机器学习在线课程之一的创始人,Coursera.com 的联合创始人和谷歌大脑的前负责人。在百度,他积极参与将他们的人工智能团队扩大到几千人。
简介
这本书以一个小故事开始。想象一下,你想作为一个公司来建立领先的 cat 探测器系统。您已经构建了一个原型,但不幸的是,您的系统性能并不是很好。您的团队就如何改进系统提出了几个想法,但是您不知道应该遵循哪个方向。你可以建造世界领先的 cat 探测器平台,或者浪费几个月的时间沿着错误的方向前进。
这本书告诉你如何在这种情况下做出决定并分清轻重缓急。根据 Andrew NG 的说法,大多数机器学习问题都会留下关于最有希望的下一步以及你应该避免做什么的线索。他继续解释说,学习“阅读”这些线索是我们领域的一项关键技能。
简单来说,ML 向往就是让你深刻理解设定机器学习项目的技术方向。
因为当你提出新的想法时,你的团队成员可能会持怀疑态度,所以他把章节写得很短(1-2 页),这样你的团队成员就可以在几分钟内阅读,理解概念背后的想法。如果你有兴趣阅读这本书,请注意,它不适合完全的初学者,因为它需要对监督学习和深度学习有基本的熟悉。
在这篇文章中,我将出于我的理解,用我自己的语言分享这本书的六个概念。
概念 1:迭代,迭代,迭代…
NG 在整本书中强调,快速迭代至关重要,因为机器学习是一个迭代过程。与其考虑如何为你的问题构建完美的 ML 系统,不如尽快构建一个简单的原型。如果你不是问题领域的专家,这一点尤其正确,因为很难正确猜测最有希望的方向。
你应该在几天内构建第一个原型,然后会弹出一些线索,向你展示改进原型性能的最有希望的方向。在下一次迭代中,您将基于这些线索中的一个来改进系统,并构建它的下一个版本。你会一次又一次地这样做。
他继续解释说,你迭代得越快,你取得的进步就越大。本书的其他概念都是建立在这个原则之上的。请注意,这是为那些只想建立一个基于人工智能的应用程序,而不是在该领域做研究的人准备的。
概念 2:使用单一评价指标
这个概念建立在前一个概念的基础上,关于为什么你应该选择一个单一数字评估指标的解释非常简单:它使你能够快速评估你的算法,因此你能够更快地迭代。使用多种评估指标只会使比较算法变得更加困难。
假设你有两个算法。第一个的准确率为 94%,召回率为 89%。第二种准确率为 88%,召回率为 95%。
在这里,如果你不选择一个单一的评价指标,没有一个分类器是明显优越的,所以你可能需要花一些时间来弄清楚。问题是,在每次迭代中,你都为这个任务损失了很多时间,而且从长远来看,这种情况会越积越多。你会尝试很多关于架构、参数、特性等的想法。如果您使用单一数字评估指标(如 precision 或 f1 分数),它使您能够根据性能对所有模型进行排序,并快速决定哪一个工作得最好。改进评估过程的另一种方法是将几个度量组合成一个度量,例如,对多个误差度量进行平均。
然而,会有需要满足多个度量的 ML 问题,例如:考虑运行时间。NG 解释说,您应该定义一个“可接受的”运行时间,这使您能够快速挑选出太慢的算法,并根据您的单个数字评估指标将满意的算法相互比较。
简而言之,单一数字评估指标使您能够快速评估算法,从而更快地迭代。
概念 3:错误分析至关重要
错误分析是查看算法输出不正确的例子的过程。例如,假设你的猫探测器把鸟误认为猫,而你已经有了几个解决这个问题的方法。
通过适当的错误分析,您可以估计一个改进的想法实际上会提高系统的性能多少,而不必花费几个月的时间来实现这个想法,也不会意识到它对您的系统并不重要。这使你能够决定哪一个想法是最好的花费你的资源。如果你发现只有 9%的误分类图像是鸟类,那么无论你如何改进你的算法在鸟类图像上的性能都没有关系,因为它不会改进超过 9%的错误。
此外,它使您能够快速判断几个并行改进的想法。您只需要创建一个电子表格,并在检查时填写它,例如,检查 100 个错误分类的 dev 集图像。在电子表格中,你为每一张错误分类的图片创建一行,为每一个你想改进的想法创建几列。然后你仔细检查每一张分类错误的图片,并用哪个想法标记这张图片会被正确分类。
之后,你确切地知道,例如,对于 idea-1,系统将正确分类 40 %的误分类图像,idea-2 为 12%,idea-3 仅为 9%。那么你就知道在想法 1 上工作是你的团队应该努力的最有希望的改进。
此外,一旦你开始浏览这些例子,你可能会发现如何改进你的算法的新想法。
概念 4:定义最佳差错率
最佳错误率有助于指导您的后续步骤。在统计学中,它也经常被称为贝叶斯错误率。
想象一下,你正在建立一个语音到文本的系统,你发现 19%的音频文件,你希望用户提交,有这么大的背景噪音,甚至人类都不能识别在那里说了什么。如果是这样的话,你知道即使是最好的系统也可能有 19%左右的误差。相比之下,如果你处理一个最优错误率接近 0%的问题,你可以希望你的系统也能做得一样好。
它还帮助您检测您的算法是否存在高偏差或方差,这有助于您定义改进算法的后续步骤。
但是我们怎么知道最优的错误率是多少呢?对于人类擅长的任务,您可以将您的系统性能与人类的性能进行比较,这将为您提供最佳错误率的估计值。在其他情况下,通常很难定义一个最佳速率,这就是为什么你应该致力于人类可以做得很好的问题,我们将在下一个概念中讨论。
概念 5:解决人类擅长的问题
在整本书中,他几次解释了为什么建议研究人类自己也能做好的机器学习问题。例子有语音识别、图像分类、物体检测等等。这有几个原因。
首先,更容易获得或创建带标签的数据集,因为如果人们能够自己解决问题,他们可以直接为您的学习算法提供高精度标签。
第二,你可以使用人的表现作为你的算法想要达到的最佳错误率。NG 解释说,定义一个合理且可实现的最佳误差有助于加速团队的进展。它还可以帮助您检测您的算法是否存在高偏差或方差。
第三,它使你能够基于你的人类直觉进行错误分析。例如,如果您正在构建一个语音识别系统,而您的模型对其输入进行了错误分类,您可以尝试理解人类将使用哪些信息来获得正确的转录,并使用这些信息来相应地修改学习算法。尽管算法在越来越多人类自己做不好的任务上超越了人类,但你应该尽量避免这些问题。
总而言之,您应该避免这些任务,因为这使得获取数据标签变得更加困难,您不能再依靠人类的直觉,并且很难知道最佳的错误率是多少。
概念 6:如何分割数据集
NG 还提出了一种分割数据集的方法。他建议如下:
**训练集:**有了它,你就训练了你的算法,仅此而已。
**开发集:**该集用于进行超参数调整,选择和创建适当的特征,并进行错误分析。它基本上是为你的算法做决定。
**测试集:**测试集是用来评估你的系统的性能,而不是用来做决策的。只是为了评价,没别的。
开发集和测试集允许您的团队快速评估您的算法执行得有多好。它们的目的是引导你对你的系统进行最重要的改变。
他建议选择开发和测试集,这样一旦你的系统被部署,它们就能反映你希望在未来做得更好的数据。如果您预期数据将与您现在训练的数据不同,这一点尤其正确。例如,您正在训练正常的相机图像,但随后您的系统将只接收手机拍摄的照片,因为它是移动应用程序的一部分。如果您没有足够的手机照片来训练您的系统,就会出现这种情况。因此,您应该选择反映您希望以后在现实中表现良好的测试集示例,而不是您用于训练的数据。
**此外,您应该选择来自同一个发行版的开发和测试集。**否则,您的团队可能会构建出在开发环境中表现良好的东西,却发现它在您最关心的测试数据上表现极差。
摘要
在这篇文章中,你已经了解了机器学习渴望的 6 个概念。现在你知道了,为什么快速迭代是重要的,为什么你应该使用一个单一的评估指标,错误分析是什么,为什么它是至关重要的。此外,您还了解了最佳错误率,为什么您应该研究人类可以做得很好的问题,以及您应该如何分割您的数据。此外,您还了解到您应该挑选开发和测试集数据,以便它们反映您希望在未来做得更好的数据,并且开发和测试集应该来自同一个发行版。我希望这篇文章给你介绍了这本书的一些概念,我可以肯定地说,这本书值得一读。
【https://machinelearning-blog.com】这个帖子最初发表在我的博客上(【T10”)。
来源
- 机器学习的向往https://www.mlyearning.org/
- **Img: “Andrew NG”: T 由 NVIDIA Corporation 根据" CC BY-NC-ND 2.0 "许可证获得。未进行任何更改。链接:https://www.flickr.com/photos/nvidia/16841620756
- img:" Metric ":https://pix abay . com/de/antri EB-auto-verk EHR-stra % C3 % 9Fe-44276/
- Img:“数学错误”:https://pixabay.com/de/fehler-mathematik-1966460/
帮助您编制出色财务报表的 6 种数据分析方法
这一年就要结束了,如果你们中的任何一个人在公司的财务会计相关部门工作,你们必须忙于准备各种年度财务报表。特别是对于刚进入这一领域的初学者来说,如何设计报表以清晰地显示财务分析和业务运营状况是一个挑战。
在财务报表中,与传统的密集表格相比,图表可以将数据可视化,更直观地显示数据,使数据的比较、趋势和结构一目了然。本文从汇总数据分析、发展趋势分析、数据对比分析、构成分析、进度分析、地图分析等方面分析了财务报表中的类图表。我希望我们所有人都能在年底提交非常好的财务报表。
(注意:本文中的所有图表和仪表盘均采用 BI 报告工具 FineReport 。)
1.汇总数据分析
汇总数据分析通常用于计算关键的核心指标,如公司的年经营收入、年消费成本和年净利润,这些往往是决策者最关心的数据。
如下图所示,我们使用 FineReport 的仪表盘组件来计算三个核心指标:公司的年总收入、年成本和净利润。我们将仪表板的最大范围设置为总收入 2.78 亿英镑,并启用了显示百分比的功能。这样,消费成本比率和利润率这两个指标会自动显示出来。
下面是另一个汇总数据分析示例。
From FineReport
2.发展趋势分析
发展趋势分析通常用于直观地比较企业某一连续区间的财务经营数据或财务比率趋势,了解企业财务状况随时间变化的趋势。一方面可以分析数据增减是否存在异常,发现企业可能存在的问题。另一方面,也可以帮助企业预测未来的财务状况,判断发展前景。
我们一般用折线图来表示公司的发展趋势。横轴表示时间(年、月、日),纵轴表示运营收入、成本和盈利能力等指标。
以下仪表板报告是一个结合了汇总数据分析和发展趋势分析的示例。
From FineReport
3.数据比较分析
数据没有对比就没有价值,企业财务分析也是如此。通过各项指标的比较,揭示公司的财务状况、经营状况和现金流量。一般来说,比较分析的参考标准如下。
- 时间对比:与前期和去年同期的实际数据进行对比。
- 实体对比:与同行业先进公司的数据进行对比。
- 结果比较:与计划或预算数据进行比较。
- 结构比较:在成分分析的基础上,比较两个数据的结构,分析财务指标的变化。
条形图和直方图经常被推荐用于数据比较分析。此外,可以根据具体情况使用其他图表,如折线图展示几家公司的存货对比情况,可以使用雷达图(适合快速对比和定位弱点)进行财务指标分类统计对比。
以下仪表板使用条形图、直方图和雷达图。我们在做财务报表分析的时候也可以参考这样一个仪表盘报表。
From FineReport
这是一个结合了圆环图、柱状图和雷达图的财务仪表板。
From FineReport
4.组成分析
构成分析通常可以用来分析每个项目的构成要素的数据,如每个产品的销售构成分析、流动资产构成分析、各部门的管理费用构成分析等。它代表了数据结构的组成。就图表而言,饼图、圆环图、百分比堆积条形图和百分比堆积直方图对于成分分析是常见的。
另外,当你既需要分析数据的组成结构,又需要分析数据的层次结构时,多级饼图无疑是最佳选择。如下图,多级饼图便于计算各省市的销售占比。
这是一份现金流报告,其中使用了饼状图和柱状图。
From FineReport
5.进度分析
在财务报表中,往往需要显示实现某项指标或某项任务的进展情况,如部门的业绩和报告费用的进展情况。在这种情况下,我们可以使用堆积柱形图、堆积条形图和甘特图来显示数据。
6.地图分析
最后,我将介绍与地图相关的数据分析方法。对于大企业来说,除了总部,还有遍布全国甚至全球的分公司。在这种情况下,使用地图来分析基于地理位置的数据更合适。
From FineReport
- 流程图
流图显示流出区域和流入区域之间的交互数据。通常用连接空间元素几何重心的线来表示。线条的宽度或颜色表示流量值。
流量图多用于区域贸易、交通流量、人口迁移、购物消费行为、通讯信息流、航空航线等。
From FineReport
- 热图
热图用于指示地理区域中每个点的权重。除了地图作为背景层,你也可以使用其他图像。热图中的颜色通常是指密度。
最后
以上是我们在做财务报表时常用的六种数据分析方法及对应的图表,可以作为你做数据分析统计时的参考。另外,本文中的图表是用 BI 报表工具 FineReport 制作的。它的个人版是免费下载使用的,并且提供了很多模板供新手学习。你可以自己试试。
您可能也会对…感兴趣
6 项数据科学技能,让您的职业生涯更上一层楼
超越机器学习和编程
曾经有一段时间,想要在数据科学领域找到一份工作,你需要的只是基本的 R 或 Python 技能,以及相当于普通 MOOC 内容的机器学习知识。
我听说是这样。我没有足够的运气那么早进入数据科学领域。
我第一次听说数据科学是在 2015 年,在托马斯·h·达文波特(Thomas H. Davenport)和 D.J .帕蒂尔(D.J. Patil)将数据科学家命名为“21 世纪最性感的工作”近三年后,到那时,数据科学职位的竞争已经开始变得激烈。
随着对数据科学的兴趣逐年增长,许多大学现在都在提供数据科学和分析的硕士学位,我认为可以肯定地说,竞争从那时起变得更加激烈。
也可以肯定地说,完成 Coursera 数据科学专业不再足以让你的简历脱颖而出。
因此,如果你已经可以像老板一样编程,并且你已经完成了如此多的机器学习课程,以至于随机森林和神经网络经常出现在你的梦里,那么你接下来应该专注于哪些技能,以便为你的第一份数据科学工作铺平道路,并在到达那里后进一步提升?
我们为什么不问问雇主呢?
数据科学家最重要的技能
为了了解雇主在数据科学家中寻找什么,我检查了 2019 年 4 月 22 日至 2019 年 5 月 5 日期间在 LinkedIn 上发现的四个英语国家(澳大利亚、加拿大、英国和美国)的 100 份数据科学招聘广告。
招聘广告的选择代表了雇主类型、规模、行业和工作级别的广泛代表性,不考虑纯粹的管理角色。
从这些招聘广告中,我手动提取了作为选择标准或角色日常职责列出的技能的详细信息,并根据它们出现在招聘广告中的比例,确定了最受欢迎的 20 项数据科学技能(不包括编程语言和技术)。
他们在这里:
这些技能可以大致分为三类:
- **建模和统计:**包括机器学习、统计建模和模型部署;
- 数据工程(和编程):包括数据争论、使用数据库和分布式计算(如果我们在分析中包括了编程语言,我也会把它们放在这里);和
- **沟通和专业知识:**包括提供见解、行业知识以及领导和指导初级员工。
在此基础上,您可以确定六项可以培养的技能,从而在这三个类别中培养您的数据科学能力,显著改善您的就业前景:
建模和统计
- 统计建模
- 模型部署
数据工程
- 使用数据库
通信与工程
- 从数据中获得洞察力
- 领导和指导初级团队成员
- 沟通
(如果你想了解为什么这些技能很重要以及你可以做些什么来发展它们,请查看这篇文章:如何成为数据科学的三重威胁)。
应该先重点学习哪些技能?
在我提取的 100 个数据科学招聘广告中,有 15 个是入门级角色(定义为标题中带有“初级”、“研究生”、“实习生”或类似名称的角色);44 人担任中级职务;41 个是高级职位(定义为头衔中有“高级”、“主要”、“领导”或类似的职位)。
下表显示了招聘广告中提及之前确定的六种技能的比例,以及每种技能的排名。
在所有工作级别中,“演示和沟通”一直是数据科学雇主寻求的两大技能之一。此外,随着工作资历的增加,与沟通相关的技能“向非技术受众解释技术概念”和“与客户/利益相关者合作”都变得越来越重要。
因此,显而易见的是,如果你必须选择一项技能来首先专注于学习,那么沟通将是一条出路。
但是为什么只停留在一个呢?
“统计建模/技术”也是所有工作级别的前三大技能之一,是技能发展活动的良好候选,尤其是对处于职业生涯早期阶段的数据科学家而言。
从初级职位到中级职位,提及“统计建模/技术”作为理想技能的招聘广告比例从 53.3%增加到 86.4%。
然而,对于那些希望进入高级职位的人来说,发展领导和指导初级团队成员所需的技能可能是一个更好的选择,特别是对于那些已经发展了统计技能的人来说。
虽然只有 6.7%的入门级数据科学职位需要领导/指导技能,但 58.5%的高级职位需要这些技能(增加了 873%),这使它们成为该级别第五大技能。
结论
掌握上面提到的所有技能可能需要一些时间,但没关系。如果您可以在一个周末内掌握关于数据科学的所有知识,您真的愿意花费数年时间从事数据科学家的工作吗?
然而,通过一次只专注于一两项技能,每周只花几个小时来发展它们,最终你会建立起一套受欢迎的技能,这将帮助你脱颖而出,增加你获得下一个数据科学职位或晋升的机会。
你打算首先关注哪项技能?
Genevieve Hayes 博士是数据科学家、教育家和人工智能及分析专家,拥有Genevieve Hayes Consulting。你可以在LinkedIn或者Twitter上关注她。她还是 价值驱动数据科学 的主持人,这是一个每月两次的播客,面向希望最大化其数据和数据团队价值的企业。
想要发掘企业数据的价值,但不知道从哪里开始?**下载免费的数据科学项目发现指南。