我想使用GridSearchCV來確定分類器的參數,並且使用管道似乎是一個不錯的選擇。使用自定義管道進行交叉驗證scikit-learn
該應用程序將使用Bag-of-Word功能進行圖像分類,但問題是存在不同的邏輯管道,具體取決於是否使用培訓或測試示例。
對於每個訓練集,KMeans必須運行以生成將用於測試的詞彙表,但對於測試數據,將不運行KMeans進程。
我看不出如何在管道中指定這種行爲差異。
我想使用GridSearchCV來確定分類器的參數,並且使用管道似乎是一個不錯的選擇。使用自定義管道進行交叉驗證scikit-learn
該應用程序將使用Bag-of-Word功能進行圖像分類,但問題是存在不同的邏輯管道,具體取決於是否使用培訓或測試示例。
對於每個訓練集,KMeans必須運行以生成將用於測試的詞彙表,但對於測試數據,將不運行KMeans進程。
我看不出如何在管道中指定這種行爲差異。
你可能需要從KMeans
類派生並重寫下面的方法來使用你的詞彙邏輯:
fit_transform
只會在火車上的數據
transform
會叫上調用測試數據
也許類推導並不總是最好的選擇。您還可以編寫自己的變壓器類,將調用打包爲嵌入式KMeans模型,並提供/fit_transform
/transform
API,Pipeline
類預期可用於第一階段。
我們開發了PipeGraph,Pipeline的擴展以構建更復雜的圖形,如工作流。它可以在網格搜索期間更改工作流程的連接(請參閱示例庫位於https://mcasl.github.io/PipeGraph/)。特別是,可以定義兩組不同的連接,一個用於擬合,一個用於預測。
啊,我認爲這可能是我錯過的那篇文章,我知道必須有一種方法來根據測試/火車執行不同的行爲。謝謝 – phil0stine