在pysp中将所有名义变量转换为分类变量

2024-10-01 07:36:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在寻找一种方法,将PySpark数据帧中的所有String类型的变量转换为分类变量,这样我就可以在数据帧上运行决策树。由于资源限制,我不能使用pandas,只能使用PySpark库。我已经确定VectorIndexer是一个可能的解决方案,但是,我不知道如何转换所有String类型的列,而{a1}表示这些列是可能的。在

有人能帮我解释一下怎么做吗?我想要这样的东西:

featureIndexer = VectorIndexer(inputCol=<list of input columns>, outputCol=<list of output columns>, maxCategories=10).fit(df)

或者让VectorIndexer自己找出哪些需要向量化,文档似乎表明它可以做到这一点。在

^{pr2}$

提前谢谢。在


Tags: columnsof数据方法决策树类型pandasstring
1条回答
网友
1楼 · 发布于 2024-10-01 07:36:28

VectorIndexer以向量类型的列作为输入,但是,听起来像是有一个包含字符串的列。在这种情况下,我建议使用StringIndexer和{}。在

StringIndexer将标签的字符串列转换为标签索引的列(双精度)。OneHotEncoder将把这个列转换成表示每个类别的多个列,用作分类特性。在

然后,所有这些特征可以用VectorAssembler组合成一个向量。我建议使用管道将所有阶段与分类器放在一起。在

Here是不同可用特性转换的文档,以及它们如何工作的示例。在

相关问题 更多 >