数据中台建设(从方法论到落地实战)-读书笔记6

6 算法即服务:最大化实现数据价值

6.1 算法的价值

数据模型的表述形式:Y=F(X),F为算法,X为输入,Y为输出

算法的核心价值如下:

  • 模拟客观世界,实现现实世界的数字化和可视化,让人触手可及。算法的核心价值是对客观世界进行抽闲和模拟,然后通过一系列的数学公式来进行描述。
  • 提升决策能力。
  • 提升体验。算法的应用可大幅提升服务全流程的自动化水平和效率,让客户获得前所未有的极致体验。
  • 降本增效
  • 提高沟通效率。很多即时通信类或聊天类软件,借助算法的力量实现了文字聊天、语音聊天、语音转文本、人机对话等功能
  • 拓宽边界,扩大外延,扩展能力

6.2 建模标准化流程

6.2.1 业务理解贯穿始终

技术工作者与业务专家深入沟通,业务专家输入业务需求和业务知识,技术工作者输入技术和解决方案的思路,然后双方进行沟通和碰壁,最终产出可实现的业务需求和初步的解决方案。

6.2.2 数据准备

(1)变量结构化构建方法

在数据准备之前,还需要明确算法需要的原始自变量X和因变量Y。在确定自变量X的时候,应遵循粒度从粗到细的原则。通过一下方法实现变量构建的结构化和自动化

  • 变量的事实。该要素主要描述变量的事实信息,结构化的事实构建方法如下:找出业务的核心主体,梳理关键的业务节点,确定各个节点的关键行为
  • 变量参与主体的纬度
  • 时间窗口纬度。该要素描述变量的时间范围的纬度
  • 对事实的度量。该要素描述事实的衡量指标,主要包含原始指标、统计指标和趋势类指标。

变量结构化构建方法应关注一下3个内容:

  • 遵循变量的粒度从粗到细的原则,步步递进,结构清晰
  • 通过变量的4个要素进行组合
  • 应该校验变量的合理性和二义性。

(2)明确变量口径

  • 在确定了X和Y的4个要素后,还需要明确X和Y的详细口径和计算方法
  • 数据开发工程师根据事前确定的定义、口径和计算方法从数据仓库中提取所需的X和Y的明细数据
  • 在数据准备阶段,业务专家和技术工作者可能需要变更X的字段、定义、口径和计算方法。真个过程也可能需要反复几轮,最终才能明确数据需求。

6.2.3 数据预处理

问题

数据校验

(目的:校验数据的真实性和准确性,发现问题数据)

数据清洗

(目的:解决有问题的数据)

命名合理性对变量的命名是否符合命名规范进行校验,同时判断不同字段的命名是否容易产生歧义。对命名不符合命名规范的进行重命名工作,解决二义性问题。
清单和汇总至一致性校验清单数值和清单中统计数值是否一致。需要更正统计数值
字段唯一性和一致性校验数据表主键、外键等字段的唯一性,校验相同ID对应的其他信息的唯一性、一致性。重新检查数据逻辑。相同ID对应的字段信息如果不一致,那需要辨别数据真伪,如无法辨别,那么关于该ID数据不可用。
缺失值校验字段是否存在空值和空值的占比去掉缺失值比例超过阈值的所有变量,而对于缺失值比例低于阈值的变量,一般采用中位数代替、预测、相关性填充、增加缺失标志等方法处理。
异常值校验字段是否存在异常值对数值变量的异常值可使用IQR法
尺度一致性判断数据的尺度是否一致,eg:单位修正尺度
格式一致性主要对于日期变量,应保持一致的日期格式修正格式
数据重复性校验是否有重复先进行去重操作,删除重复数据
数据合理性从业务角度判断各个字段取数的合理性从业务逻辑角度进行判断,如无法判断,那么删除该数据
数据完整性从行的角度校验数据的完整性解决方法是删除不完整度超过70%的数据

6.2.4 特征工程

特征衍生主要包含特征生成和特征变换。特征选择的目标是选择模型最终的输入特征。

(1)特征衍生

候选特征大部分是单一特征,未充分考虑特征之间的交互性。基于此,还需要通过特征衍生的方法生成更多的交互特征。特征衍生的主要方法如下:

  • 衍生宏观经济指标等指标。从各类经济报告中衍生出各种宏观经济指标。
  • 衍生主题标签属性等指标。通过外部分析报告对业务主题进行标签补充,eg,客户画像
  • 标志位补充。eg,增加是否缺失值、是否异常值等标志位。
  • 根据值的排序情况进行分组,衍生新的变量。
  • 根据值的频率情况进行分组,衍生新的变量。
  • 增加聚类标签
  • 组合特征。找出最显著的特征,然后进行交叉、相乘或相除,衍生新的变量。
  • 把多个因子交叉分组,衍生新的变量,eg,把年龄和性别交叉组
  • 特征变换。对原始特征通过函数进行变换,生成新的变量。对于字符变量而言,常见的特征变换方法有One-Hot编码、字符编码、TF-IDF编码和PCA变换等。对于数值变量而言,常见的特征变换法方法有分箱变换、函数变换(函数变换有归一化、三角函数变换、对数函数变换、sqrt函数变换和Box-Cox函数变换等。函数变换的目的之一是降低变量的方差波动)、WOE变换和PCA变换等。
  • 字符变量处理。有些字符变量的取值很多,如城市。对于这种字符变量一般有两种处理方式:一种方式是哑元化,如果有N个值,那么会产生N-1个哑变量;另一种方式是对值进行分组,分组的基本原则是让组内差别小,让不同分组间的差别大。

