林楠回到公寓,没开门就听见里面苏晓在打电话。
“对对对,那个方案我看了,不行,得改。”
“明天?明天不行,我这儿忙着呢。”
“喂?喂?信号不好啊——”
电话挂了。
林楠开门进去。
苏晓瘫在沙发上,手机扔在一边。
“回来了?”苏晓有气无力,“又跟陈屿泡咖啡馆去了?”
“嗯。”林楠换了鞋,“你忙完了?”
“忙个屁。”苏晓翻了个身,“导师让改方案,改了三版了,还是不行。我怀疑他就是看我不顺眼。”
林楠没接话。
他走到自己书桌前,打开电脑。
模型跑完了,结果不错。
但他总觉得还能更好。
群里又弹消息。
是陈屿发的。
“明天上午九点,图书馆三楼小会议室,碰一下报告整合。”
林楠回了个“收到”。
沈清言也回了“收到”。
另一个组员叫王磊,发了个ok的手势。
苏晓凑过来看:“又要开会?”
“嗯。”林楠说,“报告要整合了。”
“你们组进度挺快啊。”苏晓说,“我们组还在吵架呢,谁都不服谁。”
林楠笑了笑。
他想起陈屿。
要是没有陈屿,他们组估计也得吵。
“对了。”苏晓突然说,“论坛那帖子,没了。”
林楠手一顿。
“我下午刷的时候发现的。”苏晓说,“删得干干净净,连缓存都没了。谁干的?陈屿?”
林楠没说话。
“可以啊。”苏晓拍拍他肩膀,“这哥们儿够意思。”
林楠心里有点乱。
他关掉群聊,打开模型文件。
手指在键盘上敲了几下,又停了。
脑子里全是陈屿。
那天在图书馆,陈屿给他整理头发。
还有今天在咖啡馆,陈屿帮他调参数。
还有论坛帖子,陈屿找人删了。
一件一件,堆在心里。
林楠甩甩头。
别想了。
干活。
他深吸一口气,重新看向屏幕。
---
第二天早上八点半。
林楠到了图书馆。
三楼小会议室还没人。
他找了个靠窗的位置坐下,把电脑拿出来。
窗外能看到操场,几个学生在跑步。
阳光挺好。
门开了。
沈清言走进来。
他穿得很整齐,白衬衫,黑裤子,手里拿着一个文件夹。
“早。”沈清言说。
“早。”林楠回。
沈清言在他对面坐下,打开文件夹。
里面是一沓打印好的纸。
全是图表和数据。
“这是我做的统计分析。”沈清言说,“有几个地方需要跟你的模型结果对一下。”
林楠点头:“好。”
沈清言把纸推过来。
林楠接过来看。
密密麻麻的数字。
他看了一会儿,头有点大。
“这个……”林楠指着其中一个表格,“是什么意思?”
“特征相关性检验。”沈清言说,“你的模型里,有几个特征的重要性排得很高,但我的统计检验显示,它们的显著性不够。”
林楠皱眉。
他不懂统计学。
但他知道,沈清言是专业的。
“那怎么办?”林楠问。
“需要验证。”沈清言说,“要么调整模型,要么补充数据。”
林楠心里一沉。
调整模型?
他好不容易才把准确率搞上去。
再调整,万一掉下来怎么办?
门又开了。
陈屿和王磊一起进来。
王磊是个胖子,戴眼镜,手里拎着两杯豆浆。
“早啊各位。”王磊把豆浆放桌上,“吃早饭没?我多买了一杯。”
陈屿在林楠旁边坐下。
“看什么呢?”陈屿问。
林楠把沈清言的表格递过去。
陈屿接过来,扫了几眼。
“明白了。”陈屿说,“沈清言觉得特征重要性有问题。”
沈清言点头:“从统计角度,需要更严谨的检验。”
王磊凑过来看:“啥意思?要重做?”
“不一定。”陈屿说,“先开会。”
四个人坐好。
陈屿打开电脑,投屏到墙上。
“咱们从头过一遍。”陈屿说,“林楠,你先讲模型结果。”
林楠站起来。
他有点紧张。
手心出汗。
但看到陈屿在旁边,又觉得踏实了点。
他打开自己的PPT。
“模型用的是XGBoost。”林楠说,“特征工程做了三步,第一是清洗,第二是组合,第三是筛选。”
“最终选了二十三个特征。”
“训练集准确率91.7%,测试集89.2%。”
“这是特征重要性排序。”
林楠翻到下一页。
柱状图,二十三个柱子,高低不一。
沈清言举起手。
“第一个问题。”沈清言说,“排名前三的特征,在你的模型里重要性很高,但我的相关性分析显示,它们和目标的相关系数只有0.3左右。”
“这意味着什么?”王磊问。
“意味着可能过拟合了。”沈清言说,“或者有共线性问题。”
林楠张了张嘴。
他想解释。
但不知道怎么说。
陈屿开口了。
“沈清言的问题可以拆成三个点。”陈屿说,“第一,特征重要性是否可靠。第二,是否存在共线性。第三,如果存在,怎么解决。”
沈清言点头:“对。”
“那咱们一个一个来。”陈屿看向林楠,“你能把特征重要性计算的方法再说一遍吗?”
林楠点头。
他重新翻到PPT前面,找到方法说明。
“用的是XGBoost自带的feature_importance,基于增益计算的。”林楠说。
“嗯。”陈屿说,“这个方法本身没问题。但沈清言的质疑也有道理,增益高不一定代表统计显著。”
“那怎么办?”王磊问。
“做敏感性分析。”陈屿说,“林楠,你可以把排名前三的特征拿掉,重新跑一次模型,看准确率变化大不大。”
林楠想了想。
“如果变化不大呢?”他问。
“那就说明这三个特征可能没那么重要。”陈屿说,“或者有其他特征可以替代。”
“如果变化大呢?”沈清言问。
“那就说明它们确实重要。”陈屿说,“但还需要进一步验证,比如做交叉验证,或者用其他模型对比。”
林楠明白了。
陈屿把一个大问题,拆成了几个小步骤。
每一步都能做。
而且不会全盘否定他的工作。
“好。”林楠说,“我下午就做敏感性分析。”
“嗯。”陈屿转向沈清言,“这样行吗?”
沈清言推了推眼镜。
“可以。”他说,“但交叉验证也得做。”
“一起做。”陈屿说,“林楠做敏感性分析,沈清言你帮忙设计交叉验证方案,王磊负责整理业务背景部分。”
王磊举手:“我没问题。”
“那今天下午各自干活。”陈屿说,“明天同一时间,再碰一次,看结果。”
会议结束。
王磊先走了,说要去食堂抢饭。
沈清言收拾东西。
林楠关电脑。
陈屿坐在那儿没动。
“林楠。”沈清言突然开口。
林楠抬头。
“你的模型思路不错。”沈清言说,“就是统计基础弱了点。”
林楠脸有点热。
“我……我回头补补。”他说。
“嗯。”沈清言站起来,“有什么不懂的可以问我。”
“谢谢。”
沈清言走了。
会议室里只剩林楠和陈屿。
“吓到了?”陈屿问。
“有点。”林楠老实说,“我以为他要否定我的整个模型。”
“沈清言就是那样。”陈屿笑了,“他说话直,但不是针对你。他是真的在乎数据质量。”
“我知道。”林楠说,“就是……有点压力。”
“正常。”陈屿说,“我第一次跟他合作的时候,也被他问懵过。”
“后来呢?”
“后来就习惯了。”陈屿说,“他问问题,你就拆解问题,一步一步解决。其实他人挺好的,就是不会说话。”
林楠点点头。
他收拾好东西,准备走。
“对了。”陈屿叫住他,“下午做敏感性分析,需要帮忙就说。”
林楠心里一暖。
“嗯。”
两人一起走出会议室。
在楼梯口分开。
林楠往公寓走。
走到一半,手机响了。
是沈清言发来的消息。
“交叉验证方案我发你邮箱了。”
林楠赶紧回:“收到,谢谢。”
沈清言又发了一条:“有不懂的问我。”
林楠看着这条消息,突然觉得沈清言也没那么可怕。
就是有点严肃而已。
---
下午两点。
林楠坐在书桌前,盯着屏幕。
他把排名前三的特征删了,重新跑模型。
电脑风扇嗡嗡响。
苏晓在隔壁房间打游戏,键盘敲得噼里啪啦。
林楠有点紧张。
他怕准确率掉太多。
要是掉到85%以下,那就麻烦了。
进度条走到百分之百。
结果出来了。
林楠凑近看。
训练集准确率:90.1%。
测试集准确率:87.6%。
掉了,但没掉太多。
他松了口气。
至少证明,这三个特征不是决定性因素。
他打开邮箱,看沈清言发的方案。
密密麻麻的公式。
林楠头又大了。
他硬着头皮看。
看了十分钟,只看懂一半。
算了。
问吧。
他给沈清言发消息:“交叉验证那块,能简单讲讲吗?”
沈清言回得很快。
“哪部分不懂?”
“就是那个K-fold的划分逻辑。”
“电话说?”
林楠想了想。
“行。”
沈清言打过来。
“喂。”
“喂。”林楠说,“不好意思,打扰你了。”
“没事。”沈清言说,“你现在方便记吗?”
“方便。”
“好。K-fold交叉验证,就是把数据分成K份,轮流用K-1份训练,剩下一份测试……”
沈清言讲得很细。
语速不快,但逻辑清晰。
林楠一边听一边记。
讲了大概二十分钟。
“明白了吗?”沈清言问。
“明白了。”林楠说,“谢谢。”
“嗯。那你先做,有问题再问。”
电话挂了。
林楠看着笔记本上的记录。
沈清言这人,其实挺耐心的。
就是表面冷了点。
他开始写代码。
按照沈清言的方案,做交叉验证。
又花了两个小时。
结果出来了。
模型稳定性还可以,波动不大。
林楠把敏感性分析和交叉验证的结果打包,发到群里。
“@所有人,结果出来了,请看附件。”
陈屿第一个回:“收到。”
沈清言回:“看了,数据合理。”
王磊回了一串表情包:“大佬们辛苦了.jpg”
林楠靠在椅子上。
累。
但踏实。
群里陈屿又发消息:“明天上午九点,老地方,讨论报告框架。”
林楠回了个“好”。
他站起来,活动活动肩膀。
窗外天快黑了。
苏晓推门进来。
“完事了?”苏晓问。
“嗯。”林楠说,“阶段性完事。”
“走,吃饭去。”苏晓说,“我请客,庆祝你没被沈清言怼死。”
林楠笑了。
“行。”
---
第二天上午。
图书馆小会议室。
四个人又坐在一起。
陈屿把报告框架投在墙上。
“第一部分,背景和问题定义。”陈屿说,“这部分王磊负责。”
“第二部分,数据说明和预处理,沈清言负责。”
“第三部分,模型构建和结果分析,林楠负责。”
“第四部分,业务建议和展望,我来写。”
“有没有问题?”
没人说话。
“那好。”陈屿说,“各自写各自的,周五晚上前交初稿,周末整合。”
“明白。”王磊说。
沈清言点头。
林楠也点头。
陈屿关了投屏。
“散会。”
王磊先走了。
沈清言收拾东西,慢吞吞的。
林楠也在收拾。
陈屿站起来,走到窗边。
沈清言突然开口。
“陈屿。”
“嗯?”陈屿回头。
“你们俩配合得很默契。”沈清言说。
林楠手一顿。
他低着头,假装没听见。
陈屿笑了。
“效率最高而已。”他说。
沈清言没再说话。
他收拾好东西,走了。
会议室里又只剩林楠和陈屿。
林楠心跳有点快。
他偷偷看了陈屿一眼。
陈屿还在看窗外。
侧脸线条干净。
“走吧。”陈屿转过头。
“嗯。”
两人一起下楼。
走到图书馆门口,陈屿手机响了。
他看了一眼。
“我有点事,先走了。”陈屿说。
“好。”
陈屿走了。
林楠站在原地。
脑子里回响着沈清言那句话。
“你们俩配合得很默契。”
配合默契。
什么意思?
就是字面意思吧。
林楠摇摇头。
别多想。
他往公寓走。
路上遇到几个同学,打了招呼。
快到公寓楼时,手机震了。
是陈屿发来的。
“沈清言那人说话直,别往心里去。”
林楠盯着这条消息。
看了好几秒。
他回:“没往心里去。”
陈屿又发:“那就好。好好写报告。”
“嗯。”
林楠收起手机。
他推开公寓楼的门。
楼道里有点暗。
他一步一步上楼梯。
心里那点乱,慢慢平复下来。
沈清言就是随口一说。
陈屿也只是解释。
没什么特别的。
对。
没什么特别的。
林楠走到自己房间门口,掏钥匙。
钥匙插进锁孔,转了一下。
门开了。
他走进去,关上门。
靠在门板上。
窗外天色阴沉。
好像要下雨了。