私はLinearRegression
モデルを履歴データに基づいて訓練しましたが、新しいモデルで同じモデルを再利用して予測を行っています。新しいデータにspark mllib LinearRegressionモデルを保存して再利用する
model.save
とLinearRegression.load
のメソッドをそれぞれ使用してモデルを保存して読み込むことができますが、新しいデータを読み込みモデルに渡して予測する方法が見つかりません。作成と研修モデルは以下の貼り付けられますため
コード:
val assembler = new VectorAssembler().setInputCols(Array("total", "connected", "c_403", "c_480", "c_503", "hour", "day_of_week")).setOutputCol("features")
val output = assembler.transform(df).select($"label", $"features")
val Array(training, test) = output.select("label", "features").randomSplit(Array(0.7, 0.3), seed = 12)
val lr = new LinearRegression()
val paramGrid = new ParamGridBuilder().addGrid(lr.regParam, Array(0.1, 0.01)).addGrid(lr.fitIntercept).addGrid(lr.elasticNetParam, Array(0.0, 0.25, 0.5, 0.75, 1.0)).build()
val trainvalSplit = new TrainValidationSplit().setEstimator(lr).setEvaluator(new RegressionEvaluator()).setEstimatorParamMaps(paramGrid).setTrainRatio(0.75)
val model = trainvalSplit.fit(training)
val holdout = model.transform(test).select("prediction","label")
モデルを新しいデータで再学習したいですか? – eliasah
実際、私はこの訓練されたモデルを使用して新しいデータを予測したいと考えています – Waqas
モデルをどのように保存していますか?私はコード内でこれを共有していません – eliasah