1樓:leetcodeEveryday
為這個寫了一篇文章。之前也遇到了坑。
可以處理訓練集和測試集特徵不一致的情況。
leetcodeEveryday:特徵工程通用模板--OneHotEncoder正確用法
2樓:VinerL
訓練集onehot4449個特徵,測試集就還用這4449個特徵。兩點說明:1.
測試集如果出現訓練集裡沒有的特徵,因為權重沒有訓練過,特徵沒有意義,不需要使用。2.對於測試集命中的特徵比訓練集少的情況,比如訓練集有性別,測試集沒有,則測試集性別特徵為男:
0 女:0,特徵數量不會比訓練集少。不需要填補缺失值之類的操作
3樓:ZJU某小白
這種情況最好不要one-hot處理。
訓練好的模型處理沒見過的測試集特徵取值只有兩種策略,要麼以某種方式無視該取值(比如填充為訓練資料最多取值的或者隨機等等),要麼以某種相似度計算為原則把新的取值與訓練集的本特徵取值聯絡起來。
如果one-hot了,就只剩下第一種策略了。
題主的特徵新取值很多,如果該特徵不是強特徵,可以直接用第一種策略。如果是強特徵,建議再結合特徵的自身特性深挖一下。
onehot編碼後生成的特徵列太多怎麼辦?
煩躁豆 相關性的分析 feature和target 如果說這個non ordinal feature vector 和target相關性很強 或者進行分類預處理後很強 那值得對此feature做詳細編碼。如果關聯性弱,又強行編碼,則可能會造成過擬合。One hot轉換後,特徵增加後,Hypothes...
為什麼測試集的loss大於訓練集的loss,這是正常的嗎?
愛吃牛油果的璐璐 可以試試調整學習率和batchsize,劃分資料集的時候如果不是時序資料,可以試試shuffle之後劃分訓練集和測試集,以及留出法看下loss有沒有變化。 胡衛雄 一般來說,模型訓練完成,測試集的誤差是應該略大於訓練集的誤差的,但也不排除一些偶爾的情況,神經網路本身的一些東西還是挺...
在深度學習中,如果訓練集和測試集的範圍不一致,該如何進行歸一化或者標準化處理?
王華 如果你的測試集和訓練集不能動。那就乾脆縮放吧,都縮放到0 1之間。雖說,前面有說訓練集和測試集要同分布,說的很堅決,必須要。我是不同意這種說法的,分布這種本身概念就很模糊。打過各種比賽,神經網路需要效果優先的,你可以試試縮放法。 華矩數診台 你可以使用歸一化,訓練集0 10,歸一化不就是X X...