您好我是机器学习的初学者,我之前曾处理过一些二进制的ml任务,这些任务都是数值数据。现在,我面临的一个问题是我必须找到特定组合的可能性。我目前无法透露数据集或代码。我的数据是10列的数据框。我必须在8列上训练我的模型,并预测最后2列的可能性。那是我的标签是最后两列的组合。我面临的问题是,这些列值不是数字。我已经尝试了遇到的所有问题,但是找不到将其转换为数值的任何合适方法。我已经尝试了sklearn的LabelEncoder,该标签可与标签一起使用,但是如果再次使用它会引发内存错误。我尝试从pandas读取to_numeric,它将所有值读取为Nan。值的格式为“ 2be74fad-4d4”。任何有关如何处理此问题的建议将不胜感激。
要将分类数据转换为数值数据,可以在sklearn中尝试以下方法:
现在,对于您的问题,可以使用LabelEncoder。但是有一个问题!在其他sklearn模型中,您可以声明一次,然后使用它进行拟合,然后在多个列上进行转换。
在LabelEncoding中,必须fit_transform
将模型放在火车数据的一列上,然后transform
在测试数据的同一列上。然后对下一个类别列进行相同的处理。
您可以遍历类别列的列表以使其变得简单。考虑以下代码段:
cat_cols = ['Item_Identifier', 'Item_Fat_Content', 'Item_Type', 'Outlet_Identifier',
'Outlet_Size', 'Outlet_Location_Type', 'Outlet_Type', 'Item_Type_Combined']
enc = LabelEncoder()
for col in cat_cols:
train[col] = train[col].astype('str')
test[col] = test[col].astype('str')
train[col] = enc.fit_transform(train[col])
test[col] = enc.transform(test[col])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句