如有神威,办公小浣熊助我轻松拿捏”数据分析“
介绍办公小浣熊
办公小浣熊是由商汤科技精心打造的一款智能化数据分析工具。它依托于商汤科技自主研发的大型语言处理模型,使用户能够轻松地通过口语化的指令来进行数据分析和结果的可视化。用户无需掌握编程技能或进行繁琐的操作,只需用自然语言表述分析需求,办公小浣熊就能够智能地将复杂的数据信息转化为易于理解的分析报告。这一工具已经在互联网、游戏开发、文化旅游、教育培训、医疗卫生、金融服务以及编程等多个领域得到了广泛的应用和认可。
说了那么多,小浣熊的概念还是挺抽象的,这里小包给你一句话总结一下:早下班的神,用了小浣熊你会发现以前所谓的数据处理,报告,汇报等等诸多繁杂的工作,都会变得轻而易举,你真的不来体验一番吗?官网链接:https://raccoon.sensetime.com/。最重要的是,当前是免费体验的,注册简单,上手快捷。
具体使用场景
小包最近刚入职了一家广告公司,领导给我了一个这样的任务:如何利用某网站的用户行为日志数据,通过神经网络模型预测在特定促销日(例如“双 11”)获得的新买家是否会成为长期忠实客户,并评估这种方法在降低促销成本和提高投资回报率方面的有效性?讲清楚一点就是根据用户购买的记录,书写一份调研报告,并预测这些新买家再次从同一商家购买商品的概率,如果进一步施加广告后,用户购买商品的概率是否会进一步提升,成为忠实用户。
说实话,虽说小包具备一定的数据处理能力,但并不完全是专业的,面对接近 20 万条数据,小包也有点两眼一黑。还好有办公小浣熊,虽说不能完全的实现,但也帮我省了大功夫,下面我介绍一下本次工作使用小浣熊的过程,从下面这几个点进行分析。
使用体验
设置人设
小浣熊支持人设的设置,默认的人设是数据分析工程师,虽然这个人设可以应对大多数场景,但是当面向一些更为具体的问题时,可能需要设定更为聚焦的人设,例如本次我设定的就是广告营销专家。
自动化数据处理与分析
办公小浣熊支持一次读入三个文件,支持多种文件格式,这点真的怒赞,可惜本次有四个 csv 文件,只能分开进行处理了,首先处理三个比较简单的文件。
左侧直接可以生成 python 代码,同时还给出了各个数据集的详情,省去了几个文档的阅读时间。
进一步我比较贪婪,我想知道,是否可以通过单纯的数据可以分析出数据所处的场景,因此我就输入了 prompt:你认为这三个数据集反应的是什么场景那,结果有点让我过于惊喜,通过纯粹的数据和一些列名,就可以分析出具体的数据采集场景,这让我对小浣熊后续的能力充满了期待。
数据清洗与数据合并
接下来进行一下数据清洗,小浣熊给出了四种方向,第四点合并数据还暗示了我后续可能的操作,可惜当时在这里我还没有感受到。同时还会给出需要清洗的建议,可以根据建议进行操作,也可以提出自己的要求。
例如在第四个文件时,里面有 gender 和 age_range 列存在缺失,直接 prompt:gender 缺失值赋值为 2。也就是说只要你能描述清楚需求,数据方面的操作,小浣熊都可以轻松帮你完成。
比如我需要将某两个数据集通过某一列名进行合并,将 train_df 和 user_info_df 根据 user_id 进行合并,得到一个新的数据集,提供下载链接。
在数据处理过程中,小浣熊支持将处理的中间数据进行保存,同时支持下载,这点一定要注意,及时保存处理的数据,否则经小包体验发现,小浣熊很容易在中间过程中出现紊乱,导致当前会话失效。
在这里,想怎么样处理数据完全取决于你的指令,小浣熊的反应速度和解读能力都是极佳的,可以将原来复杂的 xlsx 操作大幅度简化,解放打工人的无限生产力。你以为这就结束了吗?nonono,小浣熊强的可怕。
可视化能力与数据分析
在使用小浣熊的过程中,你一定要意识到一点,现在你面对的是一个近乎于妖的 AI,它具有编程能力,你能想到的很多编程思维和方法,它都是具备的,例如绘制图表的功能。
在 train_format1.csv 中有个 label 属性取值为 0,1,分别代表是否复购。因此首先绘制一下复购与非复购的对比图,在这里最初我并没有明确的描述,prompt 查看正负样本的分布并给出你的建议,然后小浣熊直接给我生成了一个条形图
其实我并没有指出我要绘图,也没有指出绘图类型,但是小浣熊很智能的进行了判断,为我绘制了条形图。
可以发现,题目处中文部分出现了乱码,导致生成的是方框,因此我们让小浣熊纠正一下,prompt:绘图的时候注意中文的问题,现在中文显示不出来。
小浣熊成功解决了中文问题,其实这不是最惊喜,后续我再继续绘制图像的时候,继续延续了前文的中文修复,也就是说,在同一会话中,上文的改进,后文是一直生效的。
在生成正负样本分布图的同时,小浣熊还给出了分析与建议,很强,给出了比较全面的建议。
下面继续生成一些复杂的图表分析,继续完善我的报告。输入 prompt:查看一下不同商家与复购的关系,生成的结果不是非常让我满意,那么接下来我有两种解决方案,其一是我通过输入详细的指令来指挥小浣熊改进绘图;其二我是否可以直接输入代码,小浣熊是否可以模仿实现(这个图表生成在正负样本之前,因此还没有处理中文)
因此我就输入了一段代码,测试小浣熊是否有代码模仿能力
很让我惊喜,小浣熊成功理解了输入代码的意图,并进行了绘制,但是绘制失败了,得到一个空白的图像。
这让我感到有几分失望,但是我没有放弃,给出了进一步的 prompt:绘制的图里面并没有数据。一句简单的交互,小浣熊就成功领悟了我的意图,成功绘制出结果。
接下来我继续测验了一下小浣熊的推测能力,prompt:label 这个字段你认为是什么意思以及从上面这个图像你能分析出什么,竟然真的成功推测出了 label 字段的意义,同时给出了非常专业的分析。
接着输入 prompt:接着绘制一下查看店铺复购概率分布情况,选择合适的图表,并讲述原因,小浣熊为我选择了直方图,可以非常清晰的反映我的需求,而且生成的效果非常简洁清新,如果是手动去选择配色,可能需要消耗不少的时间。
为了更清晰的分析店铺复购概率分布,prompt:同时也绘制一下 probplot 概率图,成功得以绘制。
能绘图肯定也可以分析,那么同时使用小浣熊进行图表的解读,prompt:从直方图和概率图,你能得出那些结论。
小浣熊给出的分析主要是对图表的解读,并达不到所需的商业需求,继续精进 prompt:结论叙述更加商业化一点,得出结论如下:(不由举起大拇指,大大的专业)
继续加大难度,prompt:查看用户大于一次复购概率分布,通过直方图和概率图进行分析,然而失败了,得到两个空白图像
这里就暴露出一个小浣熊的错误死循环问题,我多次指出小浣熊的错误,小浣熊虽然在不断调整代码,但是一直没能调整正确,于是我阅读了每次小浣熊输出的代码,发现获取大于一次复购代码错误,因此我就给予了 prompt:user_repeat_buy = [rate for rate in train_data.groupby(['user_id'])['label'].mean() if rate <= 1 and rate > 0]
只需要这样来筛选用户大于一次复购即可
概率图的生成依旧存在一些问题,可能给予的 prompt 不够详细,因此直接给出了更为详细的 prompt: 分别使用 distplot 和 probplot 进行绘制,成功绘制图表。
后续类似的分析不再赘述哦,详情可以见分析报告。接下来更换其他的数据集进行一些细节的分析,prompt:从 user_log_f 文件入手,查看一下 time_stamp actiont_type 和 gender 的分布,绘制成三个条形图
生成的效果不是特别好,分析原因应该时 prompt 中条形图的描述不够精细,替换为 hist 图,得到下列图,效果还是比较让我满意的。
剩下的流程相似不再赘述,通过上述体验下来,小浣熊的可视化能力是毋庸置疑的强,但有些时候需要更精准的 prompt,设计思考更合理、更精确的 prompt 是用好小浣熊的一大要点。
智能纠错
在这次体验小浣熊的过程中,还有一个功能让我十分惊喜,那就是小浣熊具备智能自我纠错的能力,在构建某个数据集的过程中,小浣熊的动作是这样的:
Step1: 输入 prompt:构建训练数据 x 为移除掉 user_id merchant_id label 三列,标签 y 为 label
Step2: 小浣熊给出第一步反馈,反馈结束前夕告知,可能操作有误
Step3: 然后小浣熊就会修正自己的错误,然后给出了新的解决方案
Step4:依旧存在一些问题,继续修正
Step5:依旧存在一些问题,继续修正
Step6:得出正确结果
小浣熊这点功能是让我非常惊喜的,这也就意味着,在使用的过程中,你可能有些 prompt 存在些不足,小浣熊可以比较智能的为你兜底,这点感觉目前这么多 ai 工具,只有小浣熊做到了这一点。
预测能力
这里我就提供一个简单的预测案例,给大家分享一下使用过程,真实使用场景中的案例具备一定的保密性,不做完整分享。
预测的过程主要包含下面几步 Step1:数据集读取以及清洗:这个部分前文已经完成过,这里不做重复赘述
Step2:多个数据集并行,构建聚合特征,上文通过 user_id 那部分完成
Step3:构建训练数据,prompt:除 user_id 和 label 外作为 feature_colums 数据,label 列作为目标列,进行数据提取
Step4: 从 x 中随机划分 20%作为测试集,其余为训练集
Step5: prompt:使用 LogisticRegression 进行预测,并绘制 roc 曲线
Step6: 生成的 roc 曲线不够让我满意,因此去网上找一份别人生成的 roc 曲线代码,直接作为 prompt 输入
Step7: prompt: 建议同步输出模型的评估报告,输出格式为表格,建议输出信息 precision、recall、f1-score 和 support
Step8: 预测效果是比较差的,主要有两个原因,其一在这个案例中,使用的特征信息比较少;其二严重的数据不平衡。
Step9:LR 预测函数中有个参数,class_weight 设置为 balaced 进行简单的调参,效果得到了一定程度的提升
Step10:因此可以通过设置 prompt,可以实现调参
Step11:更换其他模型进行测试,prompt:使用 KNN 进行预测,根据数据集选用合适的参数,成功得到预测结果。
Step12:更换一些更复杂的模型 LightGBM,小浣熊尝试引入该模型,由于代码运行环境中并没有该模型,导致预测失败。但是小浣熊非常贴心的给出了详细代码,可用于线下测试
Step13: 把小浣熊生成的代码在自己的电脑上进行尝试,成功运行,得出 roc 曲线如下
Step14: 接着我尝试了 MLP 模型,没能成功运行成功,直接报错结束了当前会话,难受
使用总结
优点
小浣熊总体上的体验是非常舒适的,下面总结一下本次体验的优点:
强大的数据处理能力,支持多种数据格式(包含数据据),提供数据清洗、数据合并、多种数据形式的可视化、数据预测,能想到的,python 支持的,小浣熊都可以做到
使用轻巧,便捷,处理结果准确度高,综合理解能力强,生成速度快,通过使用 prompt 就可以较为轻松的实现各种报告文件
支持数据上传和中间数据的输出
具备自我智能纠错功能,具备智能提示功能
通过 prompt 可以微调 python 代码,实现自然语言编码
要精炼 prompt 的语言
缺点
小浣熊优点很多,但是也有一些缺点,具体如下:
会话不稳定:在使用的过程中,出现了多次因网络波动而不稳定的现象,同时我还在看着直播,直播都没有发生卡顿,怀疑是小浣熊自身的某些问题造成的。出现该提示后,如果再次输入 prompt,小浣熊提示当前会话过期
会话存在过期时间:这点造成的体验非常差,因为最早在使用小浣熊的时候,是一个下班回来的晚上,工作完成了一半,等到第二天重新登陆时,昨天的会话已经过期,且无法获取上一个会话记录,导致很多工作需要从头开始
幻觉错误死循环:小浣熊具备自我智能纠错功能,经我体验在大多数情形下,该功能可以较为准确的自我改进,但是在少数情形下会陷入死循环,一直修正,修正的过程是循环的,持续了很久也没有修正成功
代码环境代码库有限:很多 python 的库并不具备,同时也不支持自定义库的加载,导致目前支持的神经网路的训练能力有限
目前不支持 api 调用,如果支持 api 调用,可以实现更多的自动化调用
最后的话
最初使用小浣熊纯粹是为了体验,但是没想到最后真的切实的帮助到了我,虽然目前小浣熊不能全盘的帮你完成工作,但是只要你合理的设定 prompt,合理与小浣熊进行沟通,小浣熊将是一个强大的利器,能帮助我们节省大幅度的时间。
AI 的浪潮在不断地袭来,现在的小浣熊可能或许只是一个其中的一个微波,但是从这次体验中,感受到小浣熊的设计理念、方法等多个方面都存在诸多亮点,希望在不久的将来,商汤小浣熊能够成为滔天的大浪,在 AI 的时代中独占鳌头,无限可能的优化我们的办公流程。
具体的研究报告涉及一定的价值,就不详细的展开了
版权声明: 本文为 InfoQ 作者【战场小包】的原创文章。
原文链接:【http://xie.infoq.cn/article/a34d3824fc958f3f6b0019a8f】。文章转载请联系作者。
评论