Closed swilly0906 closed 11 months ago
您好,
在這次的競賽中,其實 missing value 的問題對於最後的結果影響不大,甚至可能也沒有顯著的影響。我的想法只有單純補一個"不相關"的東西到空格裡,希望讓模型學到有 missing value 的人自成一類 (ex: 取眾數)。
我 feature engineer 的部分純粹是統計的想法(複賽第一名 feature engineer 的做法是問 ChatGPT 可以做哪些完成的 XD,甚至不是 GPT-4),針對數值型或是類別型可以計算哪一些東西。不過也因為如此,在複賽所使用的環境中,計算眾數的部分無法當場算完,因此最後就捨棄所有類別型的 feature,最後表現也不如預期。
Note: 之後遇到類似的問題,我應該會先去找一些專門有做 feature engineer 的 package 來使用,例如複賽有看到的 OpenFE。我想這在計算效率以及儲存上應該會好很多 (現在將所有的 feature 存下來表格會變得太大)。另外,根據複賽其他人的做法,我覺得對於"時間"的處理很重要(我沒有做),他們會根據時間去切分 dataset,不會混著做訓練。
希望有回答到您的問題,如果有其他問題也歡迎詢問!
1.我倒是很訝異 我一直以為關鍵是missing value的處理 結果missing value反而是最不重要的 2.雖然我也會用chatgpt-4 但我還真沒想到 可以用成這樣XDDD 厲害
我還是第一次知道OpenFE這個東西,我有空再來研究看看
其實我也覺得時間劃分 有影響 例如 早上 下午 晚上 凌晨 ,還有那個起始日期(第幾天) 我是用 %7 直接算 ,但是用時間去切分dataset 這個想法 我還真的沒想過..... 主要是這個資料集,我用過oversampling 或 undersampling 感覺成效沒提升多少(但也可能是我一開始FE做不好 也有可能) 所以我是朝著不切dataset這個路線就是了QQ
您好 我今年也有參加ESUN credit card fraud這個競賽 不過我名次很後面@@"
看了您的做法 有兩個疑問
問題1: code位置 為什麼您會想到補missing value用負1,其實我的疑問點應該是說很多變數實際應該是類別變數,為何您會想到直接用int8或int4等等numeric變數處理????因為我看到這個資料,我一開始Load_dataset就想說要改成類別變數處理,但我承認我確實也不知道怎麼處理missing value的問題就是了
問題2:承接第一個問題,我看到您feature engineer的技術還蠻厲害的,我想問您怎麼從0到1想到這個做法???因為我看到這些變數頂多想到box-cox或者一些簡單的做法而已@@,為什麼您可以想到做這麼多變數處理???
感謝解答