我正在尝试构建一个决策树回归器模型,并且已经分割了训练和测试数据集。但是,一旦我试图将决策树辅助器安装到X_train和y_train中,我将收到以下错误:
“无法将字符串转换为浮动:‘曾傑瑞’”
我甚至尝试使用numpy将X_train数据转换为数组,也为索引创建了一个列,但仍然面临相同的问题。请帮忙。谢谢
发布于 2022-08-18 01:04:13
在文档中,决策树是:
能够处理数字和分类数据。然而,scikit-learn实现目前不支持分类变量。
Scikit的树需要使用数字来表示类别。这是对它是如何在sklearn中实现的的限制,而不是对树本身的限制。
您可以使用LabelEncoder将分类特性转换为数字特性,但是.
如果测试集中可能没有表示类别的某些值,那么单热编码是一个更好的选择。
OHE的另一个(重要)优点是它不会在特性中强制执行顺序。也就是说,你不会遇到曾傑瑞> Joe > Ben这样的尴尬场景。这种人为的顺序可以通过您的模型来学习。
请注意,LabelEncoder和OneHotEncoder都是变压器。所以他们有fit(),fit_transform()和transform()方法。与大多数转换器一样,典型的工作流程是对训练进行fit_transform,然后对测试进行转换。
https://stackoverflow.com/questions/73396341
复制相似问题