6 种深度学习模型——什么时候应该使用它们?
Photo by Terry Vlisidis on Unsplash
如何以及何时使用不同的深度学习模型。
从人工神经网络到自动编码器
介绍
深度学习是一个不断发展的领域,其应用跨越了许多用例。对于这个领域的任何新手来说,了解和理解深度学习中使用的不同类型的模型是很重要的。在本文中,我将解释以下每个模型:
监督模型
- 经典神经网络(多层感知器)
- 卷积神经网络
- 递归神经网络
无监督模型
- 自组织映射(SOMs)
- 玻尔兹曼机器
- 自动编码器
监督与非监督模型
有许多特征可以区分这两者,但最重要的区别在于这些模型是如何训练的。虽然监督模型是通过特定数据集的示例来训练的,但非监督模型只给定了输入数据,没有可以学习的结果集。所以我们一直试图预测的 y 柱,在无监督的模型中是不存在的。监督模型具有回归和分类等任务,并将生成公式,而非监督模型具有聚类和关联规则学习。
经典神经网络(多层感知器)
经典的神经网络也可以被称为多层感知器。感知器模型是美国心理学家弗兰克·罗森布拉特在 1958 年创造的。它的独特性质允许它通过一系列输入来适应基本的二进制模式,模拟人脑的学习模式。多层感知器是由两层以上组成的经典神经网络模型。
何时使用
- 行和列格式的表格数据集(CSV 文件)
- 给定一组实值作为输入的分类和回归问题。
- 您的模型需要更高的灵活性。人工神经网络可以应用于不同类型的数据。
卷积神经网络
卷积神经网络(CNN)是经典人工神经网络的一种更强大、更高级的变体,旨在处理大量复杂的预处理和数据计算。
CNN 是为图像数据设计的,可能是图像分类问题中最有效和最灵活的模型。尽管 CNN 并不是专门为处理非图像数据而构建的,但它们也可以用非图像数据获得令人惊叹的结果。
将输入数据导入模型后,构建 CNN 有 4 个部分:
1 .卷积:从我们的输入数据中创建特征图的过程。然后应用一个函数来过滤地图。
2。 Max-Pooling :使我们的 CNN 能够检测到修改后的图像。
3。展平:将数据展平成一个数组,这样 CNN 就可以读取了。
4。全连接:隐藏层,也为我们的模型计算损失函数。
何时使用
- 图像数据集(包括 OCR 文档分析)。
- 输入数据是一个二维字段,但可以在内部转换为一维,以便更快地处理。
- 当模型在计算输出时可能需要很大的复杂性时。
递归神经网络
递归神经网络(RNNs)是为预测序列而发明的。LSTM(长短期记忆)是一种流行的 RNN 算法,有许多可能的用例:
何时使用:
- **一对一:**单个输入映射到单个输出。
例如—图像分类 - **一对多:**单个输入映射到一系列输出。
例如——图像字幕(单幅图像中的多个单词) - 多对一:一系列的输入产生单一的输出。
例如——情感分析(多个单词的二进制输出) - **多对多:**一个输入序列产生一个输出序列。
例如,视频分类(将视频分割成帧,并分别标记每一帧)
自组织地图
自组织映射或 som 处理无监督的数据,通常有助于降维(减少模型中的随机变量)。对于自组织地图,输出维度始终是二维的。因此,如果我们有两个以上的输入特征,输出减少到二维。每个连接输入和输出节点的突触都有一个权重。然后,每个数据点竞争模型中的表示。最近的节点称为 BMU(最佳匹配单元),SOM 更新其权重以更接近 BMU。随着模型的进展,BMU 的邻居不断减少。节点越靠近 BMU,其权重变化越大。
注:权重是节点本身的一个特性,它代表节点在输入空间中的位置。这里没有激活函数(权重不同于人工神经网络中的权重)。
何时使用:
- 当提供的数据不包含输出或 Y 列时。
- 探索项目,了解数据集背后的框架。
- 创意项目(AI 制作的音乐/文字/视频)。
- 用于特征检测的降维方法。
玻尔兹曼机器
在上面的 4 个模型中,有一个共同点。这些模型在某个方向起作用。即使 som 是无监督的,它们仍然像有监督的模型一样在特定的方向上工作。我说的方向是指:
输入→隐藏层→输出。
玻尔兹曼机器并不遵循某个方向。所有的节点在一个圆形的超空间中相互连接,就像图中一样。
玻尔兹曼机器也可以生成模型的所有参数,而不是用固定的输入参数工作。
这种模型被称为随机模型,不同于上述所有确定性模型。受限玻尔兹曼机更实用。
何时使用:
- 监控系统时(因为 BM 将学会调节)
- 构建二元推荐系统
- 当处理一组非常具体的数据时
自动编码器
自动编码器的工作原理是基于输入值自动编码数据,然后执行激活功能,最后解码数据以输出。对输入要素施加了某种瓶颈,将它们压缩成更少的类别。因此,如果数据中存在某种固有结构,自动编码器模型将识别并利用它来获得输出。
自动编码器的类型/变化:
- 稀疏自动编码器:隐藏层大于输入层,但应用了正则化技术来减少过拟合。对损失函数添加约束,防止自动编码器一次使用其所有节点。
- **去噪自动编码器:**另一种正则化技术,其中我们采用我们的输入值的修改版本,其中我们的一些输入值随机变为 0。
- **收缩自动编码器:**当隐藏层大于输入层时,为损失函数增加一个惩罚,以防止值的过度拟合和复制。
- **堆叠自动编码器:**当你添加另一个隐藏层时,你得到一个堆叠自动编码器。它有两个编码阶段和一个解码阶段。
何时使用:
- 维度缩减/特征检测
- 构建强大的推荐系统(比 BM 更强大)
- 对海量数据集中的要素进行编码
链接
感谢阅读!希望你学到了新的有用的东西。
[## 我如何在一对一、一对多、多对一、多对一和多对多之间选择…
答:这取决于应用。引用 Andrej(来自循环神经的不合理有效性…
www.quora.com](https://www.quora.com/How-can-I-choose-between-one-to-one-one-to-many-many-to-one-many-to-one-and-many-to-many-in-long-short-term-memory-LSTM) [## SOM 教程第 1 部分
Kohonen 的自组织特征图“我无法清楚地表达我对那些认为……
www.ai-junkie.com](http://www.ai-junkie.com/ann/som/som1.html) [## 何时使用 MLP、CNN 和 RNN 神经网络
什么样的神经网络适合你的预测建模问题?对初学者来说……可能很难
machinelearningmastery.com](https://machinelearningmastery.com/when-to-use-mlp-cnn-and-rnn-neural-networks/) [## 自动编码器介绍。
自动编码器是一种无监督的学习技术,其中我们利用神经网络来完成表示的任务…
www.jeremyjordan.me](https://www.jeremyjordan.me/autoencoders/)
关注更多机器学习/AI 相关内容
罗汉·古普塔
补偿数据集中缺失值的 6 种不同方法(数据插补,附示例)
Photo by Vilmos Heim on Unsplash
统计估算数据集中缺失值的常用策略。
由于各种原因,许多现实世界的数据集可能包含缺失值。它们通常被编码为名词、空格或任何其他占位符。使用具有大量缺失值的数据集来训练模型会极大地影响机器学习模型的质量。一些算法如 scikit-learn 估计器假设所有的值都是数字的,并且拥有有意义的值。
处理这个问题的一个方法是去掉有缺失数据的观测值。但是,您可能会丢失包含有价值信息的数据点。更好的策略是估算缺失值。换句话说,我们需要从数据的现有部分推断出那些缺失的值。缺失数据主要有三种类型:
- 完全随机失踪(MCAR)
- 随机失踪(三月)
- 不是随意失踪(NMAR)
然而,在这篇文章中,我将重点介绍 6 种流行的横截面数据集的数据插补方法(时间序列数据集是一个不同的故事)。
1-什么都不做:
这很简单。你只是让算法处理丢失的数据。一些算法可以考虑缺失值,并基于训练损失减少(即 XGBoost)。有些人可以选择忽略它们(即。light GBM—use _ missing = false。然而,其他算法会惊慌失措,并抛出一个报错值(即。Scikit learn —线性回归)。在这种情况下,您需要处理丢失的数据,并在将它提供给算法之前对其进行清理。
让我们看看在训练前估算缺失值的其他方法:
注意:下面所有的例子都使用了 Scikit-learn 的 加州住房数据集 。
2-使用(平均值/中值)的插补:
其工作原理是计算一列中非缺失值的平均值/中值,然后独立地替换每列中缺失的值。它只能用于数值数据。
Mean Imputation
优点:
- 简单快捷。
- 适用于小型数值数据集。
缺点:
- 不考虑特征之间的相关性。它只在列级别有效。
- 将对编码的分类特征给出较差的结果(不要对分类特征使用它)。
- 不太准确。
- 没有考虑插补的不确定性。
Mean/Median Imputation
3-使用(最频繁)或(零/常数)值的插补:
最常见的是另一种估算缺失值的统计策略,没错!!它通过用每列中最频繁的值替换缺失数据来处理分类特征(字符串或数字表示)。
优点:
- 适用于分类特征。
缺点:
- 它也没有考虑特征之间的相关性。
- 它会在数据中引入偏差。
Most Frequent Imputation
零或常数插补——顾名思义——用零或您指定的任何常数值替换缺失值
4-使用 k-NN 的插补:
k 最近邻是一种用于简单分类的算法。该算法使用“特征相似度来预测任何新数据点的值。这意味着根据新点与训练集中的点的相似程度为其赋值。这对于预测缺失值非常有用,方法是找到与缺失数据的观测值最接近的 k 的邻域,然后基于邻域中的非缺失值对其进行输入。让我们看一些使用[Impyute](https://impyute.readthedocs.io/en/master/#)
库的示例代码,该库提供了一种使用 KNN 进行插补的简单易行的方法:
KNN Imputation for California Housing Dataset
它是如何工作的?
它创建一个基本的均值估算,然后使用生成的完整列表来构建一个 KDTree。然后,它使用生成的 KDTree 来计算最近邻(NN)。在找到 k-nn 之后,它对它们进行加权平均。
优点:
- 可能比平均值、中间值或最常见的插补方法更准确(取决于数据集)。
缺点:
- 计算开销很大。KNN 的工作原理是将整个训练数据集存储在内存中。
- K-NN 对数据中的异常值非常敏感(不同于 SVM )
5-使用链式方程多元插补的插补(小鼠)
Main steps used in multiple imputations [1]
这种类型的插补通过多次填充缺失数据来实现。多重插补(MIs)比单一插补好得多,因为它以更好的方式衡量缺失值的不确定性。链式方程方法也非常灵活,可以处理不同数据类型的不同变量(即连续或二进制)以及诸如边界或勘测跳跃模式的复杂性。关于算法机制的更多信息,你可以参考 R 研究论文
MICE imputation using impyute
6-使用深度学习的插补(数据偏移):
这种方法非常适用于分类和非数字特征。它是一个库,使用深度神经网络学习机器学习模型,以估算数据帧中的缺失值。它还支持 CPU 和 GPU 进行训练。
Imputation using Datawig
优点:
- 与其他方法相比相当准确。
- 它有一些可以处理分类数据的函数(特征编码器)。
- 它支持 CPU 和 GPU。
缺点:
- 单列插补。
- 对于大型数据集可能会非常慢。
- 您必须指定包含要估算的目标列信息的列。
其他插补方法:
随机回归插补:
它与回归插补法非常相似,回归插补法试图通过从同一数据集中的其他相关变量加上一些随机残差值进行回归来预测缺失值。
外推和内插法:
它试图从一组离散的已知数据点范围内的其他观察值中估计值。
热卡插补:
工作原理是从一组相关和相似的变量中随机选择缺失值。
总之,没有完美的方法来补偿数据集中缺失的值。对于某些数据集和缺失数据类型,每种策略的性能都较好,但对于其他类型的数据集,性能可能会差得多。有一些固定的规则来决定对特定类型的缺失值使用哪种策略,但除此之外,您应该试验并检查哪种模型最适合您的数据集。
参考文献:
- [1] Buuren,S. V .,& Groothuis-oudshorn,K. (2011 年)。Mice:用链式方程进行多变量插补
- https://impyute.readthedocs.io/en/master/index.html
6-在您的组织中成功实施机器学习解决方案的基本实践。
成功成为人工智能驱动企业的高管指南。
Executive’s Guide To Machine Learning
介绍
McKinsey Insights 最近发布了其全球人工智能调查,并讨论了人工智能对多家公司产生的影响的许多方面。真正吸引我眼球的是人工智能高性能公司与其他公司之间的比较。根据所做的比较,拥有清晰的企业级用例路线图、分析&业务部门之间稳固的跨职能协作、供专业人士使用的标准人工智能工具集、了解频繁更新人工智能模型并系统跟踪一套全面的定义良好的人工智能 KPI 的公司比市场上的其他公司表现好 3.78 倍。
这项调查的结果与我们在m trons与多家公司合作的经历极其一致。我很高兴地说,我们合作的大多数公司都在成为人工智能高绩效者的明确轨道上。为了达到 AI 高绩效状态,我们设计了六个基本实践,为我们的客户带来了成功的结果。
01.建立一个与企业级目标一致的强大人工智能战略
“机器学习不是魔法”
我们已经看到许多高管一头扎进从头开始构建机器学习程序。但是很棘手。它需要大量的前期投资、最小化信息不对称、最小化惯性、清晰的路线图和利益一致。
这里的关键是建立一个与你的公司目标一致的战略。公司需要理解,为了建立强大的数据战略并使其与公司级目标保持一致,it 需要将各种利益相关者聚集在一起,并在制定战略时查看经验数据。通过定义明确的目标和了解所需的基础设施,公司可以成功地评估此类计划的成功概率。这就把我们带到了下一点。
02.定义清晰的目标和用例
提前定义你的机器学习目标!句号。没有对自己想要达到的目标的清晰认识,就很难衡量成功。例如,一家公司可能希望实现总收入增加 20%或成本降低 10%。这是公司层面的目标。现在,管理层可以轻松决定直接影响收入或成本的用例,例如,优化营销活动以增加总体收入,或通过准确预测房价来增加房地产投资回报。通过清晰地定义路线图,成功的概率会增加,失败的风险会降低 40%以上。
03.定义数据质量标准
这里有一条黄金法则需要记住:机器学习算法的好坏取决于它得到的数据。因此,为了有效地使用机器学习,你必须拥有你试图解决的问题的正确数据。而不仅仅是几个数据点。机器需要大量的数据来学习——想想成百上千的数据点。
您的数据需要针对算法进行格式化、清理和组织,并且您需要两个数据集:一个用于训练模型,另一个用于评估模型的性能。因此,在挑选出用例之后,筛选出那些有数据可用的用例,以及那些能够快速全面产生价值的用例。争取多个较小的成功,并制定明确的数据战略。
04.利用组织内的数据分析师&商业智能专家
公民数据科学家(Citizen Data Scientist)是 Gartner 创造的一个术语,指的是需要或希望实现机器学习技术的数据分析专业人员或数据专业人员。
这些专业人员通常是数据分析师或 BI 分析师。他们专注于在已经发生的事件的数据中寻找趋势(描述性分析),并在仪表板、静态报告和图表中表达他们的结果。
他们通常在销售、营销、财务或人力资源等业务部门工作,对其部门面临的业务挑战有着深入的了解。
为什么公民数据科学家很重要?
由于全球缺乏训练有素的数据科学家,您需要为您的数据分析专业人员和其他领域信息专家提供成为公民数据科学家所需的工具和支持。
然而,现在有了强大的工具,使他们能够使用比数据分析专业同行更具深度和广度的数据来解决业务问题。
Gartner 估计,到 2020 年,超过 40%的数据科学任务将实现自动化
m trons+公民数据科学家
数据分析专业人员具有深厚的领域专业知识,并认识到其部门的核心业务挑战。他们对可用数据有很好的理解,但不能经常执行一些区分分析师和公民数据科学家的数据科学任务。
Mltrons 的简化和自动化机器学习平台复制了通常由专家数据科学家手动执行的任务和流程,允许用户快速实施机器学习解决方案,而无需编写一行代码。
公民数据科学家只需上传一个数据集,并根据他们希望解决的实际业务问题选择一个目标变量。
Mltrons 的平台自动应用数据准备、预处理、特征工程、模型训练和验证的最佳实践。
然后,该平台会自动选择最适合的算法,并揭示通常未被注意到的见解,同时用所有相关利益方都能理解的简单语言解释结果。
05.围绕数据建立你的文化&人工智能
各部门的分析专业人员有能力确定机器学习的最佳用例,然后他们可以使用 mltrons 平台来构建和实施机器学习模型。
为了在您的组织中充分利用机器学习,您需要拥有正确心态的正确团队。后者需要文化转变,在整个组织中优先考虑和奖励实验、测量和测试。从机器学习中产生价值是一个需要时间和持续监控的过程。通过由充满激情的个人组成的专门团队全面实施人工智能,成功的概率会大大增加。
06。起步快,迭代快!
随着数据量的增加和对更深入洞察的需求,组织需要立即采取行动。有了机器学习,就有可能快速自动地产生模型,这些模型可以分析更大、更复杂的数据,并提供更快、更准确的结果——规模化。通过建立精确的模型,组织有更好的机会识别有利可图的机会。
竞争日益激烈,人才短缺,因此,如果公司希望在今天的数据时代保持相关性,他们需要迅速行动,开始建立自己的人工智能战略。
最终意见
我希望你喜欢这篇文章,并发现它的信息。我们祝你的人工智能之旅一切顺利。遵循一个结构化的框架并衡量你的成功,我们确信你的人工智能计划将会非常成功!
如果您有任何问题或疑问,请随时联系我们。你可以访问这个网站了解更多。
参考
如果您使用 Excel、Tableau、SQL 等工具,并且对您的业务和数据有很好的理解,那么您已经…
www.mltrons.com](https://www.mltrons.com)
https://www . mltrons . com/increase _ ROI _ with _ accurate _ forecasts
构建机器学习系统的六个重要步骤
思考 ML 项目的现场指南
创建一个伟大的机器学习系统是一门艺术。
在构建一个伟大的机器学习系统时,有很多事情需要考虑。但是经常发生的是,我们作为数据科学家只担心项目的某些部分。
大多数时候,这只是建模,但在现实中,机器学习项目的成败取决于许多其他因素。
机器学习管道不仅仅是创建模型
必须了解在训练模型之前以及在训练模型并将其部署到生产中之后会发生什么。
这篇文章是关于解释端到端数据项目管道中所涉及的内容。这是我职业生涯中很晚才学到的东西。
1.问题定义
这一条很明显——定义了一个问题。
而且,这可能是整个练习中最关键的部分。
那么,如何给机器学习定义一个问题呢?
这取决于很多因素。在我们考虑的所有因素中,第一个应该是理解 它将如何给业务带来好处 。
这是任何数据科学项目的圣杯。如果您的项目对业务没有帮助,它就不会被部署。句号。
一旦你有了想法并确定了业务兼容性,你需要 定义一个成功的衡量标准 。
现在,成功是什么样子的?
是 90%的准确率还是 95%的准确率还是 99%的准确率。
嗯,我可能对 70%的预测准确率感到满意,因为普通人永远不会超过这个准确率,同时,你可以自动化这个过程。
当心, 这不是制定远大目标的时候;现在是时候理性而明智地看待每 1%的精度变化对成功的影响了。
例如:对于点击预测问题/欺诈应用程序,与评论情绪预测准确度提高 1%相比,准确度提高 1%将提高业务底线。
并非所有精度的提高都是同等的
2.数据
在为您的机器学习模型进行数据采集和数据创建时,您需要回答几个问题。
这里要回答的最重要的问题是: 你的模型需要实时工作吗?
如果是这样的话,你就不能使用像 Hive/Hadoop 这样的系统进行数据存储,因为这样的系统可能会引入大量的延迟,并且适合离线批处理。
你的模型需要实时训练吗?
如果您的 ML 模型的性能随着时间的推移而下降,如上图所示,您可能需要考虑实时训练。RT 训练可能对大多数点击预测系统有益,因为互联网趋势变化相当快。
测试和训练数据是否存在不一致?
或者简而言之— 你怀疑生产数据来自与训练数据不同的分布?
例如:在一个点击预测问题的实时训练中,你给用户看广告,他没有点击。是失败的例子吗?也许用户通常在 10 分钟后点击。但是您已经创建了数据,并在此基础上训练了您的模型。
在为模型准备数据时,有许多因素需要考虑。你需要提出问题,从头到尾思考这个过程,这样才能在这个阶段取得成功。
3.估价
我们将如何评估模型的性能?
这里的黄金标准是训练-测试-验证的分割。
我们经常通过抽样来建立一个训练验证测试集,却忘记了一个隐含的假设——数据很少是 IID 分布的(独立同分布)。
简单来说,我们假设每个数据点都是相互独立的,并且来自同一个分布,这种假设即使不是完全错误,也是错误的。
对于一个互联网公司来说,2007 年的一个数据点和 2019 年的一个数据点是非常不同的。它们不是来自同一个发行版,因为有很多因素——网络速度是最重要的。
如果你有一个猫对狗的预测问题,你很擅长随机抽样。但是,在大多数机器学习模型中,任务是预测未来。
您可以考虑使用时间变量分割数据,而不是从数据中随机取样。例如:对于点击预测问题,您可以将截至上个月的所有过去数据作为训练数据,将上个月的数据作为验证数据。
接下来你需要考虑的是基线模型。
假设我们使用 RMSE 作为时间序列模型的评估指标。我们在测试集上评估了该模型,结果 RMSE 为 4.8。
那是好的 RMSE 吗?我们怎么知道?我们需要一个基线 RMSE。这可能来自同一任务的当前采用的模型。或者通过使用一些简单的模型。对于时间序列模型,要克服的基线是最后一天的预测。即预测前一天的数字。
对于 NLP 分类模型,我通常在 Countvectorizer(词袋)上设置基线为 Logistic 回归模型的评估度量(准确率、F1、log loss)。
你还应该考虑如何在多个小组中打破评价,这样你的模型就不会产生不必要的偏见。
去年,亚马逊因一个秘密的人工智能招聘工具出现在新闻中,该工具显示出对女性的偏见。为了从这种不一致中拯救我们的机器学习模型,我们需要在不同的组上评估我们的模型。也许我们的模型对女性没有对男性那么准确,因为在训练数据中女性的数量要少得多。
或者,一个预测某个产品是否会被购买的模型对于某个特定的产品类别非常有效,而对于其他产品类别则无效。
事先将这些事情记在心里,并准确地思考特定评估方法可能会出什么问题,这肯定会帮助我们设计一个好的 ML 系统。
4.特征
好的特征是任何机器学习模型的支柱。而且通常是你花最多时间的部分。我已经看到,这是你可以调整最大模型性能的一部分。
好的特性创建通常需要领域知识、创造力和大量时间。
除此之外,不同型号的特征创建练习可能会有所不同。例如,神经网络和 XGboost 的特征创建非常不同。
理解创建特征的各种方法本身就是一个相当大的话题。我在这里写了一篇关于特性创建的文章。请务必看一看:
对特征工程技术的详尽研究
towardsdatascience.com](/the-hitchhikers-guide-to-feature-extraction-b4c157e96631)
一旦创建了大量的特征,下一步可能要做的就是移除多余的特征。这里有一些方法做到这一点
额外收获:是什么让一个优秀的足球运动员变得伟大?
towardsdatascience.com](/the-5-feature-selection-algorithms-every-data-scientist-need-to-know-3a6b566efd2)
5.建模
现在到了我们最关心的部分。为什么不呢?这是我们在项目结束时交付的部分。这是我们花了那么多时间在数据获取和清理、功能创建等方面的部分。
那么我们在创建模型的时候需要思考什么呢?
你可能需要问我们自己的第一个问题是 你的模型是否需要可解释?
有相当多的用例,业务可能需要一个可解释的模型。一个这样的用例是当我们想要做属性建模的时候。这里我们定义了各种广告流(电视、广播、报纸等)的效果。)在收益上。在这种情况下,理解来自每个广告流的响应变得至关重要。
如果我们需要最大化准确性或任何其他指标,我们仍然希望使用像 NeuralNets 或 XGBoost 这样的黑盒模型。
除了型号选择,您还应该考虑其他事情:
- ***模型架构:***NNs 多少层,或者 GBT 多少树或者你需要如何为线性模型创建特征交互。
- 如何调超参数?: 你应该尝试自动化这个部分。市场上有很多这方面的工具。我倾向于使用远视。
6.实验
现在您已经创建了您的模型。
它比基线/您当前的模型表现得更好。我们应该如何前进?
我们有两个选择-
- 不断改进我们的模型。
- 在生产环境中测试我们的模型,获得更多关于可能出错的信息,然后通过 持续集成继续改进我们的模型。
我支持第二种方法。在 Coursera 深度学习专业的第三门名为《构建机器学习项目》的课程中,吴恩达说
“不要一开始就试图设计和构建完美的系统。相反,快速建立和训练一个基本系统——也许只需要几天。即使基本系统远非你所能构建的“最佳”系统,考察基本系统的运行方式也是有价值的:你会很快找到线索,向你展示最有希望投入时间的方向。
我还要强调的一点是 持续集成 。如果您当前的模型比现有的模型执行得更好,为什么不在生产中部署它,而不是在增量收益后运行?
为了测试您的模型优于现有模型的假设的有效性,您可以设置一个 A/B 测试。一些用户(测试组)看到您的模型,而一些用户(控制组)看到以前模型的预测。
您应该始终致力于最小化您的模型的首次在线实验的时间。这不仅产生了价值,而且通过实时反馈让你了解你的模型的缺点,然后你可以继续工作。
结论
机器学习没有什么是简单的。任何事情都不应该被假设。
在构建 ML 管道时,您应该始终对您所做的任何决定保持批判态度。
一个简单的决策可能决定你的机器学习项目的成败。
所以聪明地想,想得很多。
这篇文章是增加我对机器学习生态系统的理解的一部分,灵感来自脸书工程团队的一组很棒的视频。
如果你想了解更多关于如何构建机器学习项目和最佳实践的信息,我想调出他在 Coursera 深度学习专业化中的第三门名为构建机器学习项目的课程。一定要去看看。
谢谢你的阅读。将来我也会写更多初学者友好的帖子。在 媒体 关注我,或者订阅我的 博客 了解他们。一如既往,我欢迎反馈和建设性的批评,可以通过 Twitter @mlwhiz 联系到我。
数据分析师需要掌握的 6 项关键技能
在数据运营理念不断深入的今天,越来越多的公司意识到数据驱动的商业战略的价值,强调全员参与数据运营。发展分析数据的能力也是未来的趋势。那么你知道如何成为一名优秀的数据分析师,如何在就业市场上保持竞争力吗?以下是数据分析师需要掌握的 6 项关键技能。
From Google
1.擅长
Excel 是日常工作中常见的数据分析工具。而且这个工具很容易上手。它不仅可以做简单的二维表格、复杂的嵌套表格,还可以创建折线图、柱形图、条形图、面积图、饼图、雷达图、组合图、散点图等。
此外,Excel 还可以实现更多高级功能,包括数据透视表(类似于 BI 的多维分析模型立方体)和 Vlookup 等复杂函数。它可以轻松处理成千上万条数据。
学习 excel 是一个循序渐进的过程。
- 基础:简单的表格数据处理、打印、查询、过滤、排序
- 函数和公式:常用函数、高级数据计算、数组公式、多维引用
- 可视化 :图形显示、高级图表、图表插件
- 数据透视表,VBA 程序开发
做数据分析师,要掌握高级的 Excel 技能。
2.结构化查询语言
数据分析师要熟悉 Oracle、SQL Server、DB2、MySQL、MongoDB 等常用数据库。此外,他们知道如何编写 SQL,包括各种统计函数,如 join、group by、order by、distinct、sum、count、average 等。
除了熟练使用 SQL 语句,数据分析师还应该了解数据库的存储和读取过程。在处理大数据量时,如何找到加快程序速度、减少网络流量、提高数据库安全性的方法是非常重要的。
3。数据可视化
数据分析 的结果最终是呈现给别人的,可视化技能也是衡量数据分析师水平的一个指标。我们希望确保为数据选择正确的 图表类型 ,并快速清晰地显示结果。
像 D3.js、HighCharts、Tableau、PowerBI 这些数据可视化工具都有自己的优势。您必须精通至少一种可视化工具。想知道可以学习哪些工具,可以看看这篇文章2019你不能错过的 9 个数据可视化工具。
以我为例,我在工作中经常使用 FineReport ,这是基于“无代码开发”理念设计的。FineReport 可以直接连接各类数据库,定制各种复杂报表,酷炫 仪表盘 ,方便快捷。
From FineReport
在这一点上,如果你掌握了以上技巧,你就可以算是一名合格的分析师了。这个阶段的数据分析师需要知道如何使用工具处理数据,了解业务场景,分析解决基本问题。之后,如果你想钻研技术,甚至向数据科学家方向发展,就要学习以下技巧。
4.统计数字
首先你必须系统地学习统计学。纯机器学习强调算法的预测能力和实现,但统计学一直强调可解释性。你需要理解数据背后的原理。下面这些统计方法都是你可以学习的。
- 数据挖掘相关的统计方法:多元逻辑回归分析、非线性回归分析、判别分析等。
- 定量方法:时间轴分析、概率模型、优化
- 决策分析:多目标决策分析、决策树、影响图、敏感性分析
- 竞争优势分析:通过项目和成功案例学习基本的分析概念
- 数据库原理:数据模型,数据库设计
- 预测分析:时间轴分析、主成分分析、非参数回归、统计过程控制
- 数据管理 : ETL(提取、转换、加载)、数据治理、管理职责、元数据
- 优化和启发式:整数规划、非线性规划、局部探索、超灵感(模拟退火、遗传算法)
- 大数据分析:学习非结构化数据概念、MapReduce 技术、大数据分析方法
- 数据挖掘:聚类(k-means 法、分割法)、关联规则、因子分析、生存时间分析
- 风险分析和运营分析的计算机模拟
- 软件级分析:组织级分析主题、IT 和业务用户、变更管理、数据主题、演示和沟通
5.程序设计语言
精通一些编程语言可以让数据分析工作更加灵活。编程语言适用于所有类型的数据。大多数新奇的仪表盘都可以用代码或绘图软件来实现。
1) Python
Python 最大的优势是擅长处理大量数据,性能好,不停机。它特别适合于繁琐的计算和分析。而且,Python 的语法很容易读懂。它更受 It 人员的欢迎,因为它能够用许多模块创建数据图。
Chart made with Python
2) HTML & JavaScript & CSS
很多可视化软件都是基于 web 的,可视化开发离不开编程语言。随着人们越来越依赖浏览器工作,网络浏览器的功能也越来越好。使用 HTML、JavaScript 和 CSS,您可以直接运行可视化显示程序。
****
Interactive calendar
3) R
R 语言是统计学家最喜欢的分析软件。它是开源免费的,图形功能非常强大。
r 是为数据分析设计的。它最初是为统计学家和数据科学家设计的。然而,由于数据分析的日益普及,R 语言的使用并没有受到限制。
R 的使用流程非常清晰。有很多支持 R 的工具包,只要把数据加载到 R 中,写一两行代码就可以创建数据图了。例如,使用 Portfolio toolkit 快速创建下面的层次图。
FlowingData Map
Heat map made with R
6.人工智能和机器学习
人工智能是当今最热门的话题之一,也就是把人的智能赋予机器。有大量应用人工智能的工具,包括搜索和数学优化,以及逻辑推理。基于仿生学和认知心理学的算法,基于概率和经济学的算法也在探索中。
而机器学习是人工智能的一个分支**。机器学习算法是从数据中自动分析并获取规则,并利用规则预测未知数据的一类算法。它已被广泛应用于数据挖掘、计算机视觉、自然语言处理、搜索引擎、医疗诊断、证券市场分析等领域。**
如果你想成为一名优秀的数据分析师,你必须站在数据科学的前沿,了解行业趋势。你必须了解人工智能和机器学习的概念。在未来,你也许可以将这些技术创新性地引入到你的工作中。
最后,请再问自己一次:你真的喜欢 数据分析 吗?在处理大量数据时,你是觉得枯燥单调还是觉得有趣有挑战性?如果你决定长期从事数据分析师的工作,或者你想知道如何向数据分析职业过渡,你可以从提高上述技能开始。
您可能也会对…感兴趣
作为新数据科学领导者的 6 个经验教训
每当我阅读一本书的评论时(特别是如果评论是混杂的),我认为如果我对评论的作者有更多的了解,那些评论会对我更有用。
他们通常喜欢什么样的书?如果是课本,他们对题目已经有什么水平的知识了?他们拿起这本书的目的是什么?这样我可以更有效地判断他们的阅读建议是否适用于我,以及我是否应该根据这些陌生人的意见做出未来的阅读决定。
沿着同样的思路,我也想简单描述一下我的情况和背景,这样作为一个读者,你就有更多的背景来判断我学到的东西在多大程度上适用于你的情况。
Photo credit: https://unsplash.com/photos/sfL_QOnmy00
我是一名计算机语言学家和计算机科学家。在做了几次工程和研发方面的实习后,我在 T2 的 trivago T3 得到了一份全职数据科学家的工作。在接受领导职位之前,我在一个数据科学团队中担任这一角色两年多一点,最初领导一个由两名数据科学家组成的小团队。
这是我第一次担任领导职务。
从那以后,一年多过去了,我仍然在这个领导位置上,看着我的团队成长,收缩,再成长到现在的 6 人团队(5 名数据科学家和 1 名产品经理)。我自己的领导是一个有商业背景的人,他看到了数据驱动决策和数据驱动产品的很多价值。他总共监管 4 个团队(都是技术性很强的团队,是数据科学和工程的混合体),并大力投资营造一个环境,让数据科学家能够解决有趣的问题,同时为企业创造价值。
我从个人贡献者(IC)角色到领导角色的转变是技术领域中一个非常典型的转变。因此,我相信,在数据科学团队不断壮大的许多其他组织中,也可以找到与我非常相似的经历。因此,我希望我对这个主题的思考可以对其他一些数据科学家有用,他们可能对自己的新挑战感到怀疑,并正在寻找其他人的观点,他们曾经坐在同一条船上。
1.不确定没关系。比以前更是如此。
Photo credit: https://unsplash.com/photos/RXWgx93tz8w
如果你已经在数据科学团队中工作过,你可能对不确定性并不陌生。你过去很可能参与过一些绿地项目。也许你甚至领导过其中的一些人。其中一些可能已经成功,而另一些可能没有达到预期的目标。作为一名数据科学家,你自然知道探索性项目的不确定性,如果你在一个非常适合数据科学工作的环境中工作,你和你的领导都会接受这种不确定性。
现在,作为一个团队的领导者,你会感到不确定性比以前更加沉重地压在你的肩膀上。如果我的团队参与的项目失败了怎么办?作为一个领导者我应该做什么?万一有人算计我没有计划(大家内心的冒名顶替说 hi)怎么办?
深呼吸。
从某种程度上来说,不确定性比以前更令人畏惧是件好事。因为你能感受到赋予你的责任。但是,如果你认为你的责任就是为自己和团队彻底摆脱一切不确定性,那就大错特错了。那是不可能的。
第一步是接受在数据科学领域工作仍然是不确定的。自从你成为主角后就没变过。是的,越来越多的人期待你的指导,但他们不会指望你解决他们所有的问题和所有的不确定性。
随着你作为一个领导者的成长,你要接触的人的数量和范围也会自然增长。请记住,这种范围的扩展将导致更多的不确定性。所以学着接受它,因为随着时间的推移,你会学到帮助你减少不确定性的技能。但不要指望这是一夜之间发生的。
2.相信你的直觉(有时也相信你的推理)。
Photo credit: https://unsplash.com/photos/hbkWMj41Y0I
这可能是我最常从组织中的其他领导那里得到的建议。有些人甚至说,我应该在某种意义上变得“更傲慢”,也就是说,厚颜无耻地认为自己比别人(甚至可能是更有经验的同事)更了解它。虽然这句俏皮话显然不能完全当真,但其潜在的信息是明确的。
你知道的比你想象的要多。
虽然我通常是一个挑剔的人,但当涉及到一个我仍然感到陌生的领域时,我倾向于过度依赖似乎更有经验的人。不要误解我。有经验的人的建议是有价值的,你应该总是认真考虑他们。但是不要在任何情况下都把它们放在基座上。
你将会面临没有明确对错的问题,只是不同的做事风格和偏好,或者不同的价值观相互竞争。在这些情况下,你的直觉可能是你(想要)坚持什么的最有价值的线索。
如果你仍然不确定你是否能做出正确的决定或采取正确的行动:试试看!实验!收集现实生活中的数据点。最坏能发生什么?!
3.关于价值贡献的心态变化缓慢。
Photo credit: https://unsplash.com/photos/FgauF0UHTLA
在我作为一名领导者的早期发展过程中,当我弄清楚我在日常工作中必须做的事情时,这一点是我最大的挑战。我习惯于将我的价值贡献视为我所做的分析和开发的模型。这是我大部分工作日都在做的事情。
作为一名主管,我突然有了更多的工作要做,这就减少了我以前动手做的时间。相反,我被邀请参加会议,会上讨论的话题超出了我自己的工作范围,甚至超出了我团队的工作范围。我了解了更大的图景和全公司的计划。我开始思考我的团队如何融入大局。
与此同时,我开始从零开始招聘,这意味着定义工作简介,撰写招聘广告,创建案例研究,并提出面试候选人的流程。在候选人被聘用之前,我为他们创建了入职任务,这些任务与他们被聘用时的职位描述相关。
这些是任务的例子,你至少可以根据花费的时间来确定。你还会在其他事情上花费时间,这几乎是不可能确定的。会有一些日子,你会把会议分散到一整天,你会到处回复一些信息,突然一天过去了,你不确定那天你到底做了什么。你会错过看到你之前的动手工作的稳步进展。你会注意到在有价值和有挑战性的项目中明显缺少你的名字。你会开始质疑自己对团队的有用性,尤其是如果你在成为领导之前是一名优秀的 IC。
最糟糕的是,你可能不是团队中唯一一个想知道自己价值贡献的人。你曾经在项目中合作过的个人贡献者也会注意到你的不参与。当然,他们知道你成了领导。但是在一段时间内,他们只会看到你不再像以前那样做出贡献。他们将看不到您挑选的所有其他任务。如果你的组织有一个 360 度评估系统,你可能以后只能通过这种匿名的方式了解他们的想法。
对此我没有好的解决办法,除了耐心等待,让时间发挥它的魔力。心态和认知会慢慢改变,甚至(或尤其)是你自己的。给自己一些时间去适应你的价值贡献是多方面的这个想法。事实上,你的范围越大,你自己深入一个项目所增加的价值可能就越少。我的经验是,当你的同事看到你如何开始建立和/或发展你的团队时,他们的看法也会及时改变。不要一开始就因为这些骗人的感觉而气馁。
4.将你的自我与你团队的价值贡献联系起来。
Photo credit: https://unsplash.com/photos/4-02wP3zAZ8
作为一个强大的 IC,你可能会从你交付的项目和你用自己的聪明才智和毅力解决的业务问题中获得骄傲。习惯这种自我提升的来源对于你的日常工作和你如何衡量你在组织内的成功将变得越来越不重要的想法。相反,作为一名人事主管,你的重点应该是建立一个强大的团队,让你的团队能够实现最大的商业价值,同时沿着让他们感到兴奋的职业轨迹发展自己。
根据你在自我曲线上的位置,这可能是新线索最困难的任务之一。你必须学会把自己的自我降低一个等级(或几个等级),以便让别人发光。虽然我们中的大多数人在生活中的某个时候已经学会了不要总是把自己放在第一位,以获得足够的社交能力,但这只是拼图中的一块。伟大的领导者不仅仅让他们的团队发光发热,他们为他们团队的成功感到自豪,并且从内心里从看到他们的员工发挥他们的潜力中获得满足感。
我记得我第一次决定不给我们公司的内部技术会议做技术报告。我的自尊心受到了打击,我不得不承认我真的很想成为焦点。但在会议之前,我意识到我所做的大部分技术工作都是辅助性的。如果有人应该谈论这些项目,那应该是贡献最大的团队成员,而不是我。最后,我团队中的所有人都在那一届会议上发表了演讲。我开始意识到,当有经验的领导者看到他们的被保护者被打败时,他们会有什么样的感受。
5.给予反馈。大部分是承认。
Photo credit: https://unsplash.com/photos/82ZEOTntP8g
我第一次给我雇佣的实习生提供一条行为反馈是一个启示。对我们俩来说。
我向他指出,他有打断向他解释事情的人的习惯(不仅是我,还有其他团队成员)。对我来说,这显得非常不耐烦,甚至有点粗鲁。
这显然是一种他没想到会在工作环境中收到的反馈,而且肯定不是来自他的“老板”。对我来说,这是一个实验,因为我不确定结果。他会怎么想?他真的会根据这个反馈采取行动吗?他会因此生气吗?
我发现他真的很感谢反馈,因为他自己没有注意到这种行为模式。他解释说,他这样做可能是因为他真的想表明他是胜任的,或者换句话说,他想通过不要求额外的解释来证明自己的价值。那次谈话之后,他会变得更加介意打断别人,意识到他没有必要以那种方式证明自己的价值。在接下来的 1:1 对话中,我确认了我观察到的行为变化。
作为一个 IC,你可能从来没有努力去做反馈,这是你的习惯。然而,作为一名领导者,你必须对反馈采取更积极的态度。这样想:现在你的价值贡献取决于你的团队的发展,你有强烈的兴趣去做一切事情来帮助他们成长。最有效的方法之一就是提供反馈并跟进。已经有本书写了如何给予反馈,所以我在这里就不赘述了。我的信念是,如果你给出反馈时有一个共同的理解,即你对你的团队成员的成长有所投入,那么反馈会以正确的方式被接受(即使是在极端坦率的情况下)。
给予反馈也意味着在适当的时候给予认可。这并不意味着你必须在每个场合表扬你的团队成员,而是让他们知道你在关注他们。在正确的地方给予认可有时会对朝着正确的方向发展起到很大的激励和积极的促进作用。
6.做动手工作。
Photo credit: https://unsplash.com/photos/82ZEOTntP8g
这是我从正在考虑担任领导职位的有抱负的数据科学家那里听到最多的问题:“我还有多少时间来实践数据科学的东西?”我的回答是:这取决于你、你的团队和你的领导,但要确保它不是零。
事实是,在领导团队的同时,找到足够的时间来做高质量的实践工作需要一些努力,但我的信念是,除非你完全致力于管理道路(并且永远不会回到 IC 道路),否则你必须通过实践来掌握数据科学技能。当然,你的分析技能不会在一夜之间消失,但是像许多技能一样,它们需要保持,以免退化太多。此外,如果你的团队主要由数据科学家组成,保持警觉会让你更好地了解他们的工作和他们面临的挑战。
即使你只考虑你自己的理智,这也是一个好主意。在领导岗位上,你不会经常获得即时的满足感,就像你有时在数据科学(或更一般的技术性工作)中获得的满足感一样。你种下的领导力种子需要很长时间才能生长,而且通常你无法准确确定是不是你的行动带来了改变。
所以,帮你自己一个忙,做一个能让你进入通常的心流状态的项目。
然而,要注意你选择的项目。不要让自己成为一个至关重要的紧急项目的瓶颈。如果你接了一个探索性很强的项目,为了有机会成功,你还必须掌握很多新技能,确保你的时间表能够负担所需的额外学习时间(例如,当你的团队处于稳定阶段,你不必做任何招聘)。
以下是我的经验教训:
1.不确定没关系。比以前更是如此。
2。相信你的直觉(有时也相信你的推理)。
3。关于价值贡献的心态变化缓慢。
4。将你的自我与你团队的价值贡献联系起来。
5。给予反馈。大部分是承认。
6。做动手工作。
不用说,这些都是基于我自己的经验教训,你的里程可能会有所不同。然而,我确实相信一些模式在许多地方出现,我很好奇这些经验教训中哪些对其他数据科学领导者来说是真实的,以及他们可能强烈反对的地方。
6 更多评估指标数据科学家应该熟悉——来自高级卡格勒新书的教训
《赢得 KAGGLE 的数据分析技术》一书
多类分类和推荐的评价指标
Photo by Ales Krivec on Unsplash
这是另一篇文章,介绍了新书*“赢得 Kaggle 的数据分析技术”,*中介绍的技巧,作者是三位高级 kaggler(不包括我自己,因此这不是个人提升!😃 )
这是第二篇关于 ML 评估指标的帖子。这里是第一个帖子。从第一篇文章开始,指标编号从#12 开始!
关于这本书的完整目录,请看我的另一篇文章。
目录:
多类分类任务
单标签多类分类的评价指标
多标签多类别分类的评估指标
推荐任务中的评估指标
结论
多类分类任务
二元分类是一项任务,其中目标变量属于两类中的任何一类——正类或负类。另一方面,多类分类是一项任务,其中目标变量可能属于两个以上的类;更简单的例子是在图像识别,图像显示猫,狗,鸭…等。
单标签多类分类与多标签多类分类
单标签多类分类和多标签多类分类是多类分类的子集。在单标签多类分类中,目标变量只有一个类赋值,而在多标签多类分类中,目标变量可以有多个类赋值。
Single-label multiclass classification vs. multi-label multiclass classification
显然,单标签情况和多标签情况需要单独的建模策略和评估策略。我在这里不讨论建模策略,但是将讨论评估度量。
单标签多类分类的评价指标
#12—多类精度
(用于 Kaggle 比赛】 TensorFlow 语音识别挑战赛)
这是二进制分类任务中精度的扩展版本。
二元类分类的准确度是混淆矩阵中两个对角元素之和占总数据量的比例。多类版本在混淆矩阵中有两个以上的行和列,多类精度在对对角线元素求和并除以总计数的方式上是相似的。
Illustration of multiclass accuracy (4 class-classification version)
- 精确度范围从 0 到 1,越高越好。
- 还是那句话,阶级分布不均衡的时候不合适。
#13 —多级分类的平衡精度
这与二元分类平衡精度的内容没有变化。
Formula for balanced accuracy in multiclass classification
其中, M :类别数, n_m :数据大小属于类别 M, r_m :准确预测属于类别 M 的数据数
这些属性就像我们在二进制类版本中看到的一样:
- 介于 0 和 1 之间的值,越高越好。
- 对较小类别的准确预测赋予较高的权重,因此适用于不平衡数据。
#14—多类对数损失
(用于 Kaggle 比赛中的 两个适马连接:租赁清单查询)
这是我在二进制分类案例中包含的另一个多类版本。
Formula of multiclass logloss
其中 N :数据个数, M :类个数, y_i,m :如果数据 i 属于类 m 则为 1,否则为 0, p_i,m :数据 i 属于类 m 的预测概率。
正如二进制对数损失:
- 这是损失,越高越糟糕。
Photo by Franck V. on Unsplash
多标签多类分类的评价指标
#15 —平均值 F1、宏观 F1、微观 F1
(平均值-F1 用于 Kaggle 比赛】 Instacart 购物篮分析)
(Macro-F1 用于 Kaggle 竞赛】 人类蛋白质图谱图像分类)
在多标签多类分类的情况下,标签应如下所示。
Illustration of multi-label classification with three classes
有三种 F1 分数的变体来评估这种预测:
- 平均值-F1: 计算每个 ID 的 F1 分数,并取所有 ID 的平均值。
- 宏 F1: 计算每个类别的 F1 分数(假设我们看到每个类别和其余类别之间有三个独立的二进制分类),并取所有类别的平均值。
- Micro-F1: 通过处理每个 ID 和每个类作为独立数据点的组合,立即计算总体 F1 分数。
Illustration of Mean-F1, Macro-F1, Micro-F1
- 每个 F1 的范围从 0 到 1,越高越好。
- 在三个 F1 分数中的选择是基于我们的兴趣:平均 F1 平等地对待每个 ID,宏观 F1 平等地对待每个职业,微观 F1 平等地对待每个 ID 和职业的组合。
Photo by Edgar Chaparro on Unsplash
单标签有序多类分类的评价指标
这里又是单标签多类分类,但是中的类也是有序的,比如 A 比 B 好,B 比 C 好,等等。
我们可以在医学研究中更多地看到这一点,例如,模型预测患者“可能”>“未知”>“不太可能”感染某种疾病。
在这种情况下,很多比赛中都可以看到二次加权 Kappa。
#16 —二次加权卡帕值
(用于 Kaggle 竞赛中) 保诚人寿保险评估众筹搜索结果关联”**
其中 i,j :真实类和预测类的指标, w :误预测的权重, O :实际观测计数, E :期望计数。
仅仅看公式可能看起来很复杂,所以这里有一个如何在 Excel 上计算的演练。
How to calculate quadratic weighted Kappa on Excel.
我们也可以说这是 加权的【科恩的】Kappa 的‘二次加权版’,这里的权重通常是类间的绝对距离,而不是它的平方。
这表明权重的定义取决于您,不一定必须是二次的,这为您根据性能调整它们留下了一些空间。
- 二次加权 Kappa 范围在 0 和 1 之间。越高越好,0 表示预测是随机的。
- 灵活设置权重,允许权重矩阵中特定单元格的权重更高/更低。
Photo by Micheile Henderson @micheile010 // Visual Stories [nl] on Unsplash
推荐任务中的评估指标
推荐的特点是:
- 这是多标签多类分类任务。
- 预测的类别具有顺序,即推荐的顺序;第一个预测为客户最有可能购买,第二个预测为下一个,依此类推。有了这个订单,公司可以在一些物理或财务限制内保持他们的推广,例如在网络广告页面的空间内或在有限数量的直接邮件内等。
Order of class in recommendation task
在这种情况下,在很多比赛中都可以看到 MAP@K 。
#17 —地图@K
(用于 Kaggle 比赛】 桑坦德产品推荐*)*
其中 N :数据数量, K: 作为预测提供并纳入评估的推荐数量, m_i :真实类数据数量 i 属于(在购买推荐上下文中,个人实际购买的数量 i ), P_i(k) :由数据I的推荐 1 至 k 精确
这并不像听起来那么复杂。下面举例说明。
How to calculate MAP@K ?
对记录中的每个客户重复这一过程并取平均值。
- MAP@K 的范围是 0 到 1,越高越好。
- 预测的顺序很重要,正如上面讨论的那样,这具有商业意义。
Photo by Christian Wiediger on Unsplash
结论
我们看到有一些度量可以专门处理多类分类(单标签、多标签)和推荐预测。
理解每个度量的属性,并在最佳情况下使用它,对于构建高性能模型非常重要。
学习 SQL 和 Python 的 6 个最佳平台
所以你想学习 SQL 和 Python,但是不知道从哪里开始
所以你想学习 SQL 和 Python,但是不知道从哪里开始。或者,您可能已经对这些主题有所了解,并且希望提高自己的技能。有如此多的网上资源声称是学习的最佳场所,以至于很难知道该相信谁。
你可能听说过像 Udemy、CodeAcademy 和 Khan Academy 这样的大型在线学习中心。这些程序对某些主题来说可能很棒,但有时它们太大了,以至于很难知道它们最擅长什么。
本文的重点将放在 6 个更小、更适合学习或磨练 SQL 和 Python 技能的平台上。本文将对每一个进行简单的概述,以及是什么使它们不同和/或更好。
要选择最适合你的平台,最重要的事情是确定你的需求
你的技术水平如何?你需要这些技能做什么?你想学什么概念?通过确定您想要学习的技能和概念,您可以有效地将您的需求与本文中的一个平台相匹配,并选择适合您的平台。所以让我们开始吧。
Photo by Safar Safarov on Unsplash
6 个学习 SQL 和 Python 的小众平台
1.模式分析
如果你没有 SQL 或 python 的经验,但对学习语法感兴趣,那就太好了
Mode Analytics 提供了 SQL 和 Python 的教程,如果你是一个想要学习这些技能的初学者,这可能是一个很好的资源。Mode 为每个主题提供单独的培训课程。
每门课程都根据更基础的知识到更高级的知识来划分。初学者可以在每个领域从头开始,也可以在自己最舒服的领域开始。这些课程简单明了,旨在教你掌握与 SQL 和 Python 分析相关的技能。这些课程的基础是学习每一种语言的语法。
如果你正在寻找一个简单明了的方法来学习这些概念,Mode 是一个很有价值的资源。然而,在为用户提供成长和测试技能的地方方面,它有一定的局限性。
他们的 SQL 课程更加广泛,并在课程结束后提供额外的练习来提高技能。这些练习基于对分析经理的采访,旨在重现他们经常面临的一些问题。然而,Python 教程缺少这些练习,而是为您提供各种外部资源,您可以使用这些资源来测试和提高您的技能。
总的来说,Mode 提供了一个很好的学习和提高技能的基础平台,但缺乏足够的应用程序来测试你的技能。
如果你只是想要一个学习语法和概念的基本资源,那么简单的布局可能会对你很有帮助。然而,如果你正在寻找一些更广泛的、需要更多动手测试和解决问题的东西,你可能想继续阅读这个列表。
2.地层划痕
非常适合测试和提升您的 SQL 和 Python 知识,以推进您的职业发展或准备技术面试
虽然之前的资源非常缺乏测试你技能的方法和应用程序,但 Strata Scratch 却完全相反。他们标榜自己为增长您的 SQL 和 Python 知识提供了“构建模块”。因此,Strata Scratch 最适合那些拥有基础知识并希望不断增长的人。
Strata Scratch 提供了 500 多个 SQL 和 Python 练习题,帮助您提高这些领域的分析技能
这些问题经过了大量研究,并基于真实的行业问题,以及来自各种科技公司的许多面试问题。这是准备面试或推进你职业发展的理想资源。
地层划痕也非常重视解释清楚答案。每个问题都提供了正确的技术解决方案的深入解释,以及清晰的方法和语法。他们关注正确的解决方案和方法,但也确保解决方案是干净的。
还有初学者资源可以教你 SQL 和 Python 的基础知识,以及你在这些行业中需要熟悉的主要程序。
总的来说,如果你的目标是成长和测试你的技能,Strata Scratch 是一个很好的资源
通常你会发现学习某样东西的最好方法是不断地测试它。Strata Scratch 提供了许多方法来测试你在模拟现实生活场景和面试问题的场景中的知识。如果你的目标是增长你的知识和促进你的职业发展,并且你已经有了 SQL 和 Python 的基础知识,那么 Strata Scratch 就是针对你的。
3.数据营
DataCamp 旨在成为一种从包括 SQL 和 Python 在内的许多主题中学习技能的简化方法。DataCamp 以非常简单的方式组织他们的课程,从基础到最高级。根据你的技能水平,你可以从任何地方学到一课,并加深你对各种概念的理解。
DataCamp 提供一口大小的课程
这样做的目的是让你可以在短时间内学会一个新的话题,也许在你忙碌或忙于其他事情的时候也可以这样做。它旨在成为你在业余时间增长技能的一个工具,你想投入多少时间就投入多少时间。
这些课程非常有用,而且数量众多。我们发现,与 Mode 等平台相比,DataCamp 提供了更多的利基和重点主题领域。您还将更容易找到涵盖更多特定用例的主题,或者学习如何为特定问题或工作流编码。
DataCamp 还提供了许多测试和练习技能的方法。每个科目都有许多迷你练习挑战。此外,如果你正在寻找一个更广泛的方法来测试你的技能,有动手数据项目提供。这些是基于真实世界场景的更广泛的问题和项目。然而,我们发现问题和项目的数量仅限于某些主题。
总的来说, DataCamp 是一个精简的、组织良好的平台,旨在教你技能,并通过各种问题和项目测试它们
如果您正在寻找一个有条理、直观的平台,并且将每个主题领域组织成高度集中的小课程,那么这可能是您的平台。
4.w3 学校
w3schools是一个简单实用的学习 web 开发技能的工具,包括 SQL 和 Python
根据你的喜好,你可能会喜欢或讨厌 w3school 的学习方法。w3schools 自称是世界上最大的 web 开发者网站,所以他们的方法显然对很多人都有效。
本质上,这里的教学方法是简单而基本的。本课程从最简单到最高级的概念进行概述,每一页都提供了对概念的描述,包括从语法到重要函数和关键字的所有内容。所以,如果你喜欢用简单的方式学习,简单明了地概括和解释主题,那么你可能真的会喜欢这种学习方法。
此外,w3schools 在整个课程中大量使用示例和互动。一旦一个概念被解释了,它通常会提供一个使用正确语法的直观例子。通常,它甚至包括一个可定制的字段,您可以在其中自己解决一个示例问题。
总的来说,w3schools 之所以如此受欢迎,可能是因为它简单、直接地教授 SQL、Python 和许多其他编程语言。明确标记的主题,结合简单明了的解释,以及一个测试你技能的地方构成了大部分的课程计划。然而,如果你正在寻找一个有更多练习或现实世界问题要解决的资源,你最好去别处看看。
也许对许多人来说最重要的是,整个课程都是免费的,甚至不需要注册!
5.黑客等级
黑客等级 是另一个教授技能和测试知识的宝贵平台,因为它与 SQL 和 Python 有关。
他们服务中的教育部分显然是面向那些至少已经掌握了 SQL 和 Python 基础知识,并且希望磨练自己的技能以适应面试或现实应用的人。
在 Hacker Rank 的“练习”服务中,提供了许多练习题和问题来测试您的技能。您可以从各种语言中进行选择,包括 SQL 和 Python。这些挑战按照容易、中等和困难进行分级,系统会跟踪你的进展,并为排名最高的问题解决者提供一个“排行榜”。您还可以根据主题领域和子领域组织挑战,以缩小特定语法问题或特定问题或工作流的范围。
总的来说,如果你想测试你在这些领域的技能,并为你可能在工作面试或工作中遇到的问题解决做准备,这些都是很有价值的工具
如果你是一个实践型的学习者,并且喜欢看概念是如何被应用的,而不是简单地被解释它们是如何工作的,那么这些是很棒的。
此外,还有论坛供你聊天、分享和帮助他人解决问题,并分享对面试过程的见解。
6。Guru99
Guru99 是一个免费资源,旨在教授各种技能,包括 SQL 和 Python 部分。
Guru99 提供 SQL 和 Python 课程,从基础到更高级的概念进行分类。课程要么是书面的,要么是视频形式的。
与 w3schools 类似,这是一种简单、实用的教学方法,试图列出所有相关的概念,并以简单、直接的方式解释它们。Guru99 的主要优势之一是它涵盖了广泛的概念和函数,有助于构建您在 SQL 和 Python 许多领域的知识。
无论你是初学者还是想学习更高级的概念,主题领域都有明确的标记,这样你就可以选择符合你技能水平的课程。
虽然 Guru99 是一个简单易用的工具来积累你的知识,但它并不能测试你的知识
课程主要是非交互式的,没有你自己写代码或解决示例问题的地方。如果你想测试你的技能,你可能想用另一个服务来补充你在这里学到的概念,比如 Hacker Rank。
总的来说,如果你正在寻找一个组织良好的资源,可以按照自己的进度学习概念,这可能是一个很好的计划。当然,它是免费的,所以你可以尝试一下,看看它是否适合你。
Photo by NESA by Makers on Unsplash
结论
这就是 6 个鲜为人知的学习 SQL 和 Python 技能的资源。正如你所看到的,这些资源在它们的目标以及它们如何教授和测试各种主题方面有很大的不同。这些资源侧重于不同的技能水平,旨在服务于各种目的。无论是准备面试还是增强基本技能,每个在线资源通常都有一个主要的关注点。
与你最相关的一个关键区别是每种在线资源侧重于哪种学习方式。很多,比如 w3schools 和 Guru99,仅仅关注简单明了的学习和对概念的解释。然而,其他人,如黑客等级和地层划痕,旨在提供资源,通过实践和解决现实世界的问题和场景来建立您的理解。
最终,对你来说最好的资源取决于你想学什么以及你的学习风格。评估你对这些主题的了解,以及哪些资源提供的课程最符合你的技能水平。还有,考虑你喜欢怎么学。你更喜欢动手操作还是喜欢用简单的方式向你解释概念?
通过了解您的需求和目标,我们相信您会在上面列出的资源中找到丰富的资源来扩展您的 SQL 和 Python 知识。作为奖励,其中一些是免费的,你可以无风险地试用它们。学习新技能是一种有益的体验,如果你能找到符合你特定偏好的学习资源,那就更令人满意了。
我喜欢用 Python 进行数据探索的 6 个理由
散景已经存在很多年了,但我只是最近才真正发现它,它很快就成为我最喜欢的 Python 可视化库。以下是六个原因。
Bokeh is a Browser Based Visualization Library
什么是散景,是什么让它与众不同?
在进入主题之前,让我们先做一个强制性的介绍,我会向你介绍这个主题。还记得我们只有 Matplotlib 的黑暗时代吗?Bokeh 是另一个可视化库,真正与众不同的因素(至少对我来说)是它专注于 web 浏览器的视觉效果。虽然您仍然可以将数字保存为. png 或。jpeg,Bokeh 的真正强大之处在于,因为它在浏览器中渲染(用 Javascript),所以你可以轻松地添加交互性,模仿像 D3 这样的超级强大的工具,而不必经历学习 D3 的痛苦过程。显然还有很多工作要做,以使散景与熊猫无缝配合,并提供直观的 API。总的来说,散景是一个易于使用的绘图库,适合熊猫,并使事情超级共享。听起来很酷?请继续阅读!
本文的数据和 Jupyter 笔记本
这个 Github Repo 有一个 Jupyter 笔记本和我们将在本文中使用的原始数据。这些数据来自纽约市过去几周的 Craigslist 公寓列表。具体来说,我们将使用散景来观察价格和公寓面积之间的关系。我们将从一个基本的散点图开始,用散景的特征来增强我们的基本图表,并提到其他有用的特征。让我们来看看散景令人敬畏的原因(前两步搭建舞台,然后我们实际上开始绘图)。
1 —散景在 Jupyter 笔记本中非常好用
from bokeh.io import output_notebook
output_notebook()
如果我和妈妈在一起的时间和我在 Jupyter 笔记本上的时间一样多,我就会成为年度最佳儿子。显然,如果你一直在阅读,我已经告诉过你,你可以在 Jupyter 的笔记本里,在我链接的回购协议里,跟着做。如果 Bokeh 和 Jupyter 没有很好地合作,那是一件很愚蠢的事情。幸运的是,与标准的 Matplotlib 图表相比,它在 Jupyter 中工作得非常好,并且确实使您的视觉效果非常突出(在我看来)。当您想要添加一些交互性(放大图表、添加过滤器、添加工具提示/悬停等)时,它特别好,我们将在后面讨论。这也相当简单,只需添加上面的代码,您的绘图就会在 Jupyter 中很好地呈现出来。我喜欢添加的另一件事是当你实例化图形时的缩放模式,因为它将填满整个笔记本窗口,所以你不再需要指定大小。
figure=(sizing_mode='stretch_width')
2 —主题
主题基本上让你告诉 Bokeh“我总是希望我的剧情在标题中使用 14 号字体,隐藏难看的网格线,并且总是让我的轴标签使用 12 号字体和粗体”。如果你像我一样对你的情节懒惰和神经质,那么这是一个天赐之物,因为你不需要在每次制作情节时做太多的造型,它们默认情况下会很漂亮。这里有一个 Jupyter 笔记本主题的例子。
from bokeh.io import curdoc
from bokeh.themes import Themecurdoc().theme = Theme(json={'attrs': {# apply defaults to Figure properties
'Figure': {
'toolbar_location': None,
'outline_line_color': None,
'min_border_right': 10,
'sizing_mode': 'stretch_width'
},'Grid': {
'grid_line_color': None,
},
'Title': {
'text_font_size': '14pt'
},# apply defaults to Axis properties
'Axis': {
'minor_tick_out': None,
'minor_tick_in': None,
'major_label_text_font_size': '11pt',
'axis_label_text_font_size': '13pt',
'axis_label_text_font': 'Work Sans'
},
# apply defaults to Legend properties
'Legend': {
'background_fill_alpha': 0.8,
}}})
你可以查阅散景文档来查看所有不同的选项,但一般来说,它只是与你如何在散景中执行命令保持一致。你只需要给它一个值的字典,当你创建图表时,它会自动应用这些值。例如,在“标题”中,我们将字体大小设置为 14pt。这允许完全定制你的情节,你只需要做一次!一般来说,当我开始使用散景图的笔记本或脚本时,这是我指定的第一件事。主题可以节省您的时间——使用它们!
3-易于与熊猫融合
每天早上我都会煮一杯美味的咖啡,然后输入进口熊猫作为 pd,这是我早上的例行公事。如果你和我一样,和熊猫同生共死,那么 Bokeh 就是你新的最好的朋友。散景使用了一种叫做 列数据源 的东西,虽然它不一定是熊猫数据帧,但它与它配合得非常好。如果你感兴趣,你可以阅读完整的文档,但基本上它把你的熊猫数据帧变成了大规模策划的武器。我遵循的基本步骤是:
- 把我的数据放入一个干净整洁的熊猫数据框
- 用该数据帧创建 ColumnDataSource
- 轻松策划!
这里有一个超级简单的例子让我们开始(可以在 Jupyter 笔记本和 Github Repo 中找到,链接到简介中),看看公寓价格和公寓面积。
Our Basic Scatter Plot
我个人觉得这比 Matplotlib 更容易和直观,而且在 Jupyter 笔记本中也更漂亮。基本上这样做是为了让散景知道你将使用这个熊猫数据帧作为你的绘图源。当你在你的图(散点图)中实际绘制一些东西,并说 x=“面积”和 y=“价格”时,你只是在说你的数据帧中的哪些列应该去查看以获得这些数据。因此,它看到“面积”和“价格”被指定,它将遍历数据框中的每一行,并绘制这些对点。这使得创建熊猫的情节既直观又快捷。
另一个很棒的方面是这让你可以利用熊猫的特性来增强你的剧情。也就是说,可以使用数据框架中的任何列!让我们创建一个“颜色”列,将卧室的数量映射到一种颜色。然后,我们可以使用这个新列作为选项来着色我们的散点图。具体来说,这里检查第 9 行和第 10 行,然后在第 22 行,我们说使用这一列来着色我们的图表。
Our Scatter Plot Colored By Number of Bedrooms
需要记住的一个关键点,也是我经常忘记的一点是,如果您向 Pandas 数据帧添加一列,您需要重新创建 ColumnDataSource。在本例中,我们现在创建了一个新的 color 列,因此之前创建的 ColumnDataSource 没有我们的 color 特性。一旦你这样做了,那么就像把 color='color ‘传递到散点方法中一样简单,Bokeh know’s 去在恰当命名的’ color '列中查找颜色。有很多其他方法可以利用这种类型的东西,比如通过出现的次数来确定大小,但是我将把这留给您在附加的练习中来做。关键是如果你能在熊猫身上创造它,那么你就能在散景图中利用它!
4-导出到 HTML 是轻而易举的事情
与同事或在 web 应用程序上共享散景图是一件轻而易举的事情,因为它可以很容易地导出为 HTML 代码可以使用的内容。如果你有兴趣在网站上使用这些图表或者在 HTML 文件中分享它们,那么你一定要仔细阅读这个文档。如果你想看看现实生活中这是如何实现的,请查看我构建的一个小网络应用程序中的权力的游戏数据,或者这个使用民主党原始数据的静态 S3 网站。所有这些图表都是使用下面的方法在散景中制作的。以下是如何做到这一点:
- 导入组件特征。这就是让您将该数字转换成 HTML 中的脚本和 div 的原因。
from bokeh.embed import components
- 像平常一样在散景中创建您的地块
- 最后添加以下代码,其中 p 是您的图形对象
script, div = components(p)
return script, div
第一行提供了一大块 Javascript 代码,其中包含绘图所需的所有内容(包括数据)和一个 div 元素,图表将放入其中。就是这样!同样,这段代码不再依赖于您的数据源!将脚本和 div 放入 HTML 文件中,现在就有了一个完全可导出的图表。如果您熟悉 Django,我经常将脚本和 div 从 views.py 文件传递到 HTML,然后可以在我的模板文件中使用它,但是有很多方法可以利用它。如果你经常在 HTML 中共享数据,那么在我看来 Bokeh 是 Python 所能提供的最好的东西。
5—关于错误的智能建议
如果我是能够为所有 Python 库创建法律的 Python 沙皇,这肯定是我会实现的。使用散景如果你试图编辑你的图,如改变轴标签,你输入了错误的命令,散景会告诉你它认为你的意思的建议。
AttrbuteError’s that actually saving you from Googling!
注意这里我说的是 p.yaxis.axis_title,但实际上是 p.yaxis.axis_label。如果你查看 AttributeError,它会给你最接近它认为你正在尝试做的事情的建议。一般来说,这非常有效,可以节省你问谷歌“在散景中改变轴标题”的大量时间。如果有人能在 Matplotlib 中实现这一点,我将永远欠你的,因为我甚至不想知道我花了多少时间做这件事。但是说真的,这是一个很棒的特性,尤其是如果你经常在不同的可视化库之间切换的话。
6—轻松互动
散景的一个非常好的特点是它很容易给我们的图表添加交互性。默认情况下,你会在图表的右边看到一些工具,可以让你开箱即用。
例如,如果您选择“缩放”按钮,您可以在图表中想要聚焦的任何区域周围画一个框。
注意它是如何更新 x 和 y 轴来聚焦我们指定的区域的,所有这些都不需要额外的代码。但这只是散景交互性的开始。让我们来看看你如何不费力地添加像 Tableau 一样的小工具提示。要创建这些(嗯,有多种方法)你需要使用 HoverTool。
from bokeh.models import HoverTool
现在我喜欢用我的 HoverTools 变得有点花哨,并添加一些自定义的 HTML 来给它一点活力。如果你觉得不够勇敢,那么你可以在散景文档中看到一些更简单的例子,但是如果你能处理一些基本的 HTML,那么继续和我在一起吧,我的朋友们。让我们在上次使用的散点图的基础上添加额外的颜色。
Behold our glorious tooltips when we hover!
我们真的想把重点放在第 24 行及以后,因为几个步骤前我讨论了前面的东西。事情是这样的:
-
Bokeh 允许你以字符串的形式传递 HTML,所以我们创造性地制作了一个叫做 tooltips 的变量
-
div 只是用来保存我们的工具提示数据,我为工具提示中的每一行做了一个 div,但是你不必这样做。
-
每个 div 有两个部分:一个标题和实际数据,每个都在
标签中。所以第一个
是每行中的“Craigslist URL”、“价格($)”或“平方英尺”标题。
-
第二个
是实际的数据,同样,散景使得访问变得非常容易。因为我们使用的是 ColumnDataSource,所以我们只是将数据放入@columnname 中。例如,在第一个 div 中,我使用@url 让它获取数据中该点行的 url。请注意,我们可以获得甚至没有被绘制的数据点,因为它只是从与我们的数据在同一行的列中提取的。我们在价格和面积上也是如此。您甚至可以格式化您的输入数据,我用{0,0}显示,它在价格和平方英尺的千位上添加了逗号分隔符。有许多格式化程序,但常见的是日期、小数和百分比。
-
就是这样!短短几行的精彩互动工具提示!你可以用工具提示做一些非常棒的东西,但是这应该足够激发你的想象力了。这给了你与同事共享的笔记本额外的一点点活力,让他们玩你的数据。
如果你去散景的画廊,有很多方法可以增加互动性,让仪表盘充满活力,所以这只是一个尝试。如果你对创造真正互动的情节感兴趣,散景是我现在市场上最喜欢的选择之一,尤其是如果你想避开 Javascript 黑暗、寒冷和邪恶的世界。
总结
就是这样!如果你是第一次接触散景,希望这能让你体验一下它令人敬畏的力量。我仍然使用 Matplotlib 和 Seaborn 做一些事情(箱线图、分布图),但现在大多数时候我是一个完全的散景倡导者。试一试吧,你可能很快也会成功!快乐学习!
通过数据分析做出成功营销决策的 6 个步骤
随着市场条件变得越来越复杂,公司在营销决策方面面临越来越多的挑战。建立科学的营销数据支持系统是保证企业科学决策的重要基础。本文从数据分析的角度对营销决策进行了整体分析,包括六大模块:指标分解、管理驾驶舱、营销 KPI 系统、经销商和门店管理、竞品分析、预测分析,对企业营销决策分析的规划和建设具有很好的指导意义。
1.指示器分解
1.1 指标
有许多方法可以分解营销决策的指标。在这里,我只关注两个核心:业务和运营模块。
业务模块包含销售、订单、合同、发货、退货等整个营销过程中的指标。,以及业务流程前端和终端的指标,如产品价格、库存、客户满意度、市场份额等。
运营模块包含相关分析指标,如营销过程中涉及的人员、渠道、费用、预测等。这些是实现业务流程和实现结果的前提或媒介。
具体指标见下图。
1.2 尺寸
有了指标,就有了进行分析的基础。然后,我们必须选择合适的维度和方法来分析这些指标。维度的梳理不仅有助于我们更快的掌握数据分析工作,更重要的是可以在实施过程中指导 it 人员的数据仓库建模。
在营销决策的分析中,常用的分析维度有:部门(总部、各事业部等。)、地区(南、北等。)、品类(产品类别)、系列(产品细分)、渠道(经销商、直销、代理商等。)、客户(一般按重要性分级)、时间(日、月、季、年等。),以及企业内部的一些自定义维度。
1.3 方法
指标以一定的维度呈现,呈现方式的选择涉及到分析方法。
营销系统中常用的分析方法有:积累、比例、排名、比较、趋势、平均等等。不同的分析方法做出的分析报告所表达的信息是不同的。在需求评估和业务逻辑沟通的前期就要确定分析方法,往往会事半功倍,效果显著。
关键指标确定后,规划以下决策分析模块,包括五个:管理驾驶舱、营销 KPI 体系、经销商和门店管理、竞品分析、预测分析。分析的维度和方法基于不同模块的分析目的。我将在下面详细描述每个模块的内容。
2.管理驾驶舱
管理驾驶舱是为营销领导者设计的。目的是让他们实时掌握整体营销概况和关键指标的异常情况。是典型的多指标多维联动钻取分析。
2.1 营销实时运营仪表板
为了把握营销的实时概况,用热图展示区域维度的数据更直观、更清晰。设定区域的顶级排名,利用压力竞争来增加业务的价值。品种品类的比例是为了了解销售的比例。并且关键指示器可以通过仪表板或数值来显示。详细数据可以以联动或钻取的形式呈现;建议使用钻孔。如果单个页面上的元素太多,用户会感到视觉疲劳。
From FineReport
2.2 生产、销售和库存报告
营销的基础是保持生产、销售和库存的良好平衡。不应出现缺货或供应过剩的情况。在线对比生产数量和产成品数量、销量,监控期初和期末库存,设置库存警戒线,预测缺货风险和积压周期。最好直接定位责任部门或个人,并将异常数据推送给领导,实现 PDCA(计划、做、检查、行动)的良好循环。
From FineReport
2.3 现实与预测的比较
对于营销运营,主要指标是销售额、销售成本、费用、利润。以下案例图显示了分析值。把每月的预算和实际值对比一下,就能看出预测工作的准确性。例如,对 6 月份净利率的预测过低,因为 6 月份的成本增加在 5 月份没有预测到。我们进一步把数据往下钻分析,发现公司可能会增加很多人力。预测不准的原因可能是人事和财务的信息交流出现偏差,以便我们有针对性地解决问题。
From FineReport
2.4 月度关键指标概览报告
驾驶舱的业务概述和操作概述是必需的。以不同方式呈现领导关注的几个关键运营指标,如经销商门店排名、区域销售利润排名、净利润趋势、整体目标完成情况等。
From FineReport
3.营销 KPI 系统
在营销运作中,人的效率和投入产出更重要。因此,有必要建立一个完善的营销 KPI 体系。将一些指标分配到具体个人或某个部门和地区,作为绩效评价指标。这样会产生监督和激励的效果。
3.1 KPI 系统
营销的关键指标有销售额、客户数、退货量、利润率、效率、达成率、增长率等。销售额、客户数、退货量、利润率是衡量营销人员个人业务能力的关键指标,效率(价值/成本)是用来衡量他工作的效率。达成率与计划值对比,衡量抗压能力。增长率是很多公司忽略的指标。仅仅从某个月的数据来评价员工的表现是不合理的。
KPI 系统应该从三个角度构建:比较激励、监管报告和会议评审。
- 比较激励是员工或部门之间横向和纵向比较的过程(最典型的销售排名,目标达成率),通过比较来激励员工。
- 监管报告侧重于数据的准确呈现、历史归档和分层报告流程,以实现自上而下的监控和管理系统。
- 会议回顾是表扬好的方面,总结不足,从其他维度检验营销策略的合理性。
3.2 KPI 报告
KPI 报表应该根据不同的对象分别开发,从个人、区域或部门、总体三个维度考虑。
个人:自我激励
个人的 KPI 应该直观清晰,直接显示个人产生的销售额、销售成本、费用和净利润。也要有和别人的比较;这些比较最好以柱状图的形式进行,这样每个地区或部门的负责人就可以监控自己员工的表现。
From FineReport
地区或部门:团队比赛
不同地区的市场情况不同。不同的部门负责不同的产品或区域。仅仅用销量作为指标是不合理的。利润率在一定情况下可以消除这种不合理性。但可能会出现部分地区销量过低,业务变动较大的情况。因此,用利润和利润率来衡量不同地区或部门的业绩是合理的。
From FineReport
总体:自我评估和报告
有必要从整个营销的角度来衡量 KPI。自评可以作为下一阶段计划的参考,也有一个上报的数据库。自我评估也是销售、利润和其他指标的展示,但目的和重点不同。要从计划完成率来分析,趋势分析要按照时间维度来做,反映部门是持续增收还是持续亏损。最后,要从整体角度计算人均收益,判断资源释放是否合理。
From FineReport
4.经销商和商店管理
对于家电行业来说,正常营销模式下的经销商和门店比较多(竞品分析中我会讲到像电商这样的例外),所以经销商和门店的管理尤为重要。我们要从两个角度来分析。
4.1 大局:企业统一管理
所有经销商和商店的数据定期汇总到公司总部。总部进行统一的数据清洗和转换操作,可以做成驾驶舱式的仪表盘,包括所有经销商或门店的数量、总订单、总销售、总库存等信息。
From FineReport
4.2 单一案例:每个经销商或商店的自我管理
对于各个经销商或者门店提供的数据,做一些针对性的报表,然后严格控制权限。只对他们开放这些报表,方便他们内部管理。报告的显示形式类似于管理驾驶舱的显示形式。也分为业务和运营两部分。但是有些指标不一定给经销商或者门店,比如利润。这种模式前期可以从几家合作较好的经销商入手,便于后期横向推广。
5.竞争产品分析
知己知彼也是营销策略的重点。我会以电商平台的数据为分析对象,在下一篇文章中详细讲述。如果公司有其他数据来源,我们也可以讨论相应的分析方案。
6.预测分析
营销运营很重要的一部分就是预测,包括市场趋势预测、销售预测、成本预测。用于制定营销策略,提前指导区域营销工作,促进计划和目标的达成。然后,将预测值与实际值进行比较,继续修正,为 KPI 提供数据基础。
6.1 预测方法
通过数据做出的预测一般是定量分析。然而,对外部因素的分析,如需求变化、经济变化、横向竞争趋势、政府政策和消费者态度的变化,无法量化。因此,预测工作一般没有既定的公式。需要结合管理者的思维,通过数据填充和录入将预测值存储在数据库中,这样预测工作才能影响下个月的订单计划和生产调度及销售计划。
趋势预测
根据时间维度对历史数据进行加权和平均。可以根据季节或节假日的影响调整加权系数,然后乘以历史平均增长率,得到当前趋势下一期的预测值。接下来,用前一年的值验证结果。
因果预测
使用回归分析方法对相关数据集执行回归计算。然后就可以获得下一个时间节点的预测值,比如油烟机,油烟机集,这些都是高度相关的。
6.2 预测报告
预测值通过报表录入的方式进入数据库,然后通过报表工具显示在前端。可以和实际值进行对比,判断实际销售目标是否达标。也可以作为 KPI 考核的依据。此外,它还有助于判断预测的准确性和规划的合理性。
From FineReport
7.开始营销决策分析
看完这篇文章,相信你对整个营销决策分析系统有了一个大致的了解,那么你需要选择一个简单实用的工具来练习。以上所有例子中的报告都是用专业的 BI 报告工具 FineReport 创建的。通过 FineReport,用户可以通过简单的拖拽,设计各种报表,构建数据决策系统。FineReport 的个人版是完全免费的,你可以去官网下载。
其他常用的工具有 Tableau、Qlikview、PowerBI 等。,在数据分析上各有优势。我已经在文章 中介绍了一些工具类型,如分析工具和代码工具。作为一名数据分析师,我应该学习哪些数据分析工具? 。对于业务分析师和技术分析师来说,需求和他们使用的工具是完全不同的。但不管怎样,你可以选择你熟悉或者你擅长的工具来做营销决策分析,最重要的是现在就行动!
您可能也会对…感兴趣
帮助我每周学习五天机器学习的 6 种技术
我每天学习机器学习 9 个月,然后找到了一份工作。怎么会?像这样…
Man with a mohawk (me) studying and running a business in his bedroom. Picture is a still from one of my YouTube videos.
我退出了苹果。启动了一个 web startup,它失败了。我的心不在这里。
我想学习机器学习。这让我很兴奋。我会全部学会的。我不需要编写所有的规则,机器会为我学习。但是我没有工作。
兴奋不是用来买东西的。
为了支付学费,我开始在周末开优步。
我喜欢结识新朋友,但我讨厌一直开车。交通,停车,启动,燃料我有足够的燃料吗我想我有,空气,空调,换挡,你不应该走那条路你应该走这条路,所有的。
我学的是机器学习。一周五天,一整天。这很难。还是很难。
周末去优步。一周内的机器学习。那是我的例行公事。我必须学习。我必须学会这一点,我不能继续驾驶,我还不知道我的目标是什么,但我知道这不是驾驶。一个周六晚上,我赚了 280 美元,并被罚款 290 美元。-10 美元一晚。
在我自创的人工智能硕士学位、9 个月后,我找到了一份工作。这是我做过的最好的工作。
我每天是怎么学习的?
像这样。
1.缩小搜索空间
机器学习是广义的。有代码,有数学,有概率,有统计,有数据,有算法。
而且不缺学习资源。有太多选择和没有选择是一样的。
如果你真的想学习,那就给自己安排一个课程。与其花几周时间考虑是否应该学习 Python 或 R,不如去 Coursera 或 edX 上一门课程,从数学或代码开始,花一周时间制定一个粗略的计划,然后遵循它。
对我来说,这是在创造我自己的人工智能硕士学位。我决定先学习代码,Python 将成为我的语言。我到处寻找不同的课程和书籍,把我最感兴趣的放在一起。我选择的道路对每个人都是最好的吗?大概不会。但它是我的,这就是它成功的原因。
一旦我有了课程,我就有了一条可以遵循的路,再也不用浪费时间去决定什么是最好的路了。我可以站起来,坐下来,学习我需要(想要)学习的东西。
也不严格。如果出现了我感兴趣的东西,我会跟着它走,并在走的过程中学习我需要的东西。
如果你是在网上学习,而不是通过大学,你应该走自己的路。
2.修复您的环境
你祖父的第一个橘子农场失败了。
土壤很好。种子在那里。所有的设备也是。
发生了什么事?
天气太冷了。橙子需要温暖的温度才能生长。你的祖父有种植橙子的技能,但他们不可能在寒冷的气候下生长。
当他搬到一个温暖的城市,他开始了另一个橘子农场。
12 个月后,你的祖父提供了镇上最好的橙汁。
学习就像种橘子。
你可以有一台笔记本电脑,一个互联网连接,最好的书,但仍然没有学习的动力。
为什么?
因为你的环境是关闭的。
你的房间充满了干扰。
你试着和朋友一起学习,但是他们不像你那样专注。
Whatsapp 每 7 分钟关闭一次。
你能做什么?
我把我的房间变成了学习的天堂。清理过了。把我的手机放在另一个房间的抽屉里,关掉了所有的通知。
我告诉了我的朋友。我的电话要到下午 4 点才会响,到时候再跟你聊。他说好吧。
说到朋友时间,朋友很重要,但是学习时间就是学习时间。一整天都离不开手机吗?试试一个小时。任何你看不到的抽屉都可以。“请勿打扰”应该是默认设置。
修复你的环境,让知识流动起来。
3.建立系统,让你永远赢
问题 13 把我难住了。我卡住了。
我昨天想把它做完,但没能做到。
现在是学习的时间了,但是我知道我昨天有多努力,但是毫无进展。
我正在推迟它。我知道我应该学习。但是我要推迟。
这是一个循环。
啊啊啊。我以前见过这种循环。我知道。但它还在。
那堆书盯着我。问题 13。我设置了一个计时器。25 分钟。我知道我可能解决不了这个问题,但是我可以坐下来试 25 分钟。
四分钟后,就是地狱。燃烧的地狱。我继续前进。已经 24 分钟了,我不想停下来。
计时器响了,我又设置了一个。然后又是一个。经过 3 个疗程,我解决了这个问题。我告诉自己,我是世界上最好的工程师。这是个谎言,但没关系。即使是一个小小的里程碑也是一个里程碑。
你不能总是控制自己是否在学习上取得进步。但是你可以控制在某件事情上花多少时间。
**可以控制:**每天四个 25 分钟的时段。
**无法控制:**完成每天开始的每一项任务。
建立系统,让你永远赢。
4.有时什么都不做
我得出了结论。学习是终极技能。如果我能学会如何更好地学习,我就能做得更好。我可以学习机器学习,我可以成为更好的程序员,我可以更好地学习写作。我必须提高我的学习,我想。我立刻开始。
我参加了 Coursera 学习如何学习课程。其中一个主要话题是集中思维和分散思维。
当你在做一个单一的任务时,集中思考就会发生。
分散思维发生在你什么都不想的时候。
最好的学习发生在这两者的交叉点。这就是为什么你在洗澡时会有一些好的想法。因为没有别的事情发生。
当你让分散思维接管时,它会给你的大脑空间把它在集中思维时吸收的所有东西联系在一起。
问题是,要让它正常工作,你需要时间。
如果你已经设置好系统,这样你就可以进行四次 25 分钟的专注工作,之后去散步。小睡一会儿。坐下来想想你学到了什么。
一旦你开始更经常地什么都不做,你会发现很多东西因为空间而变得有价值。一个房间是四面墙围绕的空间,一个轮胎除了空气什么都没有,一艘船因为空间空而漂浮。
你的学习日程可以做更多的事情。
5.拥抱吮吸
学习糟透了。
你学了一件事,第二天就忘了。
然后再来一个,算了。
另一个。
忘记了。
你整个周末都在学习,周一去上班,没人知道。
有人问我如何深刻地记住书上的东西?我说我不知道。如果我幸运的话,我记得我读过的一本书的 1%。当这 1%和另外 1%的东西交叉时,奇迹就发生了。这让我觉得自己像一个专家点连接器。
学了一年之后,你会意识到还有多少东西要学。
什么时候会结束?
并没有。总是第一天。
拥抱吮吸。
6.三年前的原则
前几天我在公园。
有一个小男孩跑来跑去,过着他一生中最快乐的时光。上滑梯,下滑梯,在树上,从树上,在泥土里,从泥土里,上山,下山。
他笑着跳着,然后又笑了。
他妈妈过来接他。
“来吧,查理,我们得走了。”
当她抱着他离开时,他不停地笑,挥舞着他的蓝色塑料铲子。
是什么让他着迷?
他在玩。他玩得很开心。整个世界都是新的。我们的文化严格区分工作和娱乐。学习被视为工作。
你应该学习以获得更多的工作。你应该工作赚钱。这些钱可以让你有闲暇时间。一旦你有了闲暇时间,那么也只有那时,你才能像查理一样,笑着到处跑。
如果你把它记在脑子里,学习就是工作,那将是地狱。因为总有更多东西要学。你知道怎么回事,只工作不玩耍。
但是假设,你认为学习是经历一个话题然后进入下一个话题的过程。
像游戏一样连接不同的东西。
你开始有同样的感觉,就像你是查理滑下滑梯时的感觉一样。
你学了一件事,你用它来学另一件事,你卡住了,你克服了,你学了另一件事。你用它来跳舞。
我了解到,如果你有结构化数据,如表、列或数据框,像 CatBoost、XGBoost 和 LightGBM 这样的集成算法效果最好。对于图像、视频、自然语言和音频等非结构化数据,深度学习和/或迁移学习应该是您的首选模型。
我把这些点联系起来了。我告诉自己,我是一个专家点连接器。从一点跳到下一点。
这样做,你会以比开始时更多的精力完成一次学习。
这是 3 岁的原则。视一切为游戏。
现在够了。
我该睡觉了。
这是额外的奖励。
7.睡眠
睡眠不好意味着学习不好。
你可能没有得到足够的。
我没有。驾驶优步最好的时间是周五和周六晚上。人们出去吃饭,参加聚会,去夜总会,我没有,我在开车。我会一直工作到凌晨 2、3 点,回家睡觉,直到太阳在 7-8 点把我叫醒。两天来,我都像个火车残骸。周一会到来,我会在一个不同的时区。周二情况有所好转,周三我回到了我需要的地方。然后这个循环会在周五重复。
这种打破睡眠时间表是不可接受的。我的目标是学得更好。睡眠清洁大脑,并允许大脑中新的连接发生。我在晚上 10 点、11 点停止开车,回到家,睡了 7-9 个小时。钱少,学问多。
不要用睡眠来换取更多的学习时间。做相反的事。
机器学习是广义的。
要研究好它,要研究好任何东西,你都需要提醒自己。
- 缩小你的搜索空间
- 修复您的环境
- 建立系统,让你永远赢
- 拥抱吮吸
- 有时什么都不做
- 把学习当作游戏
- 通过睡眠获得更好的知识
晚安。
你可以在 YouTube 上观看这篇文章的视频版本。
人工智能可以将您即将到来的移动应用参与度提高 53%的 6 种方式
缺乏用户参与是所有拥有自己应用的企业从一开始就面临的挑战。几乎每一个将移动应用程序开发外包到印度或世界任何其他角落的客户都会引发这种担忧。可悲的是,我们对此几乎无能为力。然而,现在 AI 开发服务已经完全改变了用户参与游戏。根据该报告,人工智能可以将你的应用程序的用户参与度提高 53%。
现在,问题是:怎么做?
这就是我们创建这个博客的原因。在这里,我们将讨论人工智能如何提高你的应用程序的用户参与度,以及为什么你应该咨询人工智能开发服务。
我们开始吧:
人工智能如何提高移动应用的参与度
1.人工智能帮助你了解你的顾客
就像我们在之前关于 Salesforce Einstein 的博客中所说的,如今只有非常了解他们的受众的企业才是成功的。
然而,了解客户对每个企业来说都是一个棘手的问题。
顾客想要什么?
这个问题的答案从来都不清楚。我们只做假设,有时候,这些假设最终会导致重大损失。
而且我们都知道,创建一个 app 是一笔不小的投资。开发一个像样的应用程序需要几千美元。你可能不想让所有辛苦赚来的钱付之东流。
人工智能确保你不会。在先进算法的帮助下,弄清客户的好恶变得非常容易。从应用程序主题、颜色、字体和动画到应用程序功能,您可以根据客户偏好设计一切,并确保他们没有任何理由讨厌它。
这样,人工智能可以帮助你避免所有可能导致用户讨厌你的应用程序的陷阱,并确保他们永远不会离开它。
2.人工智能让用户体验更加个性化
我讨厌缺乏个人体验的 app,你也是,每个手机 app 用户也是。
你知道为什么吗?
因为没有用户体验的应用程序很无聊,你可能会暂时喜欢它们。但是,你很快意识到它们不值得你花费时间和投资,然后你就把它删除了。
难怪有超过 28%的用户会在安装一个月内删除一个 app。
在人工智能咨询解决方案和跟踪用户行为的高级算法的帮助下,人工智能确保你获得个性化的体验,以便你继续沉迷于你的应用程序。
最好的例子是像我的星巴克咖啡师和亚马逊 Go 这样的应用程序,它们跟踪用户的行为并预测用户想要什么。这些应用程序从你的习惯中学习,并利用这些知识提供出色的用户体验。
你也可以使用人工智能的知识来使你的应用程序更智能,让它们从你的观众的习惯中学习,并使用它来提供令人难以置信的体验。
3.人工智能实现自动化
自动化并不意味着 AI 将完全取代你的应用中的人类交互。相反,它只会帮助你用你的应用程序做出更快更好的决定。
例如:
- 像 Ola 和优步这样的应用程序使用自动推理为你找到最近的搭车地点。
- 像 Zomato 和 Swiggy 这样的应用程序使用自动化来管理和显示你所在地附近最好的餐馆列表。
- 谷歌地图使用自动化来显示基于现有数据的最短路线。
在所有这些情况下,你的移动应用中的人工智能可以通过自动化一些任务来节省你的时间和成本。因此,用户会希望更多地使用你的应用。
4.人工智能帮助你以一种更有创意的方式展示你的应用创意
每个移动应用程序都代表一个想法。它向用户展示了你如何有效地解决他们的问题。
以优步和奥拉为例。我们都知道预约出租车有多难。首先,你几乎找不到一辆出租车会让你在你的位置下车。但是如果你碰巧这么做了,在你和司机同意同样的价格之前,你必须和他讨价还价。
优步和奥拉都有效地解决了这个问题。然而,人们只会使用其中的一种。
现在的问题是:
他们更喜欢哪一个?
嗯,他们更喜欢能以最简单的方式解决问题的方案。人们不在乎你用你的应用解决的问题是大是小。虽然,他们很关心你是如何解决的。当他们发现你的应用程序太复杂、太无聊时,他们就会离开。
这就是为什么确保你的应用想法以最好的方式表达出来是很重要的。这是在跟踪用户行为的高级人工智能算法的帮助下实现的。
使用从这些算法中收集的数据,移动应用程序开发机构可以以这样一种方式设计应用程序,即它允许用户没有任何麻烦地完成他们的任务。这种无缝的功能使应用程序更具吸引力,他们使用它的频率也更高。
5.人工智能让你切中要害
你知道哪些手机 app 最讨厌吗?那些拐弯抹角却提供不出任何有用信息的。这样的应用浪费你的时间和精力。有时,这样的应用程序会留在我们的手机上,当被发现时,我们会通过给出一个 1 星评级的严厉评论来删除它们。作为一个移动应用程序用户,你可能也会这样做,其他任何移动应用程序用户也会这样做。
那么,你会投资你宝贵的时间和金钱来创建这样一个虚假的、不相关的、对用户没有任何帮助的应用吗?
你肯定不会。然而,主要的问题是:
我们如何知道什么与用户相关?
这就是人工智能发挥作用的地方。建立在人工智能结构上的应用程序将使用先进的算法来跟踪和了解他们的应用程序是如何使用的。然后,他们可以利用收集到的信息来改善用户体验,只提供他们认为相关的信息,而不是任何信息。
6.人工智能为你的应用提供了改进的空间
一个 app 总有改进的可能。
然而,除非应用程序开发人员不知道应用程序的哪些领域真正需要增强,否则不可能做出任何重大改进。他们可能会根据胡乱猜测更新应用程序,同时可能会不断发布没有实际帮助的应用程序更新。
但通过在移动应用中使用人工智能,公司可以确保每次更新都在改进应用。
这是怎么回事:
正如我们之前讨论的那样,移动应用中使用的人工智能算法可以跟踪用户的行为,并分析他们在哪些领域互动最多,在哪些领域根本没有互动。
然后,移动应用程序开发人员可以使用这些收集的数据来决定他们希望紧急更新的功能以及他们希望在下次更新中增强的功能。
因此,您的应用程序会随着每次更新而得到系统化的改进。此外,看到你的应用一步一步变得更好——用户参与度也提高了。
因此,你看到人工智能如何有效地提高你的应用程序的参与度
这也是为什么越来越多的企业开始青睐使用人工智能的移动应用的主要原因之一。
然而,创建使用人工智能的应用程序并不容易。这个过程需要高水平的专业化和专家开发团队(全栈开发人员、AI 开发人员、UI/UX 设计人员、DevOps 工程师…
最初发布于https://www . signity solutions . com/blog/ai-increase-mobile-app-engagement/
农业行业受益于数据科学家的 6 种方式
Image via Rawpixel
数据科学家是几乎所有主要行业的一部分,农业也不例外。以下是数据科学家为农业部门带来优势的六种方式。
1.接收有用的数据,以帮助应对粮食短缺和增强小农户的能力
由于数据科学家拥有高效处理和分析海量数据的工具,一些项目正在进行中,以确定这些信息如何帮助小规模农民加入解决全球粮食短缺的战斗。
2018 年 9 月,一个联盟启动了一个项目,该项目将持续到 2030 年,并查看来自 50 个国家贫困地区大约 5 亿农民的数据。
该项目的负责人希望这些数据能够显示各国的农业投资是否有回报,并帮助制定农民政策。在更大的范围内,该项目符合联合国的可持续发展目标,将发展中国家的农业生产率和农民收入提高一倍,并帮助他们减少世界饥饿。
2.管理作物病虫害
农业害虫会很快减少农民的利润。但是,滥用杀虫剂会对人、植物和其他生物产生不良影响。幸运的是,一些公司招募数据科学家来帮助他们开发面向用户的平台,分析何时使用农药以及使用多少。
其中之一是一家名为 Agrosmart 的巴西公司。其技术依靠物联网(IoT)传感器和人工智能来确定作物上的昆虫种类和数量。然后,农民会得到一份相关的报告,并可以用它来规划他们的害虫管理方法。目标是帮助农民经济高效地控制害虫,同时将对环境的影响降至最低。
在另一个案例中,以色列初创公司 Saillog 开发了一款名为 Agrio 的智能手机应用程序,可以告知农民目前影响他们作物的疾病或者在周围农场发现的疾病。
3.调查农业生态位
数据科学家知道如何使用工具来识别可能隐藏的模式和关系。因此,他们可以通过检查特定的因素得出推动农业科学发展的结论。例如,研究人员知道微量矿物质积极影响家畜和家禽的代谢功能,而类胡萝卜素在增加蛋黄质量和营养方面发挥作用。
通过筛选数据库和研究得出的结论表明,农业过程中看似微小的因素可以带来实质性的变化。当动物饲料品牌、农民和农业部门的其他人利用数据科学家的这些发现时,他们可以积极地改变他们的经营并获得更好的结果。
4.应对气候变化
气候变化是一个迫在眉睫的问题,已经影响到农业部门。然而,数据科学家正在努力寻找补偿这种转变的方法。
一个项目涉及向台湾稻农提供物联网传感器,以便他们可以收集关于他们作物的重要信息。这些都将进入一个数据库,用于帮助农民优化他们的生产周期,即使气候变化使这项任务格外具有挑战性。由于气候变化,遵循传统的农事日历已经不够了。但是,数据分析可能会永远改变农业的未来。
科学家们还在仔细检查农业土壤数据,以提高他们对土壤如何通过释放温室气体导致气候变化的理解,以及土壤数据如何帮助适应气候变化。收集这种信息很棘手,但科学家们认为这可以填补土壤和气候变化之间关系的知识空白。
5.进行产量预测
收成不好会给农民以及所有依赖农作物的实体带来毁灭性的一季。IBM 有一个提前两到三个月估算玉米产量的平台,减少了农业专家不愉快的意外。
同样,伊利诺伊大学的研究人员依靠季节预报和卫星数据做出比平时更早的季末预测。实验室结果表明,这种新方法甚至比美国农业部的实时数据更准确。
6.提供农作物和土地的图像
农业行业的一些人管理着如此多英亩的土地,如果没有技术的帮助,就不可能获得关于潜在问题的及时更新和警报。加拿大公司 Farmers Edge 每天拍摄农场的卫星图像,并结合其他相关数据,包括来自【4,000 多个联网气象站的信息。
此外,包括爱尔兰和加纳在内的几个国家依靠基于卫星的作物监测来比传统方法更快地检查地区。
数据科学家在促进卫星图像用于这些目的和其他目的方面发挥着重要作用。试点项目和新平台可以帮助这些专家确定最适合解决农业部门当前和未来需求的方法。
对于对农业感兴趣的数据科学家来说,这是一个激动人心的时刻
这些年来,农业变得越来越高科技。现在,与过去相比,农业专业人员可以更深入地研究数据,并利用数据做出高度知情的决策。无论是现在还是在可预见的未来,数据科学家的进步正在使这一现实成为可能。
检验正态分布的 6 种方法——使用哪一种?
有许多方法可以检验一个变量是否呈正态分布。在这篇文章中,你会发现使用哪一个!
1.柱状图
1.1.介绍
第一个几乎所有人都知道的方法是直方图。直方图是显示变量分布的数据可视化。它给出了数据集中每个值出现的频率,这就是分布的意义所在。
直方图是快速直观显示单个变量分布的好方法。
1.2.解释
在下图中,两个直方图显示了正态分布和非正态分布。
- 在左边,样本分布(灰色)与理论钟形曲线分布(红线)的偏差非常小。
- 在右边,我们看到直方图中完全不同的形状,直接告诉我们这不是正态分布。
Sometimes the deviation from a normal distribution is so obvious that it can be detected visually.
1.3.履行
使用 python 可以轻松创建直方图,如下所示:
Creating a histogram using pandas in python
1.4.结论
直方图是快速直观显示单个变量分布的好方法。
2.箱形图
2.1.介绍
箱线图是另一种可用于检测非正常样品的可视化技术。箱形图绘制了一个变量的 5 个数字汇总:最小值、第一个四分位数、中值、第三个四分位数和最大值。
箱线图是同时可视化多个变量分布的好方法。
2.2 解释
箱线图是一种很好的可视化技术,因为它允许绘制许多相邻的箱线图。对变量的快速概述让我们对分布有了一个概念,作为“额外收获”,我们得到了完整的 5 个数字的摘要,这将有助于我们进一步的分析。
你应该注意两件事:
- 分布是否对称(正态分布也是如此)?
- 宽度(尖度的反义词)对应正态分布的宽度吗?这在箱线图上很难看到。
Normal (left), Uniform (middle) and exponential (right) boxplots vs normal bell curve
2.3.履行
箱线图可以很容易地用 python 实现,如下所示:
Creating a boxplot using pandas in python
2.4.结论
箱线图是同时可视化多个变量分布的好方法,但是使用箱线图很难识别宽度/尖度的偏差。
3.QQ 情节
3.1.介绍
有了 QQ plots,我们开始进入更严肃的内容,因为这比前面描述的方法需要更多的理解。
QQ 图代表分位数与分位数图,这正是它所做的:绘制理论分位数与变量的实际分位数。
QQ 图比柱状图或箱线图更能让我们看到正态分布的偏差。
3.2.解释
如果我们的变量遵循正态分布,我们的变量的分位数必须完全符合“理论”正态分位数:QQ 图上的直线告诉我们我们有一个正态分布。
Normal (left), uniform (middle) and exponential (right) QQ Plots
如图所示,正常 QQ 图上的点遵循一条直线,而其他分布严重偏离。
- 均匀分布在两端有太多的观察值(非常高和非常低的值)。
- 指数分布对较低的值有太多的观察,但对较高的值观察太少。
在实践中,我们经常看到一些不太明显但形状相似的东西。尾部的过多或过少都应该引起对正态性的怀疑,在这种情况下,你应该使用下面描述的假设检验之一。
3.3.履行
可以使用 python 中的 statsmodels api 实现 QQ 图,如下所示:
Creating a QQ Plot using statsmodels
3.4.结论
QQ 图比柱状图或箱线图更能让我们看到正态分布的偏差。
4.科尔莫戈罗夫斯米尔诺夫试验
4.1.介绍
如果 QQ 图和其他可视化技术不能得出结论,那么统计推断(假设检验)可以对我们的变量是否显著偏离正态分布给出更客观的答案。
如果你对如何以及何时使用假设检验有疑问,这里有一篇给 对假设检验 的直观解释的文章。
Kolmogorov Smirnov 检验计算经验分布和理论分布之间的距离,并将检验统计量定义为这些距离集合的上确界。
这样做的好处是,同样的方法可以用来比较任何分布,而不一定只是正态分布。
KS 测试是众所周知的,但它没有太大的权力。它可以用于除正常分布之外的其他分布。
4.2.解释
KS 检验的检验统计量是 Kolmogorov Smirnov 统计量,如果零假设为真,则该统计量遵循 Kolmogorov 分布。
如果观察到的数据完全符合正态分布,KS 统计值将为 0。P 值用于决定差异是否大到足以拒绝零假设:
- 如果 KS 检验的 P 值大于 0.05,我们假设正态分布
- 如果 KS 检验的 P 值小于 0.05,我们不假设正态分布
4.3.履行
使用 Scipy 的 Python 中的 KS 测试可以如下实现。它返回 KS 统计数据及其 P 值。
Applying the KS Test in Python using Scipy
4.4.结论
KS 测试是众所周知的,但它没有太大的权力。这意味着需要大量的观察来拒绝零假设。它对异常值也很敏感。另一方面,它可以用于其他类型的分布。
5.利利佛斯试验
5.1.介绍
Lilliefors 测试在很大程度上基于 KS 测试。不同之处在于,在 Lilliefors 检验中,接受的是总体分布的均值和方差是估计的,而不是用户预先指定的。
因此,Lilliefors 测试使用 Lilliefors 分布,而不是 Kolmogorov 分布。
不幸的是,对于 Lilliefors 来说,它的能力仍然低于夏皮罗维尔克测试。
5.2.解释
- 如果 Lilliefors 检验的 P 值大于 0.05,我们假设正态分布
- 如果 Lilliefors 检验的 P 值小于 0.05,我们不假设正态分布
5.3.履行
statsmodels 中的 Lilliefors 测试实现将返回 Lilliefors 测试统计值和 P 值,如下所示。
注意:在 statsmodels 实现中,低于 0.001 的 P 值被报告为 0.001,高于 0.2 的 P 值被报告为 0.2。
Applying the Lilliefors test using statsmodels
5.4.结论
虽然 Lilliefors 是对 KS 测试的改进,但它的功效仍然低于夏皮罗维尔克测试。
6.夏皮罗维尔克试验
6.1.介绍
夏皮罗维尔克检验是检验正态分布时最有效的检验。它是专门为正态分布开发的,不能用于测试其他分布,例如 KS 测试。
夏皮罗维尔克检验是检验正态分布时最有效的检验。
6.2.解释
- 如果夏皮罗维尔克检验的 P 值大于 0.05,我们假设正态分布
- 如果夏皮罗维尔克检验的 P 值小于 0.05,我们不假设正态分布
6.3.履行
夏皮罗·维尔克测试可以如下实现。它将返回名为 W 的测试统计数据和 P 值。
注意:对于 N > 5000,W 检验统计是准确的,但 p 值可能不准确。
Applying the Shapiro Wilk test using statsmodels in Python
6.4.结论
夏皮罗维尔克检验是检验正态分布时最有效的检验。你一定要用这个测试。
7.结论—使用哪种方法!
对于正态分布的快速和视觉识别,如果你只有一个变量需要查看,使用 QQ 图,如果你有多个变量,使用方框图。如果您需要向非统计公众展示您的结果,请使用直方图。
作为一个统计测试来确认你的假设,使用夏皮罗维尔克测试。这是最有力的考验,应该是决定性的论点。
当测试其他分布时,你不能使用夏皮罗·维尔克,而应该使用安德森-达令测试或 KS 测试。
600 倍 t-SNE 加速与急流
GPU 加速通常与深度学习有关。用于计算机视觉的 GPUs power 卷积神经网络和用于自然语言处理的变压器。它们通过并行计算来实现这一点,与 CPU 相比,它们在某些任务上要快得多。
RAPIDS 正在通过将传统的机器学习和数据科学算法(如 t-SNE 或 XGBoost)引入 GPU 来扩大 GPU 的利用率。
本文将比较 RAPIDS-cuml (GPU)和 Sklearn (CPU)之间的 t-SNE 实现:结果分别是 3 秒和 30 分钟。
硬件:本实验由数字风暴 在数据科学 PC 上运行
t-SNE visualization of intermediate CNN features
t-SNE 是一种用于可视化高维数据的算法。上面显示的是将 512 维向量从中间 CNN 激活转换为 2 维向量的示例。CIFAR-10 数据集中的每个图像都通过图像分类器。最终分类层之前的激活被添加到用于可视化的阵列中。这是通过以下代码行完成的:
from tensorflow.keras.models import Modelintermediate_layer_model = Model(inputs = model.input,
outputs = model.get_layer('VisualizationLayer').output)
最终的密集图层被命名为“可视化图层”,以这种方式对其进行索引
t-SNE 可视化对于获得关于决策空间的直觉非常有用。另一种方法可能是使用混淆矩阵。t-SNE 可视化显示了汽车和飞机之间的重叠等错误。虽然混淆矩阵会简单地告诉我们类似“8”的汽车被错误地归类为飞机,但 t-SNE 可视化给出了更多关于这里正在发生什么的信息。我们看到,至少错误分类的汽车位于飞机边界的边缘,我们可能能够通过一些标签平滑/数据增强来解决这个问题。
获得关于我们模型的直觉对于这种 EDA(探索性数据分析)非常有用。这有助于为数据级决策提供信息,如识别类别不平衡的影响、数据扩充或收集更多数据的效用。这也有助于比较损失函数。
在“基于 GAN 的合成医学图像增强以提高 CNN 在肝脏病变分类中的性能”中,Frid-adar 等人使用 t-SNE 可视化来展示添加 GAN 生成的数据如何改善医学图像分类的决策边界(请注意,与 a 相比,图 b 中蓝色类别的解缠结得到改善)。
在 Chen 等人的“通过引导互补熵提高对抗鲁棒性”中,他们展示了他们对交叉熵损失函数的改进如何产生更平滑的决策边界,重叠更少(比较右图和左图)。他们使用这种可视化来说明他们改进的决策边界如何提供对抗性攻击防御。
Another interesting application of t-SNE In the “Do’s and Dont’s of using t-SNE to Understand Vision Models” presented by Laurens van der Maaten at CVPR 2018
新与旧
这个例子展示了在 t-SNE 上使用 RAPIDS vs. Sklearn 的 600 倍加速比>
这个例子是在 50,000 个 CIFAR-10 图像上运行 Barnes-Hut (n log n)版本的 t-SNE,这些图像已经通过图像分类器(训练到 79%的准确度)处理成 512 维向量。t-SNE 算法将这些 512-d 矢量转换成 2-d 以便可视化。
1918 秒(~30 分钟)(Sklearn)
from sklearn.manifold import TSNE
sklearn_embedded = TSNE(n_components=2).fit_transform(embeddings)
3 秒(急流累计)
from cuml.manifold import TSNE as cumlTSNE
tsne = cumlTSNE(n_components=2, method='barnes_hut')
tsne_embedding = tsne.fit_transform(embeddings)
硬件:本实验由数字风暴 在数据科学 PC 上运行
急流的冲击
由 RAPIDS 实现的 t-SNE 加速使得高维数据可视化更加实用。嵌入 50K CIFAR-10 向量在 CPU 实现上花费了 30 分钟,如果 t-SNE 算法具有 O(n)时间复杂度,则尝试嵌入 120 万 ImageNet 数据集将花费至少 12 小时(尽管 barnes-hut 算法的后一个 log n 在这个规模上可以忽略不计)。
在 RAPIDS 的支持下,t-SNE 可视化可以实现整个 ImageNet 数据集的可视化(Chan 等人在 t-SNE-CUDA 中探索的)。
GPU 对这类矢量表示的加速对图像相似性/检索应用也非常有用。从大型图像数据库中找到语义最相似的图像的最佳方法之一是比较图像分类器的中间激活。这导致比较来自分类器的 k 维向量嵌入的大集合。对于 K-Means 这样的聚类算法,RAPIDS 可以大大加快这种操作的速度。
t-SNE 是一种获得关于数据集和由神经网络构建的中间表示的洞察力的伟大技术。RAPIDS 正在通过 GPU 加速帮助 t-SNE 达到新的高度,使更多的数据能够通过这种算法可视化。
感谢阅读!如果你觉得这篇文章很有趣,你可能也会喜欢这个视频,它一步一步地从 NGC docker 容器到设置 RAPIDS 库再到最终的 t-SNE 可视化!
7 个基本质量工具
r 代表工业工程师
使用 R 包创建基本的质量工具
Image by CCBOE
质量的 7 个基本工具:介绍
历史上,质量推动公司和组织生产和提供更好的产品和服务。它与产品的品牌有着内在的联系,代表着一种竞争优势和与竞争对手的区别。为了在满足客户需求的同时从中获利,公司和组织开发了各种方法、框架和工具来解决试图影响其产品和服务质量的问题。然而,有一些常用的工具可以应用于任何行业,从产品开发阶段到交付,用于解决关键的质量相关问题。
也被称为 7 QC 工具,质量的七个基本工具最初由东京大学的工程学教授石川馨概念化,受到 W. Edwards Deming 在 20 世纪 50 年代的一系列演讲的影响。石川的质量的七个基本工具对应于一套固定的图形和统计技术,有助于解决关键的质量相关问题。作为整体质量保证工作的一部分,它们被广泛用于微调过程。同样,它们被认为是基础,因为任何受过非常基础的统计培训的人都可以轻松实现它们。
“从我过去的经验来看,一个公司内多达 95%的问题都可以通过这些工具来解决,因为它们可以用来解决绝大多数与质量有关的问题”(Ishikawa,1985 年,摘自他的书《什么是全面质量控制?日本人的方式)。
帕累托图
也称为帕累托分布图,帕累托图是一个垂直条形图,其中从左到右按相对频率的降序绘制数值。在分析问题的第一阶段,它是一个非常有用的工具,因为它有助于通过查看图表中最高的条形来直观显示哪些问题需要首先注意,这些条形代表对给定系统具有最大累积影响的变量。
由意大利工程师维尔弗雷多·帕累托开发的图表提供了帕累托原理的图形表示,该理论认为给定系统中 80%的输出是由 20%的输入(即缺陷、错误、差错)产生的。该图表旨在从**(~ 80%)中识别出 至关重要的少数 ( ~20%)。这是一个双轴图表,其中左轴对应于输入频率,而右轴对应于其累积百分比。我们来看看下面的 R 代码,生成一个帕累托图。
Pareto Chart R Code
Pareto Chart example using SixSgima R package
运行图表
运行图也称为运行顺序图,是一种按时间顺序显示观察数据的图表。运行图有助于发现数据中的模式和异常,这些模式和异常表明一个过程随时间的变化或可能影响其可变性的特殊因素。在运行图上,x 轴通常代表时间或运行,而 y 轴代表被观察的属性。我们来看看下面的 R 代码生成运行图。
Run Chart R Code
Run Chart example using SixSigma R package
柱状图
直方图是数据的图形表示。数据由图表上的柱形图表示,柱形图的高度取决于特定数据范围出现的频率。直方图以易于理解的图形方式显示数据;它们揭示了数据的中心、变化和形状;它们说明了数据的基本分布;它们能够预测未来的过程性能;并且它们允许理解过程是否能够满足客户需求。让我们看看下面的 R 代码来生成一个直方图。
Histogram R Code
Histogram example using SixSigma R package
因果图
因果图也被称为石川或鱼骨图,它是一种工具,可以帮助识别影响、问题或不良结果的潜在根本原因,同时将它们分为六大类,通常称为六个 M s:测量、材料、机器、方法、人力和自然。所分析的结果被放置在鱼头上,而原因基于它们相应的类别被放置在鱼刺上。在头脑风暴会议期间,团队成员必须不断地问“为什么会这样?“生成潜在的原因;有多层原因是一种常见的做法,其中各层表明因果关系。我们来看看下面的 R 代码生成一个因果图。
Cause-and-Effect R Code
Cause-and-effect diagram example using SixSgima R package
散点图
散点图是一种数学图表,它在 X-Y 图上绘制成对的数据,以揭示数据集之间的关系。它们需要两组数据:第一组通常称为自变量( x ),第二组通常称为因变量( y )。散点图有助于确定数据集之间是否存在相关性。换句话说,如果变量之间存在某种关系,而这种关系往往会以一种不仅仅基于偶然性的方式一起出现。然而,即使散点图可能暗示数据集之间的相关性,也应该始终考虑到 相关性并不一定意味着因果关系 。我们来看看下面的 R 代码生成散点图。
Scatter Plot R code
Scatter Plot example using SixSgima R package
控制图
控制图是描述产品或过程的样品是否符合其预期规格的图形表示,如果不符合,则描述它们与这些规格的差异程度。它们允许监控过程是否在统计控制之下;帮助可视化变化;发现并纠正出现的问题;预测结果的预期范围;并从特殊原因分析过程变化的模式。
控制图分为两大类:一类用于监控离散数据——根据样本大小进一步划分(如 X-MR 图、I-MR 图、X-条形图、R-图和 s-图)—;另一类用于监控连续数据——根据单位缺陷数再根据样本大小进一步划分(如 c-图、u-图、NP-图和 p-图)。对于下面的例子,我们来看看下面的 R 代码生成 c-chart。
c-chart R code
c-chart example using qcc R package
如果有兴趣了解更多关于何时使用每种类型的控制图,如何解释它们的结果以及构建它们的 R 代码,请参考我以前的文章这里。
板式挡帘
也被称为缺陷集中图,检查表是一种结构化的、准备好的表格,用于在数据生成的位置实时收集和分析数据。它通常是一种空白表格,旨在快速、简便、高效地记录所需的定量或定性信息。其主要特征之一是通过在其上做标记(即检查)来记录数据。使用检查表的一些优点包括:显示数据的有效方式;使用方便;能够识别问题的根本原因;可用于证实或反驳指控;并且代表了构建其他图形工具的第一步。让我们看看下面的 R 代码来生成一个基本的检查表。
Check Sheet R code
Check Sheet example using grid R package
如上面的代码所示,在 R 中编码可能不是开发检查表的最有效的方法。然而,我不想在没有解决和编码它们的情况下结束这篇文章。这是由工程师来决定最好的工具/程序/软件用于他们的开发,但是为了简单起见,我不推荐你使用 R 。
总结想法
本文研究的七个基本质量工具代表了开发根本原因分析、实施精益六西格玛项目和管理质量改进计划的非常有用的工具。
工程师必须熟悉和熟悉这些工具,以便从他们的工程工具箱中拿出合适的工具来处理给定系统中的问题,并帮助保持所生产的产品和服务的一致性。
拥有他们的 R 码的主要优点之一是他们的 再现性 只需要修改他们的初始输入。本文并不打算说服读者在开发这些工具时严格使用 R for,而是介绍如何用几行代码在一个免费的开源软件中开发它们。
— —
如果你觉得这篇文章有用,欢迎在GitHub上下载我的个人代码。你也可以直接在 rsalaza4@binghamton.edu 给我发邮件,在LinkedIn上找到我。有兴趣了解工程领域的数据分析、数据科学和机器学习应用的更多信息吗?通过访问我的介质 简介 来探索我以前的文章。感谢阅读。
-罗伯特
高效人工智能商业项目的 7 个习惯
好的和伟大的 AI 商业项目有什么区别?大多数关于构建有效人工智能的建议都集中在工作的数据科学和技术方面。
这些当然是至关重要的,但现在有足够的行业经验来开始推测有效的人工智能工作的其他特征。
以下是我认为有助于伟大的人工智能工作取得商业成功的 7 个特征。希望这是你对自己的人工智能商业项目的渴望的食粮。
什么是高效的 AI 商业项目?
大多数从事人工智能工作的人可能会承认,高效的人工智能商业项目仍然不是标准。人工智能工作被认为主要是技术性的,重点是算法、数据科学和数据工程。
企业谈论其人工智能工作的量化商业利益的例子仍然相对较少。但这种情况正在发生变化,可衡量的商业目标开始更经常地出现在商业人工智能工作中。
一个好的人工智能商业项目提供的人工智能输出应该或者能够帮助一个企业。高效人工智能工作由实现和展示业务成果的需求驱动:
一个高效的人工智能商业项目非常注重商业,商业成果决定了项目的其余部分。这些始终是整个团队的首要任务。
这对于人工智能来说还不是典型的,对于许多投资人工智能的企业来说充其量只是一种期望。但这是一个有用的愿望,塑造了一个组织中所有人工智能工作的基调和文化。
即使这在你的项目中仍然难以捉摸,瞄准它也是值得的。你就不太可能误入被技术过度引导的人工智能陷阱。
这里有 7 个“习惯”可以考虑在你的人工智能工作中采用。理想情况下,它们会加速你迈向高效人工智能商业项目的进程。至少,它们将有助于在人工智能工作中保持技术和商业优先事项之间的健康平衡。
习惯 1: 业务团队成员世卫组织了解 AI 基础知识
人工智能在技术上的复杂性是实至名归的。构建良好的人工智能解决方案需要深厚的技能,很多是技术性的。然而,这并不意味着团队中的每个人都必须理解这种复杂性。
相反,让业务团队成员了解人工智能如何发挥其明显魔力的原理会有所帮助。不被基础的数学和统计学所困扰甚至是一种优势。
相反,对于商业用户来说,更常见的是在几乎没有人工智能教育的情况下被招募到人工智能项目中。他们通常“在工作中”获得人工智能知识。当业务参与的角色是定义需求时,通常就是这种情况。在许多情况下,这是一种合理的方法,并且可能是唯一可用的选项。
但是,如果有机会,可以考虑给来自业务的 AI 团队成员配备更多的知识。这将允许他们做比指定业务需求更多的事情。这将产生开销,您的数据科学家和业务分析师可能不会完全满意。但你可能会带来更好的业务成果。
习惯二: 现实的商业期望来自艾
新技术的一个缺点是对它能做什么有不切实际的期望。这是如此普遍,以至于 Gartner 炒作周期的一个阶段被称为“膨胀预期的顶峰”。 AI 目前容易被夸大期望,部分原因是主流媒体报道太多。
人工智能项目的一个挑战是那些期望过高或无法实现的结果的商人。一个变化是对成功的人工智能解决方案的时间尺度的高期望。这与不愿意容忍实验或失误是分不开的。
不切实际的期望的另一个方面是没有意识到不良或不充分数据的重要性。这表现为对为人工智能使用准备数据的努力缺乏耐心。
有许多方法可以验证商业期望,从教育到合作开发目标。你如何处理取决于你的组织。收购的习惯是一个人工智能团队和具有一致期望的受影响的业务。请记住,结盟可能意味着只是在同一个球场。
习惯 3:
询问和回答正确的商务问题
好的人工智能商业解决方案是围绕有意义的商业问题而设计的。有意义包括有足够的适当数据来有效地回答这些问题。
但是从技术角度来看,问题的质量并不重要。AI 的心脏是建立在统计数据和代码上的,与商业意义无关。AI 技术不会“在意”你设计的算法是不是计算一些没有意义的东西。它们会像对商业更有用的东西一样平稳运行。
高效人工智能商业项目的一个标志是一个潜在的商业问题,它以一种可量化的方式将数据科学和技术发展联系在一起。即使是一个不起眼的聊天机器人也可以被可量化的业务改进所驱动。
因此,有必要检查一下你的预期业务成果和人工智能特性之间的联系。如果不清楚或“模糊不清”,您可能希望更深入地了解潜在的业务问题。
习惯 4:
知道 AI 的价值只有在业务实现时才会出现
人工智能解决方案满足需求的程度并不决定它提供的商业价值。人工智能只能通过将其成果融入业务流程和运营来实现商业价值。
商业在人工智能项目中的角色是最低限度的指定需求。它还可能扩展到帮助将这些转化为人工智能功能。在某些情况下,业务用户可能还会从业务的角度帮助发现数据。
不太常见的是提前考虑商业将如何在实践中使用人工智能输出。至少,这涵盖了交付业务改进的高层次目标。但理想情况下,它还应该涵盖操作细节。这些将包括谁将使用人工智能输出,业务流程将如何改变,以及提供什么样的沟通和培训。
典型的情况是,只有在开发接近尾声时才开始详细考虑这一点。相比之下,高效的人工智能业务项目在早期就致力于业务实施规划和影响,以及人工智能解决方案设计。
习惯五:
欣赏有效的人工智能工作包括“错误”和“浪费”的努力
人工智能工作本质上是分阶段实验性的,并使用快速发展的技术。所以有些 AI 工作可能会出错,有些会被浪费也就不足为奇了。但这不同于因为缺乏经验或年轻的技术而出错。作为寻找正确答案的数学过程的一部分,有效的人工智能工作会把事情“弄错”。
人工智能中的一些基础统计和数学技术本质上是基于试错法。它们是可行的,因为今天强大的计算机可以重复计算数百万次,直到找到正确的答案。所以你只有拒绝很多错误的答案,才能找到正确的答案。这适用于人工智能工作的几个方面,从优化算法到挑选正确的数据特征。
“错误”答案是寻找正确答案的一部分的另一个领域是在探索可用数据时。大多数人工智能项目都有一个早期阶段,叫做探索性数据分析或类似的东西。这一切都是为了试验可用的数据,寻找提取相关业务洞察力的方法。
人工智能工作的一个不可避免的风险是在探索性工作上花费了比“必要”更多的时间。但是你只有在找到你想要的正确答案后才能知道最短的时间。如果你过于努力地减少这一点,一个更糟糕的风险就会出现。你冒着为你的业务问题开发一个无效或低效的人工智能解决方案的风险。
高效的人工智能商业项目在负责任和挥霍的实验阶段之间取得了平衡。在寻找这种平衡的过程中,有一个强有力的论点,那就是宁可选择更好的长期业务结果。另一种选择是在较低的短期项目成本和时间范围方面出错。
习惯 6:
知道每个人都会对合理的预算有点不满
人工智能不便宜,但也不一定很贵。如果你理解构建人工智能的过程,就有可能在合理的预算和时间范围内做有意义的工作。如果你不这样做,那么它也有可能招致重大和/或可避免的成本。
对于更传统的 IT,在设定对工作、持续时间和预算的预期时,有基准、经验法则和经验可供使用。还有一个相对成熟的市场,所以如果你需要一件作品的报价,大多数都是可比的。
这对于人工智能来说还不存在,所以估计人工智能预算和项目持续时间是很棘手的。人工智能工作某些阶段的实验性质加剧了这种情况。这意味着让人工智能团队承诺预算和日期可能是一项令人不舒服的工作。有时估计似乎很高,因为这项工作确实很难。但其他时候,这可能是缺乏经验或过于热情的反映。
高效的 AI 项目提供足够的投资和时间,让团队有机会成功。但是他们并没有提供太多健康的压力。正确的平衡可以防止任何忽视结果及其商业价值的倾向。
合适的预算可能超出了赞助商的承受能力,但却低于人工智能团队的理想需求。
这两者之间的差距太大而无法弥合并不罕见。在这种情况下,不匹配可能指向一个或两个期望集的问题。
习惯 7:
证明有效的人工智能工作是一个持续的平衡行为
人工智能仍然相对年轻,具有内在的实验阶段和多变的行业经验。过多的人工智能“蛇油”销售人员于事无补。关于如何最好地完成人工智能工作,还需要一段时间才能有可靠的全行业数据。在那之前,判断支出多少、艾龙应该如何应对以及预期的商业利益有多大仍将是棘手的。
只要这个挑战仍然如此巨大,管理和交付人工智能工作将继续是一系列平衡行为。
仔细的思考和计划是至关重要的,拥有足够的知识不会被误导或更糟。但开发 AI 是一项动手活动,很容易在早期过度思考。你可以在几天的探索性数据分析中获得比几周的策略和计划更多的东西。所以想和做的平衡是一个方面。
商业、技术和数据科学之间也存在固有的紧张关系。一个有效的人工智能项目团队反映并尊重这三者。它建设性地平衡了紧张关系——至少在大多数时候。
最后,人工智能始于实验室,现在仍然是科学家和数学家的领域。但观众、受益者和赞助商都是商人,动机不同。也许这两种心态之间最大的平衡就是在“最好”和“足够好”之间找到正确的平衡点。这在优化模型和算法的实验阶段尤为明显。
高效的人工智能商业项目团队理解平衡“思考”、“管理”和“做”的需要。尽管涉及不同的心态、压力和优先事项,他们在大多数时候都能找到保持这种状态的方法。
高效人工智能商业项目的 7 个习惯:外卖
构建人工智能解决方案是一项足够困难的技术练习。企业是否会有效地使用它们似乎是一个额外的复杂因素。但是高效的人工智能商业团队意识到商业利润为他们的工作买单。
有效的技术工作应该是企业对人工智能团队的最低期望。有效的数据科学工作将期望转移到技术工作所产生的意义上。好的人工智能团队的核心是接受这一点,甚至是热情,而不是宽容或忍耐。
为了将商业中的人工智能工作从优秀提升到卓越,还有从商业意义到商业价值的进一步转变。但这总是超出了人工智能团队的直接控制,需要在更广泛的业务中建立桥梁。
一个高效的人工智能商业项目从一开始就考虑到了更广泛的业务。它相应地调整自己的活动、团队构成和心态。本文中的 7 个习惯是这种团队及其工作的特征,但在大多数组织中是有抱负的。
然而,如果你在领导或参与一个人工智能项目,你会有机会尝试将其中的一些付诸实践。
这是让所有人一直养成习惯的良好开端。
本文最初发表于【www.aiprescience.com】
7 人工智能技术的影响
https://images.pexels.com/photos/1229860/pexels-photo-1229860.jpeg
人工智能是一项比你知道的重要得多的技术。每个企业都需要在他们的网站设计、应用程序开发和营销过程中应用它。换句话说,每个企业都需要与人工智能开发者合作。例如,游戏应用和游戏机的开发者在人工智能方面非常广阔。其实很多都是 AI 开发者。这是因为人工智能让电子游戏变得有趣。无论你玩什么视频游戏,你都会得到系统的响应,而且它会根据你的输入进行定制,无需人工干预。
这篇文章实际上讨论了让 AI 开发者和 AI 技术都变得非常重要的好处。仔细阅读之后,如果你还没有开发这项技术,你就会知道你错过了什么。
1。基于语音的搜索正在兴起
语音命令始于 Alexa,许多人抓住了发布语音命令的便利,而不是必须键入它们。任何系统都需要人工智能才能处理语音命令。
现在,很多人已经开始用语音指令进行在线搜索。你不是也更喜欢发出语音命令而不是敲出来吗?事实上,据报道,到 2020 年底,一半的在线搜索将是基于语音的。肯定是因为方便。所以,雇佣人工智能开发者来优化你的网站进行语音搜索是很有必要的。
2。全天候可用性
网站和移动应用程序全天候可用,但支持人员通常不是全天候可用的。任何一天 24 小时服务的客户服务团队都必须轮班工作。不幸的是,客户现在太不耐烦了,他们想要即时响应。他们不想再等 24 小时了。
人工智能为这个问题提供了解决方案——人工智能聊天机器人。许多网站都配备了聊天机器人,可以随时随地即时回复顾客的查询。你一定注意到现在很多网站上都有实时聊天。大部分都是聊天机器人开的。使用聊天机器人可以节省你雇人 24 小时管理你的网站的费用。所以,AI 节约了成本,提高了你的销售转化率。
3。改善用户体验
如果实施得当,你网站的访问者可以享受到很好的用户体验,这将使他们再次访问你的网站。实现这一点的一个方法是预测他们在寻找什么。当他们键入任何产品的名称时,你的网站应该向他们展示名称与这些字母匹配的产品选项,这样他们就可以选择了。
减少访问者在你的网站上打字的次数有助于极大地改善他们的体验。另一种方法是向他们展示他们最后的订单。根据他们的订购模式,机器人可以向他们展示他们最后的订单,这样他们就不必再次重复这个过程。想象一下,有人同时订购了 10 件以上的商品。如果给她一份准确的订单,她会感到轻松很多,这样她就不用一个接一个地挑选了。
现在来说说 AI 在其他领域的优势。
4。减少误差
AI 机器人工作在代码上,缺乏情感。所以,他们不能被任何事情分心。他们以 99.9%的准确率完成任务,这是人类无法企及的。无论是数据分析还是简单的计算,机器人都会以可靠的精度完成。
这就是为什么一些公司雇佣他们进行数据分析。您知道重要的业务决策是基于数据分析数字,如果数字不准确,可能会造成灾难性的后果。为了准确起见,在你的商业报告和数据分析中使用人工智能。
5。速度增加
这是不言自明的。机器人、机器和计算机以惊人的速度工作。所以速度是开发人工智能技术的原因之一。以微软 Excel 为例。要计算数百个数字的总和,你只需突出显示这些数字,然后点击自动求和按钮,答案就会立即出现。这正是机器人快速工作的方式。因此,如果你欣赏计算的速度,想想人工智能。
6。危险任务
有些任务不能由人类来完成,因为涉及到危险。然而,由于其结果的重要性,需要执行这些任务。这样的任务现在由机器人来完成。例如,一些探险活动是危险的,因为这些活动可能会释放出气体。最好是设计机器人来执行这样的任务。
如今,机器人被设计用来探索太空,拍摄快照并将其发送到地球。一些机器人甚至可以自己驾驶航天飞机。它们是专为这项工作设计的。这一切都是基于人工智能。
7。医疗应用的激增
人工智能催生了众多医疗应用。这些应用程序有助于温和的诊断和处方。他们只需要在应用程序上输入症状和病史。将对疾病进行诊断,并开出药方。
这些应用依赖于大量的医疗数据,以便能够准确地诊断和开出药物。
总而言之,人工智能有助于语音命令、24/7 可用性、改善用户体验、减少错误、提高速度、危险任务、医疗诊断和处方,以及许多其他领域。
作者简介:
Melissa Crooks 是一名内容作家,为 Hyperlink InfoSystem——一家位于纽约、美国和印度的移动应用开发公司——撰写文章,该公司拥有最优秀的技术娴熟的专业应用开发团队。她是一名多才多艺的科技作家,喜欢探索最新的科技趋势、企业家和创业专栏。她还为顶级应用开发公司写文章。