python - sklearn One Hot Encoder 没有拟合
问题描述
我有一个我已经知道类别的数据序列。无论如何都可以使用sklearnOneHotEncoder
而不适合吗?
具体来说,我已经初始化了编码器:
my_cat = ['a', 'b', 'c']
enc = OneHotEncoder(categories=[my_cat])
但是,我无法使用编码器,除非我使用一些虚拟值对其进行拟合:
enc.fit([['a']])
enc.transform([['a'], ['c']]).toarray()
>>>
[[1 0 0]
[0 0 1]]
如果我不先安装编码器,
# Missing enc.fit
enc.transform([['a'], ['c']]).toarray()
会出现以下错误,
sklearn.exceptions.NotFittedError: This OneHotEncoder instance is not fitted yet. Call 'fit' with appropriate arguments before using this estimator.
尽管如此,我已经明确地将类别传递给了编码器。方法抛出此错误check_is_fitted()
。
我用OneHotEncoder
错了吗?还有哪些其他方法可以执行哑映射,或者我应该自己编写?
解决方案
推荐阅读
- python - 获取给定 ASIN 的最低 4 个价格
- c# - 从接口动态创建对象并设置值
- winforms - 使拆分容器内的面板显得突出
- xquery - 如何在 marklogic 中使用 xquery 编写内容转换?
- android - 在 Android 中检索有关自定义属性的信息
- java - 在没有键的情况下在 JSONArray 中迭代/获取 JSONObject
- multithreading - 在 Dart / Flutter 中使用 GPU 而非图形
- bpmn - Flowable中的类和委托表达式有什么区别
- mongodb - MongoDB 按创建日期过滤记录
- javascript - 拆分字符串数学运算符正则表达式