(2)特征选择

判别特征的可用性,然后从候选集中筛选出适合的特征集合。常见的特征选择方法如下:

单变量分析对单变量X和Y进行分析,判断它们是否相关。
删除低方差特征首先计算各个特征的方差,然后根据提前选定的阈值,选择方差大于阈值的特征或者提出方差很小的变量。
变量重要性排序通过使用决策树算法,将特征平均减少的不纯度作为特征选择的值,然后进行排序,得到变量的重要性排序。
模型精度值变换把输入特征的值随时排序,重新计算该特征和因变量之间的预测能力指标R方值(R2_shuff),然后判断新的R方值和原始未打扰之前的R方值(R2)的变化率R2_ratio,即R2_ratio=(R2-R2_shuff)/R2。然后,对R2_ratio进行排序,变量的R2_ratio越小,说明变量的重要性越低。
IV排序对哑变量计算IV(信息价值),选择排名靠前的特征
计算线性相关性计算特征间的线性相关性,去除相关性非常强的特征
业务专家选择根据业务专家的经验选择高优先级的变量

6.2.5 模型构建

(1)线性和非线性算法。无论自变量X和因变量Y构成的是一次方程还是多次方程,只要自变量X的参数是线性的,该算法就可以被定义为线性算法,否则是非线性算法。常见的线性算法有线性回归、逻辑回归。决策时、梯度提升树、聚类算法、神经网络等算法是常用的非线性算法。

(2)监督学习和非监督学习算法。监督学习是指训练集中既有自变量X,又有因变量Y,可根据X和Y的数据构建学习算法。分类和预测算法是典型的监督学习算法。废监督学习是指只有自变量数据分到一组,使得组内方差较小,组件方差较大。聚类算法、主成分分析(PCA)和SNA算法是典型的非监督学习算法。

(3)分类、聚类和回归算法。分类算法的因变量Y是分类变量,分类算法主要通过模型的构建预测因变量Y的分类情况,如预测客户是否欺诈。常见的分类算法有逻辑回归、朴素叶贝斯、支持向量机(SVM)、决策时等。聚类算法一般事前没有因变量Y,将相似的数据分在一组,将不相似的数据分在另外一组,如对客户进行分群、对异常点进行归类等。常见的聚类算法有偶K-means、层次聚类、基于密度聚类等。回归算法的因变量Y是连续变量,回归算法提供过模型的构建预测因变量Y的值,如预测股票价格、客户的理赔金额。常见的回归算法有线性回归、回归树、神经网络等。

6.2.6 模型评估

为了有效地评估模型的效果,一般按照某种比例将数据集分为训练集和验证集,训练集负责模型的训练,经验集负责模型的效果评估。评估标准一般分为分类模型评估标准和回归模型评估标准。

(1)分类模型评估标准

分类模型的目标是通过模型的计算将不同的因变量X对应的结果Y分到不同的类别中。常用的分类模型的评估方法主要有准确率检测法、捕获率和覆盖率检测法、F1值检测法、ROC曲线和AUC检测法、KS值检测法和Lift值检测法。

(2)回归模型评估标准

回归模型的目标是通过模型的计算将不同的因变量X对应的结果Y计算出来。常用的回归模型的评估方法有^{R\, 2}检测法、均方根误差检测法、平均绝对百分比误差检测法、模型的拟合度和区分度检测法。 

6.2.7 模型部署,让模型服务化

(1)模型服务化流程

模型服务化的目标是“随时随地高可用,无时无刻强健壮”,线上化模型服务化主要流程如下:

  • 完成模型的线上化部署
  • 在一般情况下,输入特征部分来自离线数据仓库,部分来自实时的客户数据。需要对两者进行关联和聚合,得到模型输入需要的字段。
  • 对于需要预测的客户数据,还需要按照模型对输入特征的要求对输入数据进行合并和预处理,以获得标准化的输入特征。
  • 调用部署好的模型服务,得到模型的输出数据。
  • 根据模型的输出数据执行事前确定好的策略。

(2)算法即服务性能保障

算法即服务的核心诉求是将算法的建设全流程实现流程化、标准化和服务化。从业务理解、数据准备、数据预处理、特征工程、模型构建、模型评估到模型部署,这些主要环节都通过代码和程序串起来,以服务的形式用起来,从而实现算法的服务化。

6.2.8 模型监控和迭代

对模型的效果要进行实时监控,也要对模型输入进行监控。当发现模型的效果下降服务超过预先设定的阈值时,应及时对模型进行优化和迭代。

6.3 算法即服务须遵循的原则

  • 算法即服务需要业务知识的输入,业务理解贯穿建模始终
  • 算法不是万能的,有适用的场景
  • 要合理的平衡算法的计算性能和效果
  • 要优先选择混合模型
  • 要尽量实现建模全流程自动化
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值