【发布时间】:2018-04-06 12:48:47
【问题描述】:
我一直在尝试使用 Anaconda 发行版来学习 Python 3.6。我遇到了我正在使用的在线课程的内容,并且可以使用一些帮助来解决一些错误消息。我会问课程的讲师,但他们似乎对学生的问题反应不快。
我在处理用于重新编码分类数据的三个主要类时遇到了一些麻烦。据我了解,从 scikitlearn 包中提取了三个用于重新编码变量的类:LabelEncoder、OneHotEncoder 和 LabelBinarizer。我尝试使用每个来重新编码数据集中的分类变量,但每个都不断收到错误。
请原谅我对示例代码的相对菜鸟。有人可能已经猜到我的问题很卑鄙,我并不精通 python。
对象 X 包含几列,第一列是我需要转换的分类字符串(如果有人也可以告诉我如何插入表格,那会很有帮助。我必须使用 HTML 吗?):
“鱼”1 5 3
“狗” 2 6 9
“狗” 8 8 8
“猫”5 7 6
“猫”6 6 6
标签编码器尝试
下面是我尝试实现的代码,以及我收到的对象 X 的错误消息,它大致具有我上面描述的属性。
from sklearn.preprocessing import LabelEncoder
labelencoder_X =LabelEncoder
X[:, 0] = LabelEncoder.fit_transform(X[:, 0])
TypeError: fit_transform() missing 1 required positional argument: 'y'
让我震惊的是,我认为上面的代码清楚地定义了 y 是什么,X 的第一列。
OneHotEncoder
from sklearn.preprocessing import OneHotEncoder
onehotencoder = OneHotEncoder(categorical_features=[0])
X = onehotencoder.fit_transform[X].toarray()
TypeError: 'method' object is not subscriptable
标签二值化器
我发现这个最难理解,实际上无法根据数据集的结构进行尝试。
您可以提供的任何指导或建议都会很有帮助。
【问题讨论】:
标签: python scikit-learn feature-extraction categorical-data