Sklearn管道:http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.htmlsklearn Pipeline和DataFrameMapper有什麼區別?
DataFrameMapper:https://github.com/paulgb/sklearn-pandas
什麼是它們之間的區別?
在我看來,sklearn管道有更多的功能,但DataFrameMapper更清潔,供我使用。
Sklearn管道:http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.htmlsklearn Pipeline和DataFrameMapper有什麼區別?
DataFrameMapper:https://github.com/paulgb/sklearn-pandas
什麼是它們之間的區別?
在我看來,sklearn管道有更多的功能,但DataFrameMapper更清潔,供我使用。
Bascially,DataFrameMapper
(以及整個sklearn-pandas包)旨在將pandas DataFrame
對象的優點與sklearn機器學習包的強大功能相結合。
sklearn.Pipeline
描述了在矩陣格式上執行的轉換的有序列表(由numpy和scipy包提供)。這些轉換將依次在整個矩陣上執行,並將從頭到尾對整個訓練和預測過程進行編碼。
流水線轉換的第一部分(aka步驟)元組是它的名稱,它對流程沒有實際影響,它僅用於可讀性。
另一方面,DataFrameMapper
對由pandas包創建的DataFrame對象進行操作,並且可以將轉換應用於數據幀的某些部分(不一定在整個數據集上)。數據框類似於numpy和scipy矩陣,跟蹤行和列標籤以及元數據有一個明顯的區別。 DataFrames操作將確保可以使用邏輯標識而不是索引訪問,操作和讀取行和列。
DataFrameMapper
轉換元組的第一部分描述了應通過轉換運行哪些列。
兩大差異:
DataFrameMapper
是一個更靈活的工具,它會告訴你不同列上執行不同的轉換,並更傾向於將複雜的數據結構,而sklearn.Pipeline
更面向在同類數據集上執行機器學習相關轉換。DataFrameMapper
可讓您保留已分配給您的熊貓DataFrame
對象的註釋和標籤,而sklearn.Pipeline
將導致numpy/scipy數組/矩陣。