【发布时间】:2019-11-27 02:35:23
【问题描述】:
我正在研究泰坦尼克号数据集。我已经在分类列中填充了缺失值。分类列从索引 0 开始到索引 3。 我已将 LabelEncoder 用于分类列。
使用 onehotencoder 时,出现错误: 输入包含 NaN、无穷大或对于 dtype('float64') 来说太大的值。
没有 NaN 值。我无法更正此错误
我在使用 OneHotEncoder 之前尝试过缩放,但仍然出现错误。
y_train = train.iloc[:,-1].values
x_train = train.iloc[:,:-1].values
test = test.iloc[:,:].values
from sklearn.preprocessing import
LabelEncoder,OneHotEncoder,StandardScaler
for i in range(4):
le = LabelEncoder()
x_train[:,i]=le.fit_transform(x_train[:,i])
test[:,i]=le.transform(test[:,i])
#sc = StandardScaler()
#x_train = sc.fit_transform(x_train)
#test = sc.transform(test)
ohe = OneHotEncoder(categorical_features=[range(4)])
x_train = ohe.fit_transform(x_train).toarray()
test = ohe.transform(test).toarray()
如何解决这个错误?
【问题讨论】:
-
您的问题似乎与其他问题类似datascience.stackexchange.com/questions/11928/…
-
我尝试了指定链接中的所有内容。没有 null 值或 inf 值仍然发生错误
标签: python pandas machine-learning scikit-learn