目录
问题导入
什么是数据敏感性
如何衡量数据敏感性
数据敏感性如何培养
导入问题的答案
面向人群:算法工程师
问题引入
请不择手段地提高下面这个数据的label预测精度。
特征输入:id和id_sub标识数据,question是问题,answer回答
标签:lable是否匹配。
数据展示:
黄金玩家:这个简单,BERT跑几个单模型融合一下,这玩意不是全靠ensemble吗?
王者玩家(Kaggle GrandMaster):数据中有非常强的规律,我可以用特征工程来刻画出来。
想看这个题目的答案,直接翻到文章最后。
什么是数据敏感性
这里引用认识的算法大佬的一段观点。大家比较认同的基本功是编程,数学,数据洞察。随着模型工具化,实际工作中对数学的要求也会比较低,在编程方面,算法工程师明显没有比系统开发更有优势。那么我们不仅想问,算法工程师的核心竞争力到底是什么?我们用排除法,最后剩下一项叫数据洞察,也叫数据敏感性。
数据敏感性听起来很玄乎。每个数据分析,商业分析,产品经理的岗位的JD都写了要求数据敏感性要高?那么这个东西怎么量化呢?到底是刻画一种怎么样的能力呢?如果用一句话来说,就是发现数据规律的能力。
这个具体在不同的岗位上有不同的体现,比如算法工程师的特征工程水平高低。这里比较认同一点,数据encoding只是基本的特征工程,而业务理解的数值转化,数据规律的特征刻画是高阶的特征工程。
在商业分析岗位,其体现是给你一组数据,快速发现其中的存在的异常和问题,并指出可能的原因。
对数据分析岗位来说可能就是给你一些数据指标,在找出其中的相互关系。
如果用一句话来说,就是发现数据规律的能力,化繁为简,范式地表达数据。后者是从数据中提取信息,加工成知识的一种能力。
如何衡量数据敏感性
培养数据敏感性
1. 掌握基本的数据分析方法,各种指标的计算方法。
大概就是这个指标是什么意思,为什么提出这个指标,这个指标能刻画什么问题。这个指标正常的表现是什么样子。
2. 理解数据背后生产逻辑和运行逻辑。
比如从广告投放到点击到下单,这个漏斗模型中各个数据是怎么得到的,他们的关联性是什么,影响因素是如何影响数据运行的。
3.快速归因,定位问题。
这一阶段进入分析这一件事情,之前都是在理解数据,分析数据也是为了发现问题,找出问题,解决问题。一些基本的方法论,比如控制变量法等等。
4.理解业务特性问题,发现本质,解决问题。
做以上的目的还是为了How出发点的。也就是尝试做人肉决策。一个最典型的能力是,给你一个任务,你能否拆分清楚,并且提炼出其中对最终收益最大的部分。
比如:
客群拆分
分维观察
分布监测
采样观察
特征工程
AB测试
归因分析
等等
这个就有点类似于算法工程师的特征工程实操了,比较零散,本质我们还是用手里已有的工具,去发现,刻画,解决问题。
答案揭晓
数据中的道:标签中存在连续的1,因为构造数据没有shuffle,连续的回答question的answser紧靠在一起,并且都是同一个answer。所以这不仅仅是个NLP的问题,当然这也是聊天中存在的问题,就是有人习惯一个问题,分好几句来回答。
数据中的术:特征工程,特征一,交叉验证得到OOF概率上下错位(即时间序列中的lag特征),特征二,OOF概率的一阶差分。等等还有不少特征可以刻画。
名词解释 OOF
有人说(玩比赛)这东西没用(leak,业务用不上),我说他有用(锻炼数据敏感性),这是数据洞察,资深算法中的数据洞察讲究发现规律。他说非要试试,上来就是一个反转二叉树,一个链表找环,我全都防出去了。他突然红黑树袭击我脸,我大意了,没有闪。我劝各位面试官耗子尾汁,不要老欺负玩比赛的老同志,面试要以发现候选人的闪光点,要讲武德。算法行业要以和为贵,谢谢各位面试官老师!
关于文中数据敏感性的部分,只写了一些个人的见解,后面学习思考一下继续补充完整。
文章推荐
历史精彩文章:
Kaggle GM qrfaction:数据竞赛方法论看这一篇就够了