2016-05-17 122 views
4

我有一個虛擬變量的數據框,我想用作glmnet的訓練集。虛擬變量和預處理

由於我正在使用glmnet我想使用插入符號train函數中的preProcess選項居中和縮放功能。我不希望這種轉換也適用於虛擬變量。

有沒有辦法阻止這些變量的轉換?

+1

好問題。我們在小組中遇到了同樣的問題,並試圖避免哈希解決方案。我會保持更新以防萬一出現。 –

+1

AFAIK在'caret :: train'和'caret :: trainControl'中沒有解決這個問題,目前的狀態和[2012年的這個問題]是一樣的(http://stackoverflow.com/questions/14023423/)如何對預處理的功能,當-一些-的 - 他們 - 是因素)。因此,使用「hacky」解決方法最終將成爲目前的發展方向...... – geekoverdose

回答

1

除了編寫custom model這樣做之外,還沒有(當前)的方法來執行此操作(請參閱PLS和RF結束示例)。

我正在研究一種方法來指定哪些變量獲得哪種預處理方法。但是,對於虛擬變量,這很困難,因爲您可能需要指定很多預測變量的名稱,這些變量的列不在當前數據集中。這個想法是能夠使用通配符(例如Species*來捕獲SpeciesversicolorSpeciesvirginica),但代碼還沒有完成。

最大