我到处都在阅读新问题和博客,自 0.20 版以来,OneHotEncoder 能够处理字符串功能。
此外,文档看起来更加模棱两可。以下是文档的前两行:
将分类整数特征编码为 one-hot 数值数组。这个转换器的输入应该是一个类似数组的整数或字符串,表示分类(离散)特征所采用的值。
第一行说
编码分类整数特征
下一行说
输入应该是整数或字符串之类的数组。
当我尝试它时,我仍然得到值错误。
print(X.columns)
encoder = OneHotEncoder(categorical_features=[1,4,5])
encoder.fit(X)
Index(['age', 'sex', 'bmi', 'children', 'smoker', 'region'], dtype='object')
ValueError: could not convert string to float: 'female'
我知道使用 处理字符串特征编码的方法,LabelEncoder但特别想了解这一点。ColumnTransfomerpd.getDummies()