使用SQL和权重与火花ML LogisticRegressionModel(Using SQL an

2019-10-21 18:57发布

我与spark.ml库和管道能力试验。 似乎是在使用与分裂(如火车和测试)SQL限制:

  • 我很高兴,spark.ml工作关模式RDD的,但有没有简单的方法来测试和训练组随机拆分模式RDD。 我可以使用randomSplit(0.6,0.4),但还给RDD数组,失去架构。 我可以强制的情况下,类就可以和隐蔽回模式RDD,但我有很多的功能。 我使用的过滤器,并使用了基于我的独立同分布的特点之一了一些基本的分区状态)。 的还有什么有什么建议可以做什么?

关于生成的模型:

  • 如何访问模型权重? LR的优化和LR模型内部拥有权,但目前还不清楚如何向我们他们。

Answer 1:

好了,对于这个问题的第二部分,

How do I access the model weights? The lr optimizer and lr model internally has weights but it is unclear how to use them

通过库的源去(与不存在的斯卡拉知识)后,

(的spark.ml)的LogisticRegressionModel具有属性(类型矢量)的权重。

情况1

如果你有LogisticRegressionModel(spark.ml的)

LogisticRegression lr = new LogisticRegression();
LogisticRegressionModel lr1 = lr.fit(df_train);
System.out.println("The weights are  " + lr1.weights())

案例2

如果你有管道模型,先用getModel得到LogisticRegressionModel(变压器)

    LogisticRegression lr = new LogisticRegression().setMaxIter(10).setRegParam(0.01);
    Pipeline pipeline = new Pipeline().setStages(new PipelineStage[] { lr });

    PipelineModel model = pipeline.fit(train_df);
    LogisticRegressionModel lrModel =model.getModel(lr);
    System.out.println("The model is  {}", lrm.weights());

如果不正确或者有更好的办法,不要让我知道。



文章来源: Using SQL and weights with the spark ML LogisticRegressionModel