我与spark.ml库和管道能力试验。 似乎是在使用与分裂(如火车和测试)SQL限制:
- 我很高兴,spark.ml工作关模式RDD的,但有没有简单的方法来测试和训练组随机拆分模式RDD。 我可以使用randomSplit(0.6,0.4),但还给RDD数组,失去架构。 我可以强制的情况下,类就可以和隐蔽回模式RDD,但我有很多的功能。 我使用的过滤器,并使用了基于我的独立同分布的特点之一了一些基本的分区状态)。 的还有什么有什么建议可以做什么?
关于生成的模型:
- 如何访问模型权重? LR的优化和LR模型内部拥有权,但目前还不清楚如何向我们他们。
好了,对于这个问题的第二部分,
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());
如果不正确或者有更好的办法,不要让我知道。