iT邦幫忙

2021 iThome 鐵人賽

DAY 24
0

如同「決定係數篇」所介紹,R^2的數字越趨近於1,模型能夠解釋的能力越強,那麼我們就是追尋更好的R^2數字。

除了嘗試挖掘更多派得上用場的參數,總結我們這段時間摸索下來,認為值得一提的兩個經驗,分作兩篇說明。


1. 增加資料筆數

首先考慮資料的偏頗,如果只收集單一一天客戶的資料,會不會這一天購物狀況剛好比較有起伏,其實距離平均值有點落差?

那麼多拉幾天的時間分別收集可能有幫助,甚至可以的話,收集資料的時間拉得越長,應該越貼近平均狀況。

另一方面,如果資料筆數太少,會不會對結果有顯著影響呢?Vertex要求資料集至少需要有1000筆資料,但我們無法確認這1000筆資料是否足夠。

第一次準備的資料筆數剛好1000筆整整,R^2是0.22。

第二次拉長抓取資料時間的週期,2000筆,R^2是0.2。

第三次藉由rolling window的方式增加資料量,湊到10000筆,R^2是0.21。

以上的結論是否代表,1000筆資料就已經足夠了呢?其實不一定,R^2是一個糟糕的數字,會不會是已經太糟糕了,所以筆數多寡在這個模型的訓練已經不是影響的關鍵,也許在R^2不錯的時候,有可能有顯著的影響也不一定。

重點是為了增加筆數,我們學會rolling window的方法,這個方法十分實用,某一種程度可以不需擔心資料筆數的問題,不過無法增加變異性更多的資料就是了。

所謂rolling window,簡單來說就是部分重疊地使用舊資料,加上部分新的資料,湊成新的資料。舉例而言,有個陣列如下:

[1,2,3,4,5,6,7,8,9,10]

如果我們是兩兩取一組,間隔地取,只能拿到5組

[1,2]
[3,4]
[5,6]
[7,8]
[9,10]

但如說是重疊地取,可以取得更多資料,如下就有9組的資料

[1,2]
[2,3]
[3,4]
[4,5]
[5,6]
[6,7]
[7,8]
[8,9]
[9,10]

而在每個數字都代表著離散的資料,而且不破壞其次序,這樣的使用方式合理。

順便一提,在股票市場用的移動平均線,就是使用rolling window


上一篇
其他名詞解釋 | ML#Day23
下一篇
改善R^2 (2) | ML#Day25
系列文
後端工程師的ML入門理解與Vertex AI30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言