我正在处理一个蘑菇特征的数据集,以确定一个蘑菇是否有毒。我构建的模型可以工作,但我正在尝试使用OneHotEncoder作为练习编码的一种方式。我知道我们必须实例化OneHotENcoder类,并对数据帧执行fit_transform。在此基础上,我们建立x和y值,并像往常一样构建模型。我遇到的问题是拟合x和y的值。在下面的代码中,我得到了一个变量X的错误:"drop not found“。
from sklearn.preprocessing import OneHotEncoder
ohe = OneHotEncoder()
df = ohe.fit_transform(df.iloc[:,:])
ohe.categories_
X = df.drop('class', axis=1)
y = df['class']
X = ohe.fit_transform(X)
y = one.fit_transform(y)
我希望上面的代码对X和Y进行编码,我想用它们来训练测试拆分和构建一个小的ANN。任何帮助都将不胜感激。
发布于 2020-09-04 07:20:14
一个热编码器返回一个numpy数组,而不是dataframe。
您应该首先删除目标列,然后应用一个热编码器。
exempt_cols = set(['class'])
categorical_cols = [col for col in df.columns if col not in exempt_cols]
X = df[categorical_cols]
X = ohe.fit_transform(X)
https://stackoverflow.com/questions/63734124
复制相似问题