當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn OrdinalEncoder用法及代碼示例


本文簡要介紹python語言中 sklearn.preprocessing.OrdinalEncoder 的用法。

用法:

class sklearn.preprocessing.OrdinalEncoder(*, categories='auto', dtype=<class 'numpy.float64'>, handle_unknown='error', unknown_value=None)

將分類特征編碼為整數數組。

該轉換器的輸入應該是類似整數或字符串的數組,表示分類(離散)特征所采用的值。特征被轉換為序數整數。這會導致每個特征有一列整數(0 到 n_categories - 1)。

在用戶指南中閱讀更多信息。

參數

categories‘auto’ 或類似數組的列表,默認=’auto’

每個函數的類別(唯一值):

  • ‘auto’:根據訓練數據自動確定類別。
  • list : categories[i] 包含第 i 列中預期的類別。傳遞的類別不應混合字符串和數值,如果是數值則應進行排序。

使用的類別可以在categories_ 屬性中找到。

dtype數字類型,默認 np.float64

所需的輸出數據類型。

handle_unknown{‘error’, ‘use_encoded_value’},默認='錯誤'

當設置為 ‘error’ 時,如果轉換過程中出現未知的分類特征,將會引發錯誤。當設置為‘use_encoded_value’時,未知類別的編碼值將設置為參數unknown_value給定的值。在 inverse_transform 中,未知類別將表示為 None。

unknown_valueint 或 np.nan,默認=無

當參數handle_unknown設置為‘use_encoded_value’時,該參數為必填參數,將設置未知類別的編碼值。它必須與 fit 中用於編碼任何類別的值不同。如果設置為 np.nan,則 dtype 參數必須是 float dtype。

屬性

categories_數組列表

fit 期間確定的每個特征的類別(按 X 中的特征的順序並與 transform 的輸出相對應)。這不包括在 fit 期間未出現的類別。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

例子

給定具有兩個特征的數據集,我們讓編碼器找到每個特征的唯一值並將數據轉換為序數編碼。

>>> from sklearn.preprocessing import OrdinalEncoder
>>> enc = OrdinalEncoder()
>>> X = [['Male', 1], ['Female', 3], ['Female', 2]]
>>> enc.fit(X)
OrdinalEncoder()
>>> enc.categories_
[array(['Female', 'Male'], dtype=object), array([1, 2, 3], dtype=object)]
>>> enc.transform([['Female', 3], ['Male', 1]])
array([[0., 2.],
       [1., 0.]])
>>> enc.inverse_transform([[1, 0], [0, 1]])
array([['Male', 1],
       ['Female', 2]], dtype=object)

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.preprocessing.OrdinalEncoder。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。