你好,我是一个机器学习的初学者,我以前处理过一些二进制ml任务,其中的数据是数值的。现在我面临一个问题,我必须找到一个特定组合的概率。我现在不能透露数据集或代码。我的数据是10列的数据帧。我必须在8列上训练我的模型,并预测最后2列的可能性。我的标签是最后两列的组合。我面临的问题是,这些列值不是数值。我尝试了所有我遇到的方法,但找不到任何合适的方法将其转换为数值。我试过sklearn的LabelEncoder,它可以处理标签,但是如果我再次使用它,就会抛出内存错误。我试着用pandas的数字,它把所有的值都读作Nan。值的格式为“2be74fad-4d4”。对于如何处理这个问题,如有任何建议,我们将不胜感激。在
要将分类数据转换为数值,可以在sklearn中尝试以下方法:
现在,对于您的问题,您可以使用LabelEncoder。但有一个陷阱。在其他sklearn模型中,您可以声明一次,然后使用它来适应,然后对多个列进行转换。在
在LabelEncoding中,您必须
fit_transform
在列车数据中的一列上建立模型,然后在测试数据中transform
同一列。然后对下一个分类列执行相同的过程。在您可以在一个分类列列表上进行迭代以使其更简单。考虑下面的片段:
您可以使用从字符串到整数的映射创建字典。可以在这里找到一个例子:enter link description here。然后你用一个热编码或者把整数输入神经网络。如果这些字符有某种意义,你也可以按每个字符来做,而不是基于单词。但这取决于任务。如果这个字符串是列的唯一标识符,那么就把它放在一边,不要把它输入到模型中。在
相关问题 更多 >
编程相关推荐