我正在尝试将py -m pip install matplotlib
的{{1}}转换为data的其中一列。
我尝试看到的documentation是:
OrdinalEncoder
当我尝试category_encoders
时出现的问题是:
import category_encoders as ce
# here i'm defining mapping for OrdinalEncoder
property_ordinal_mapping_1 = [{"col":"property_type", "mapping": [('Apartment', 1),('House', 2),('Condominium', 3),
('Townhouse', 4),('Loft', 5),('Other', 6),
('Guesthouse', 7),('Bed & Breakfast', 8),
('Bungalow', 9),('Villa', 10),('Dorm', 11),
('Guest suite', 12),('Camper/RV', 13),
('Timeshare', 14),('Cabin', 15),('In-law', 16),
('Hostel', 17),('Boutique hotel', 18),('Boat', 19),
('Serviced apartment', 20),('Tent', 21),('Castle', 22),
('Vacation home', 23),('Yurt', 24),('Hut', 25),
('Treehouse', 26),('Chalet', 27),('Earth House', 28),
('Tipi', 29),('Train', 30),('Cave', 31),
('Casa particular', 32),('Parking Space', 33),
('Lighthouse', 34),('Island', 35)
]
},
]
# preparing the OrdinalEncoder for fitting and transforming
property_encoder_1 = ce.OrdinalEncoder(mapping = property_ordinal_mapping_1, return_df = True, cols=["property_type"])
错误:
fit_transfom
df_train = property_encoder_1.fit_transform(air_cat_2)
有类似的错误。
我做错了什么以及如何解决这个问题。我仔细检查了我的专栏的类名,并重写了整个代码,似乎没有任何帮助。还是有其他替代方法可以做到这一点。
请不要将我的问题标记为重复。
答案 0 :(得分:1)
文档不正确。 mapping
的语法现在有所不同。看到这里:https://github.com/scikit-learn-contrib/categorical-encoding/issues/193
答案 1 :(得分:0)
我建议您使用OrdinalEncoder
中的sklearn.preprocessing
。我在做fit_transform
的{{1}}时也遇到了同样的问题。因此,this post清除了我所有的想法。
编辑1: 这是我所做的(我将其保存以备重用):
OrdinalEncoder