TypeError 尝试对用户输入数据进行标签编码时
TypeError While trying to label encode the User Input data
我已经使用此代码对 python 3
中的训练数据编码了我的标签
from sklearn.preprocessing import LabelEncoder
le = preprocessing.LabelEncoder()
dframe["hair"] = le.fit_transform(dframe["hair"])
dframe["beard"] = le.fit_transform(dframe["beard"])
dframe["scarf"] = le.fit_transform(dframe["scarf"])
训练我的模型后,我想使用用户的输入来测试它
我正在尝试使用以下代码对用户输入进行编码:
user_input["hair"] = le.transform(user_input["hair"])
user_input["beard"] = le.transform(user_input["beard"])
user_input["scarf"] = le.transform(user_input["scarf"])
但我收到以下错误:
TypeError: '<' not supported between instances of 'int' and 'str'
我在 S/O 上看到了这个问题的多个副本,但仍然找不到解决方案。因此,与其将其标记为重复,不如提供一个有用的解决方案。
我是一名机器学习初学者,请随时指出此代码中的任何错误,您也可以索取完整代码。
标签编码器保存了从分类输入到数字的转换。但是,当你多次拟合它时,它只会保存最后一个 ('scarf')。当您随后尝试转换头发的用户输入时,它用作输入的值不匹配。
解决方案是安装三个标签编码器:
le_hair = preprocessing.LabelEncoder()
le_beard = preprocessing.LabelEncoder()
le_scarf = preprocessing.LabelEncoder()
dframe["hair"] = le_hair.fit_transform(dframe["hair"])
dframe["beard"] = le_beard.fit_transform(dframe["beard"])
dframe["scarf"] = le_scarf.fit_transform(dframe["scarf"])
然后分别使用这些来转换新的输入。
我已经使用此代码对 python 3
from sklearn.preprocessing import LabelEncoder
le = preprocessing.LabelEncoder()
dframe["hair"] = le.fit_transform(dframe["hair"])
dframe["beard"] = le.fit_transform(dframe["beard"])
dframe["scarf"] = le.fit_transform(dframe["scarf"])
训练我的模型后,我想使用用户的输入来测试它
我正在尝试使用以下代码对用户输入进行编码:
user_input["hair"] = le.transform(user_input["hair"])
user_input["beard"] = le.transform(user_input["beard"])
user_input["scarf"] = le.transform(user_input["scarf"])
但我收到以下错误:
TypeError: '<' not supported between instances of 'int' and 'str'
我在 S/O 上看到了这个问题的多个副本,但仍然找不到解决方案。因此,与其将其标记为重复,不如提供一个有用的解决方案。 我是一名机器学习初学者,请随时指出此代码中的任何错误,您也可以索取完整代码。
标签编码器保存了从分类输入到数字的转换。但是,当你多次拟合它时,它只会保存最后一个 ('scarf')。当您随后尝试转换头发的用户输入时,它用作输入的值不匹配。
解决方案是安装三个标签编码器:
le_hair = preprocessing.LabelEncoder()
le_beard = preprocessing.LabelEncoder()
le_scarf = preprocessing.LabelEncoder()
dframe["hair"] = le_hair.fit_transform(dframe["hair"])
dframe["beard"] = le_beard.fit_transform(dframe["beard"])
dframe["scarf"] = le_scarf.fit_transform(dframe["scarf"])
然后分别使用这些来转换新的输入。