资讯详情

资讯详情

老K出海历险记·出港篇 03(把三十年的经验变成数据——直觉怎么拆)

第二天一早小满抱着电脑上船发现老K已经坐在船舱里了。桌上摆着三样东西那张手绘藏宝图一个崭新的硬皮本子一支笔。小满“船长本子哪来的”老K“码头买的。”老K把本子往小满面前一推“昨晚说好的今天第一课——把我三十年的经验变成它吃得下的数据。来我等着交作业。”小满“行。那我先问您个事——您那句口诀风转南浪起白收网回舱。浪起白多白算白”老K“什么多白算白白就是白。”小满“那您怎么跟机器说‘白’”小满敲了敲电脑“船长机器跟人不一样它不认‘意思’只认‘数’。您眼里的‘浪起白’得变成它眼里的几个数——浪高几米、风从哪边来、涌多大。这一步就是把直觉变成数据。您信我——直觉不是玄的是您自己没拆过的数。”老K皱眉“我的直觉要是能写成数还叫什么直觉。”小满打开电脑新建了一个表格。“咱一块儿拆。机器眼里的数据就是一张表——一行是一条记录一列是一个数。我先画个样子”小满“这‘起白’列多白算白您还没答我呢。”老K“白帽翻头才算。浪尖上翻出白沫子那叫起白浪头亮一亮不算。”老头顿了顿“翻就是你们那个1不翻就是0。”小满一拍大腿“船长您这比我说得还利索——翻头是1不翻是0。您已经会造数了。”老K没接这话眼睛盯着表格忽然伸手点在第一行上。“这不对。”小满“哪不对”老K“浪高零米五、北风、不起白——你这张表判它‘继续’。”老头拿起笔“我十六岁那年天比这还老实半船的网喂了海。就差一样东西——涌。海面上不起白底下的涌能掀船。”笔落在本子上没再停。“涌期涌多大拿丈说。那年浪高不到一米涌期三丈。还有水温——水一暖鱼群往下沉网就得跟着放深。还有风速——风向是风向风多急是另一码事东南风三级跟八级两张海。还有云——早霞不出门那个不算数可云走得快慢算数云走得快半天内准变天。”笔尖沙沙响。小满在旁边一行行敲进电脑敲着敲着手停了。小满“船长……您一口气加了四列连原来三列一共七列浪高、涌期、水温、风向角、风速、起白、云速——您这哪是写作业您这是把三十年的账全翻出来了。”老K把笔一撂“本来就在肚子里记着只是没这么摆过。”小满“七列齐了给您添两个名字。前面这六列——浪高、涌期、水温……机器管它们叫‘特征’您拿主意前看的那些线索。最后一列叫‘标签’——您的答案您的判断。机器要学的就一句话从特征猜标签。”老K咂摸了一下“……跟判案似的。特征是证据标签是判决。”小满“这比方比我的好再送您个行话——代码里特征习惯叫X标签习惯叫y全世界写AI的都这么叫。”老K掏出本子记上“X是证据y是判决。行判案的账本。”小满“不过船长本子先别急着交——真要学得几百上千行。三行五行只够它尝味儿的。从今天起每出一趟海记一趟。您判断一次我记一行一年就是几百行。”老K拿起笔掂了掂。“也就是说——我出的每一次海都在给它上课。”小满“这话反过来更准——您出的每一次海本来就在上课只是以前没记下来。”老K没说话。他在本子第一页写下今天的日期第一行浪1.1涌1.4温21南风4级白翻头云快——收网。写完老头忽然咧嘴一笑“小满你知道这玩意儿好在哪吗我师父的本事传给我传一个丢一个——徒弟只能记个七八成。这玩意儿记一个是一个。一成都不丢。”“我死后五十年它还在替我看着这片海。”本子记到第七天攒了二十三行。早上小满把表格调出来横竖拉了两条线“船长二十三行了。今天——上真的。”老K“真的前些天那些呢”小满“那些是伪代码给人看的意思。今天这段是Python按下回车机器真学、真答。”小满敲键盘敲到一半老头伸手压住桌沿。老K“慢着。我本子七列你这里怎么才六列”小满停下手乐了“好眼力。云速那列我先扣下了——您眼睛一眼能瞧出来的东西仪器还量不利索。量不出数的先当不了特征回头单给它开一课。今天先拿量得出数的喂。”这一回老头没催就那么看着像看出海前的最后一眼天。from sklearn.tree import DecisionTreeClassifier import pandas as pd # —— 证据 X特征老K的本子—— X pd.DataFrame({ 浪高: [0.5, 2.8, 1.3, 1.5, 3.5], 涌期: [0.3, 1.5, 1.2, 0.8, 2.0], 水温: [18, 22, 19, 20, 24 ], 风向角: [350, 170, 30, 185, 175], 风速: [3, 6, 4, 5, 7 ], 起白: [0, 1, 0, 1, 1 ], # 0不翻, 1白帽翻头 }) # —— 判决 y标签老K的决定—— y [继续, 收网, 收网, 收网, 收网] 模型 DecisionTreeClassifier() # 决策树最像人拿主意的模型 模型.fit(X, y) # fit 喂。三十年就这一下 # —— 出海来一个新天让它猜 —— 今天 pd.DataFrame({ 浪高: [1.1], 涌期: [1.4], 水温: [21], 风向角: [168], 风速: [4], 起白: [1], }) print(模型.predict(今天)) # predict 拿筷子小满“就四个动作。X是证据y是判决fit是喂predict是拿筷子。跑”老K“跑。”小满按下回车。屏幕跳了一下吐出一行[收网]老K“……这就完了”小满“完了。今天浪高一米一、南风、起白——它替您拿了主意收网。您自己怎么判的”老K翻开本子对了对正对上第一页第一行。“收网。一样。”又指指屏幕“我记了二十三行你这才五行。”小满“五行是画给您看个意思真喂进去的是本子上那二十三行。”顿了顿“不过船长别急着夸它。考考它——您喂一个只有您才记得的日子。”老K愣了一下随即明白了。他翻开本子第五页——前天半夜他睡不着起来把一九九六年那一天补上了。他把那行数慢慢敲进去——那一天 pd.DataFrame({ 浪高: [0.8], 涌期: [3.0], 水温: [16], 风向角: [200], 风速: [2], 起白: [0], }) print(模型.predict(那一天))浪高不到一米风小得可怜不起白。哪一年的海图上这都是个好天。回车。屏幕吐出[收网]船舱里静了。老K盯着那两个字很久没动。那是一九九六年的一天浪高不到一米涌期三丈半船的网喂了海。那年他十六岁。老K声音有点哑“……它没经历过那天。”小满“没有。它就是照着您本子上那一行学的——您把那天的账记上了它就记住了。”老K“我记了三十年才记明白的道理。”老头用指节敲了敲屏幕“它记了一天。”小满没接话。有些话不用接。半晌老K直起身恢复了那副船长的腔调“小子我就问一句——它肚子里到底是套什么规矩哪条压哪条我得知道它咋判的不然我凭啥信它的判决”小满笑了“船长您问到AI的门槛上了。它肚子里长的那棵‘树’下回——画给您看。”上一篇 老K出海历险记·出港篇 02 码头上那艘怪船下一篇 老K出海历险记·出港篇 04 机器肚子里那棵树决策树长什么样
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →