如何使用以两列文本为特征的Apache Spark ML训练Logistic回归?

时间:2018-10-01 19:53:55

标签: java apache-spark apache-spark-mllib

我正在尝试使用Apache Spark训练Logistic回归模型。我的数据框看起来像这样。

StructType schema = new StructType(new StructField[]{
    new StructField("label", DataTypes.DoubleType, false, Metadata.empty()),
    new StructField("text_A", DataTypes.StringType, false, Metadata.empty()),
    new StructField("text_B", DataTypes.StringType, false, Metadata.empty()),
});

Dataset<Row> trainingDataFrame =spark.createDataFrame(trainingdata, schema);

我想同时使用text_Atext_B作为训练模型的功能,但是我不想仅仅将它们两者串联。我想将它们分为不同的特征类别(因此,如果在text_Atext_B中出现相同的单词,则将它们视为不同的特征)。在当前的lr类中,它使用features列作为默认列,并且仅用于训练模型。可以使用两个不同的列作为训练功能吗?或者如何将这两个文本功能合并到一个单独的features列中进行培训?

1 个答案:

答案 0 :(得分:0)

所以我实际上是在网上学习的,发现How to merge multiple feature vectors in DataFrame?似乎是对我问题的准确答案。