machine-learning - OneHotEncoder 的参数:类别
问题描述
几个月以来,我一直在通过 Scikit-learn 对 ML 进行编码。但是对 OneHotEncoder 的 scikit 预处理对象进行了更新。这是一个参数 categorical_features 现在已更改为类别,现在我不明白如何写入值
我正在编写的代码是:
from sklearn.preprocessing import LabelEncoder , OneHotEncoder
le = LabelEncoder()
X[:,0] = le.fit_transform(X[:,0])
ohe = OneHotEncoder(categories = X[:,0].all())
X = ohe.fit_transform(X).toarray()
并显示此错误
runcell(0, 'C:/Mobile Videos/OPencv/opencv-master/samples/data/untitled2.py') Traceback(最近一次通话最后):
文件“C:\Mobile Videos\OPencv\opencv-master\samples\data\untitled2.py”,第 25 行,在 X = ohe.fit_transform(X).toarray()
文件“C:\Users\Harshit\Anaconda3\lib\site-packages\sklearn\preprocessing_encoders.py”,第 372 行,在 fit_transform return super().fit_transform(X, y)
文件“C:\Users\Harshit\Anaconda3\lib\site-packages\sklearn\base.py”,第 571 行,在 fit_transform *return self.fit(X, **fit_params).transform(X)*
文件“C:\Users\Harshit\Anaconda3\lib\site-packages\sklearn\preprocessing_encoders.py”,第 347 行,适合 self._fit(X, handle_unknown=self.handle_unknown)
文件“C:\Users\Harshit\Anaconda3\lib\site-packages\sklearn\preprocessing_encoders.py”,第 77 行,在 _fit if len(self.categories) 中!= n_features:
TypeError:“int”类型的对象没有 len()
如果我将参数设为自动,那么它将整个数据集更改为代码,就像将标签更改为代码一样
你能帮我解决这个问题吗??????
解决方案
推荐阅读
- c - 在事件查看器的情况下无法捕获未来事件
- angular - 当我的应用程序要关闭时如何调用 API
- javascript - 来自另一个组件的 React Native Run Child 引用方法
- css - 有没有办法针对背景 SVG 特定元素使用填充选项?
- android - SpannableString html 注释
- powershell - 在powershell中以管理员身份启动进程而不提示
- google-sheets - 如何将新的默认选项卡设置为 Google 表格上的特定电子表格(而不是空白页)?
- watchkit - 如何在 Apple Watch 并发症上添加徽章计数?
- excel - 如何对一系列值的“如果右侧单元格的值小于左侧单元格的值”进行条件格式设置
- uwp - 更改 ChangePropertyAction [uwp] 上的 IsChecked 属性