用法:
class dask_ml.compose.ColumnTransformer(transformers, remainder='drop', sparse_threshold=0.3, n_jobs=1, transformer_weights=None, preserve_dataframe=True)
將轉換器應用於數組或 pandas DataFrame 的列。
實驗性:某些行為可能會在版本之間發生變化而不會棄用。
此估計器允許單獨轉換輸入的不同列或列子集,並將結果組合到單個特征空間中。這對於異構或列數據很有用,可以將多個特征提取機製或轉換組合到單個轉換器中。
在用戶指南中閱讀更多信息。
注意
這需要scikit-learn 0.20.0 或更高版本。
- transformers:元組列表
(名稱、轉換器、列)元組列表,指定要應用於數據子集的轉換器對象。
- 姓名:string
就像在 Pipeline 和 FeatureUnion 中一樣,這允許使用
set_params
設置轉換器及其參數並在網格搜索中進行搜索。- transformer:估計器或 {‘passthrough’, ‘drop’}
估算器必須支持
fit
和transform
。 Special-cased 字符串 ‘drop’ and ‘passthrough’ 也被接受,分別表示刪除列或將它們傳遞給未轉換的列。- 列):string or int, array-like of string or int, slice, boolean mask array or callable
在其第二個軸上索引數據。整數被解釋為位置列,而字符串可以按名稱引用 DataFrame 列。如果
transformer
期望 X 是一維 array-like(向量),則應使用標量字符串或整數,否則將向轉換器傳遞一個二維數組。可調用對象傳遞輸入數據X
,並且可以返回上述任何內容。
- remainder:{‘drop’, ‘passthrough’} 或估計器,默認 ‘drop’
默認情況下,隻有
transformers
中的指定列在輸出中進行轉換和組合,而未指定的列將被刪除。 (默認為'drop'
)。通過指定remainder='passthrough'
,將自動傳遞所有未在transformers
中指定的剩餘列。該列子集與轉換器的輸出連接。通過將remainder
設置為估計器,其餘未指定的列將使用remainder
估計器。估計器必須支持fit
和transform
。- sparse_threshold:浮點數,默認 = 0.3
如果轉換後的輸出包含稀疏和密集數據的混合,如果密度低於此值,它將被堆疊為稀疏矩陣。使用
sparse_threshold=0
始終返回密集。當轉換後的輸出由所有稀疏或所有密集數據組成時,堆疊結果將分別為稀疏或密集,該關鍵字將被忽略。- n_jobs:整數或無,可選(默認=無)
並行運行的作業數。
None
表示 1,除非在joblib.parallel_backend
上下文中。-1
表示使用所有處理器。有關詳細信息,請參閱詞匯表。- transformer_weights:字典,可選
每個轉換器的特征的乘法權重。轉換器的輸出乘以這些權重。鍵是轉換器名稱,值是權重。
- preserve_dataframe:布爾,(默認=真)
連接結果時是否保留 pandas DataFrames。
警告
保留 DataFrame 的默認行為與 scikit-learn 的當前行為不同。如果需要確保輸出與scikit-learn 的 ColumnTransformer 匹配,請設置
preserve_dataframe=False
。
- transformers_:列表
作為(名稱,fitted_transformer,列)的元組的擬合轉換器的集合。
fitted_transformer
可以是估計器,‘drop’, or ‘passthrough’。如果還有剩餘的列,則最後一個元素是形式的元組:(‘remainder’,transformer,remaining_columns)對應於remainder
參數。如果還有剩餘的列,則len(transformers_)==len(transformers)+1
,否則len(transformers_)==len(transformers)
。named_transformers_
Bunch 對象,具有屬性訪問權限的字典按名稱訪問已安裝的轉換器。
- sparse_output_:布爾值
指示
transform
的輸出是稀疏矩陣還是密集 numpy 數組的布爾標誌,這取決於各個轉換器的輸出和sparse_threshold
關鍵字。
參數:
屬性:
注意:
轉換後的特征矩陣中列的順序遵循
transformers
列表中列的指定順序。除非在passthrough
關鍵字中指定,否則未指定的原始特征矩陣的列將從生成的轉換特征矩陣中刪除。用passthrough
指定的那些列被添加到轉換器輸出的右側。例子:
>>> from dask_ml.compose import ColumnTransformer >>> from sklearn.preprocessing import Normalizer >>> ct = ColumnTransformer( ... [("norm1", Normalizer(norm='l1'), [0, 1]), ... ("norm2", Normalizer(norm='l1'), slice(2, 4))]) >>> X = np.array([[0., 1., 2., 2.], ... [1., 1., 0., 1.]]) >>> # Normalizer scales each row of X to unit norm. A separate scaling >>> # is applied for the two first and two last elements of each >>> # row independently. >>> ct.fit_transform(X) array([[0. , 1. , 0.5, 0.5], [0.5, 0.5, 0. , 1. ]])
相關用法
- Python dask_ml.compose.make_column_transformer用法及代碼示例
- Python dask_ml.wrappers.ParallelPostFit用法及代碼示例
- Python dask_ml.feature_extraction.text.CountVectorizer用法及代碼示例
- Python dask_ml.preprocessing.MinMaxScaler用法及代碼示例
- Python dask_ml.preprocessing.Categorizer用法及代碼示例
- Python dask_ml.linear_model.LinearRegression用法及代碼示例
- Python dask_ml.wrappers.Incremental用法及代碼示例
- Python dask_ml.metrics.mean_squared_log_error用法及代碼示例
- Python dask_ml.model_selection.GridSearchCV用法及代碼示例
- Python dask_ml.preprocessing.OrdinalEncoder用法及代碼示例
- Python dask_ml.feature_extraction.text.FeatureHasher用法及代碼示例
- Python dask_ml.preprocessing.LabelEncoder用法及代碼示例
- Python dask_ml.ensemble.BlockwiseVotingClassifier用法及代碼示例
- Python dask_ml.model_selection.train_test_split用法及代碼示例
- Python dask_ml.decomposition.PCA用法及代碼示例
- Python dask_ml.feature_extraction.text.HashingVectorizer用法及代碼示例
- Python dask_ml.preprocessing.PolynomialFeatures用法及代碼示例
- Python dask_ml.linear_model.LogisticRegression用法及代碼示例
- Python dask_ml.xgboost.train用法及代碼示例
- Python dask_ml.linear_model.PoissonRegression用法及代碼示例
注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask_ml.compose.ColumnTransformer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。