如何在spark管道中使用IDF?

时间:2016-04-25 23:19:03

标签: java apache-spark pipeline apache-spark-ml

我真的想使用spark正在推动的新管道概念,但是因为IDF对象需要适合数据然后转换它我不知道如何使用它。我想做这个;

Tokenizer tk = new Tokenizer()
            .setInputCol("text")
            .setOutputCol("words");
HashingTF tf = new HashingTF()
            .setNumFeatures(1000)
            .setInputCol(tk.getOutputCol())
            .setOutputCol("rawFeatures");
IDF idf = new IDF()
            .setInputCol(tf.getOutputCol())
            .setOutputCol("IDFFeatures");
Pipeline pipe = new Pipeline()
            .setStages(new PipeLineStage[] {tk, tf, idf})

但除非我误解了与idf无关。

1 个答案:

答案 0 :(得分:2)

它根本不复杂,如果你检查Official Pipeline Example,它们就像你一样。但是,您注意到大多数stagesEstimatorsTransformers)必须先安装,但在示例中他们不这样做,为什么?因为,开发人员考虑了这一点,并对Pipeline类进行了编程,使其为您执行此步骤(所有模型实例化,拟合,转换和预测都在内部完成)。