- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在对象类型的所有列上运行LabelEncoder
。这是我编写的代码,但它引发了此错误:
TypeError: '<' not supported between instances of 'int' and 'str'
有人知道如何解决这个问题吗?
le=LabelEncoder()
for col in X_test.columns.values:
if X_test[col].dtypes=='object':
data=X_train[col].append(X_test[col])
le.fit(data.values)
X_train[col]=le.transform(X_train[col])
X_test[col]=le.transform(X_test[col])
最佳答案
看起来附加时它有不同的类型。您尝试全部转换为 str
拟合方法:
le.fit(data.values.astype(str))
并且您必须将数据类型更改为 str
对于 transform
以及自LabelEncoder
中的类(class)以来将是str
:
X_train[col]=le.transform(X_train[col].astype(str))
X_test[col]=le.transform(X_test[col].astype(str))
尝试重现类似的问题。如果数据帧的值为 int
和str
:
import pandas as pd
df = pd.DataFrame({'col1':["tokyo", 1 , "paris"]})
print(df)
结果:
col1
0 tokyo
1 1
2 paris
现在,使用Labelenconder
会给出类似的错误消息,即 TypeError: unorderable types: int() < str()
:
from sklearn import preprocessing
le = preprocessing.LabelEncoder()
le.fit(df.col1.values)
全部转换为str
适合或之前可能会解决问题:
from sklearn import preprocessing
le = preprocessing.LabelEncoder()
le.fit(df.col1.values.astype(str))
print(le.classes_)
结果:
['1' 'paris' 'tokyo']
如果您调用le.transform(df.col1)
,它会再次抛出类似的错误。
所以,它必须是 le.transform(df.col1.astype(str))
相反。
关于python - 立即在所有列上运行 sklearn labelencoder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49968432/
我使用 LabelEncoder() 将分类数据转换为数值数据。我有一个数据集,如下所示: ['x','s','n','t','p','f','c','n','k','e','e','s','s','
您可以在下面找到我在互联网上找到的用于构建简单神经网络的代码。一切正常。我对 y 标签进行了编码,这些是我得到的预测: 2 0 1 2 1 2 2 0 2 1 0 0 0 1 1 1 1 1 1 1
LabelEncoder 不会“记住”参数。当我用它拟合和转换数据然后询问参数时,我得到的只是{}。这使得不可能在新数据上重新使用编码器。 例子: from sklearn.preprocessing
摘要:Sklearn 的 LabelEncoder 将不同的值编码为相同的值。 encoder.fit(data) 和 data_encoded =encoder.transform(data) 可以
我正在做一个预测项目(为了好玩),基本上我从 nltk 中提取了男性和女性的名字,将名字标记为“男性”或“女性”,然后获取每个名字的最后一个字母,最后使用不同的机器学习算法根据最后一个字母训练和预测性
我编写了这个函数来使用 LabelEncoder 转换分类特征 #convert columns to dummies with LabelEncoder cols = ['ToolType', 'T
嘿, 我的数据集中的“城市”列中有不同的城市名称。我很想使用 LabelEncoder() 对其进行编码。然而,我得到了非常令人沮丧的负值结果 df['city_enc'] = LabelEncode
嘿, 我的数据集中的“城市”列中有不同的城市名称。我很想使用 LabelEncoder() 对其进行编码。然而,我得到了非常令人沮丧的负值结果 df['city_enc'] = LabelEncode
我遇到有关 LabelEncoder 的问题。我将其应用到数据集,如下所示: data_set1 = data_set.apply(LabelEncoder().fit_transform) ...并
我正在尝试建立一个推理管道。它由两部分组成。使用前几年的一些表格订单元数据进行每月 ML 模型训练,并使用当天的新订单进行每日推理预测。我想在我的模型中包含几个字符串分类列,我使用 labelenco
Closed. This question is off-topic。它当前不接受答案。
Image of ull error 我正在尝试在对象类型的所有列上运行LabelEncoder。这是我编写的代码,但它引发了此错误: TypeError: '<' not supported bet
尝试执行以下代码时出现以下错误。 class LabelOneHotEncoder(): def __init__(self): self.ohe = OneHotEncode
我正在编写一个脚本,该脚本使用“局部异常值因子”算法进行“新颖性检测”。在这种情况下,我们需要在进行预测之前“拟合”“干净/训练”数据框。为了使算法正常工作,我们需要对数据帧中的值进行编码,例如将“v
我在数据帧上应用了 LabelEncoder(),它返回以下内容: order/new_cart 有不同的标签编码数字,如 70、64、71 等 这是标签不一致,还是我哪里做错了什么? 最佳答案 La
我有一个很大的 csv,每行有两个字符串,格式如下: g,k a,h c,i j,e d,i i,h b,b d,d i,a d,h 我阅读了前两列并将字符串重新编码为整数,如下所示: import
如果 sklearn.LabelEncoder已在训练集上拟合,如果在测试集上使用时遇到新值,它可能会中断。 对此我能想出的唯一解决方案是将测试集中的所有新内容(即不属于任何现有类)映射到 "" ,然
我想使用 sklearn.preprocessing.LabelEncoder 对元组列表进行标签编码, 如: [(4,5), (6, 7), (1, 1), (6, 7), ... ] 这样每个元组
我正在尝试将分类字符串列转换为几个虚拟变量二进制列,但出现值错误。 代码如下: import sys, os import numpy as np import matplotlib.pyplot a
如果我有一个数据框,请说 df,如果 df["levels"] = pd.Series(["low", "low", "med", "low", "med", "high"]) 有没有办法将其更改为:
我是一名优秀的程序员,十分优秀!