从数据到信息
从信息到洞察

零代码实现PowerBI 机器学习实战

机器学习广泛地应用于数据挖掘、自然语言处理、特征识别等领域,简单的说,它可以基于历史数据预测未来的变化,而BI数据分析侧重于对历史数据的描述和解释,这是两者之间的一个显著区别。

机器学习是时下非常热门的一个方向,在一些互联网企业,这是数据分析师岗位的标配技能。

即使你畏惧编程语言、概率论和统计学那些晦涩难懂的概念,也得小心老板某天突然从你身后出现,下达一个预测销量、分析权重的任务。可能并不是他跟你有仇,而是一个原本普通的分析结果一旦加入了机器学习内容,不管有没有实际作用,至少已经提升了溢价空间。

机器学习在互联网行业的应用非常广泛,比如我之前的公司从事的就是以机器学习为核心的计算广告业务,通俗的说就是根据当前正在浏览网页的用户特征,推送他感兴趣的广告内容,并预估广告被展示出来后的点击率,这个数据决定了DSP对广告的出价。

如果出价太低,无法从其他竞争对手中胜出。如果出价太高,虽然按广义第二高价计费,但过低的转化率和过高的转化成本也让这种方式没有可持续性。从技术层面来说,广告CTR预估属于大规模稀疏机器学习问题,和普通机器学习的不同之处在于,广告数据量庞大,特征数量庞大,正负样本非常不平衡,学习难度较大。

 

一般来说,基于本地业务数据的预测比这个要简单的多,一种普遍的方法是使用Python或者R语言调用现成的机器学习扩展包,实现对特定问题的建模和预测。你需要至少熟悉一门语言并且对常用的算法模型有一定了解,对于业务人员来说,找到与问题匹配的算法模型相对比较容易,但想熟练操作一门语言就不那么简单了。

 

零代码建立预测模型

那是否有途径让我们实现零代码建模预测,并且能顺带制作可视化报告呢?其实很多云服务厂商已经集成了这项能力,比如微软提供的在线AutoML,只需要简单的拖拽就能快速生成训练模型,大大降低了操作难度,节省时间。本文我将带你一起总结目前Power BI可用的所有零代码机器学习方案,相信总有一款可以让你搞定领导,提升数据报告的含金量。

注:Power BI Desktop内置的关键影响因素控件也使用了统计学模型,但它是在本地运行的单机方案,无法进行性能扩展和弹性伸缩。不在本文的介绍范围。

 

Azure机器学习算法汇总

 

Power BI Service 内置的机器学习模型

微软已将Azure机器学习功能整合到Power BI Premium服务中,用户可以在Service端直接选择适合的模型进行预测,只需要四步操作,就可以得到训练结果。

 

选择右上角应用模型,可以在Desktop中通过DataFlow应用此模型对数据进行预测。

此功能最早于2018年11月的Ignite大会上对外展示,但并未如之前宣传的那样马上发布,直到今年四月份,微软才开始正式为Premium用户推送此功能。

 

使用DataFlow 中的机器学习函数

这个方法将调用Azure机器学习模型的过程以函数的形式封装到DataFlow中,只需一个函数即可对当前调用模型进行计算。

上图中以认知服务命名的函数可以提供文本情绪打分模型、图片情绪打分模型,也可以应用自定义的模型。

导入需要分析的原始文本,选择相应的认知函数即可得到结果(红框中的两列:预测的结果和可能性):

 

可能有很多人还不知道DataFlow是什么东西,简单的说它是编辑查询功能的网页版,你可以在web端建立数据获取以及清洗的过程。但它的威力远不止于此,这是一个真正面向企业的,承担数据治理和管控作用的工具。一个统一管理的DataFlow让不同用户之间ETL工作充分共享,相同的数据处理工作只需要做一次,前人栽树后人乘凉。从企业层面有效避免同一数据源被反复清洗的问题,大大提升协作效率。

 

DataFlows可溯源,可查看依赖性,可控制权限,用一个当下流行的词汇,这是企业数据治理和管控的中台。

既然DataFlow是编辑查询功能的Web版,那是不是说明我们也可以在Desktop中使用机器学习的函数呢?答案是否定的,目前DataFlow仍然是Premium用户的专属功能,想要使用机器学习功能,需要登陆验证后才能激活。

 

以上两种方法只有Premium用户才可以使用,如果价格不是问题(是的,贵不是微软的错,是我的错)。还有一个无法回避的问题是国内版暂时不支持Premium。

 

 

免费方案:Azure ML Studio+Power BI

上面介绍的两者方法虽然操作简单,但因为需要价格昂贵的Premium账户,无法大规模普及。那有没有免费且容易上手的机器学习方案呢?答案是Azure ML Studio 机器学习工作室  https://studio.azureml.net/

注册一个免费账户,你就可以在Web端用拖拽的方式生成训练模型并测试。免费账户拥有10G的数据存储空间和每个试验24小时的训练时长,可以满足一些常规的使用要求。下面是整个训练过程的简要描述。

步骤1:上传训练数据

 

步骤2:拖拽方式生成训练模型

 

步骤3:训练好的模型需要配置为Web服务

 

接下来需要记录Web服务的完整名称和下面的两组ID(Workspace ID和Token)信息,这样就完成了调用前的准备工作

 

步骤4:记录Workspace ID

 

步骤5:记录Authentication Token

 

步骤6:回到Desktop的编辑查询界面,通过R脚本调用一次AzureML包,即可完成预测。

也只有在这一步才需要填写一段简单的代码

 

步骤7:运行程序即可得到预测结果

 

我使用4万条汽车销售线索数据,通过Azure ML Studio对每条线索是否成交进行预测,训练出的模型准确率可以达到90%。

看到这里,你可能对具体的操作步骤仍然没有概念,没关系,首次登陆会自动弹出一个引导教程,用步骤演示的方式给带着你从零开始完成一个机器学习案例。

什么?一遍没有看懂?点界面右上角的问号,选Tour可以再来一次。

 

查看在线报告

我以一位汽车经销商销售主管的视角,使用Azure ML Studio完成了数据上传、训练模型,在Power BI中调用服务,并制作了下面这份可视化报告,还原了整个过程。(点击编号切换页面)

以上是Azure ML Studio的简要操作介绍,你可以参考这份报告,动手训练一个自己的模型,如有问题,欢迎留言。

原创内容 转载请联系作者:PowerBI极客 » 零代码实现PowerBI 机器学习实战

评论 1

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    手机也能回复,很方便

    新人4周前 (05-21)回复