我在二手车价格预测数据集中有一列名为“Owner_Type”。它有四个唯一值,分别是['First', 'Second', 'Third', 'Fourth']。现在最合理的排序是 First > Second > Third > Fourth,因为价格随着这种顺序而下降。我该如何使用OrdinalEncoder()将这个顺序赋予给这些值呢?请帮帮我,谢谢!
我在二手车价格预测数据集中有一列名为“Owner_Type”。它有四个唯一值,分别是['First', 'Second', 'Third', 'Fourth']。现在最合理的排序是 First > Second > Third > Fourth,因为价格随着这种顺序而下降。我该如何使用OrdinalEncoder()将这个顺序赋予给这些值呢?请帮帮我,谢谢!
OrdinalEncoder有一个categories
参数,它接受一个包含多个类别数组的列表。以下是一个代码示例:
from sklearn.preprocessing import OrdinalEncoder
enc = OrdinalEncoder(categories=[['first','second','third','forth']])
X = [['third'], ['second'], ['first']]
enc.fit(X)
print(enc.transform([['second'], ['first'], ['third'],['forth']]))
fit
方法并不会产生其他效果,只会创建一个名为categories_
的属性。如果提供了分类,似乎应该自动创建这个属性。 - Maturin