2

我有一个数据集作为 csv 文件。它有大约 50 列,其中大部分是分类的。我计划使用新的测试数据集运行 RandomForest 多类分类。

这样做的痛点是处理分类变量。处理它们的最佳方法是什么?我阅读了 Spark 网站http://spark.apache.org/docs/latest/ml-guide.html#example-pipeline中的 Pipeline 指南,它从硬编码序列创建了一个 DataFrame,还具有空格分隔的字符串。这看起来非常具体,我想在他们如何使用 HashingTF 使用我拥有的 CSV 文件的功能方面实现相同的目标。

简而言之,我想实现与链接中相同的功能,但使用 CSV 文件。

有什么建议么?

编辑:数据-> 50 个特征,100k 行,其中大部分是字母数字分类我对 MLlib 很陌生,因此很难从 CSV 中为我的数据找到合适的管道。我尝试从文件中创建一个 DataFrame,但对如何对分类列进行编码感到困惑。我的疑惑如下

1. The example in the link above tokenizes the data ans uses it but I have a dataframe.
2. Also even if I try using  a StringIndexer , should I write an indexer for every column? Shouldn't there be one method which accepts multiple columns?
3. How will I get back the label from the String Indexer for showing the prediction?
5. For new test data, how will I keep consistent encoding for every column?
4

1 回答 1

1

我建议看一下特征转换器http://spark.apache.org/docs/ml-features.html,尤其是 StringIndexer 和 VectorAssembler。

于 2015-11-30T08:39:47.503 回答