几个月以来,我一直在通过Scikit-learn进行ML编码。但是scikit预处理对象OneHotEncoder有了更新。这是一个参数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:/移动视频/OPencv/opencv-master/samples/data/untitled2.py']
追踪(最近通话):文件“ 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返回super()。fit_transform(X,y)fit_transform中的第571行,文件“ C:\ Users \ Harshit \ Anaconda3 \ lib \ site-packages \ sklearn \ base.py”>*返回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如果len(self.categories)!= n_features:
TypeError:类型'int'的对象没有len()
如果我将参数设为自动,则它将整个数据集更改为代码,就像将Label更改为代码一样
您能帮我解决这个问题吗???
几个月以来,我一直在通过Scikit-learn进行ML编码。但是scikit预处理对象OneHotEncoder有了更新。这是一个参数categorical_features,现在是...