1.相關參數設置:
<1> setMaxIter():設置最大迭代次數
<2> setRegParam(): 設置正則項的參數,控制損失函數與懲罰項的比例,防止整個訓練過程過擬合
<3> setElasticNetParam():使用L1範數還是L2範數
setElasticNetParam=0.0 爲L2正則化;
setElasticNetParam=1.0 爲L1正則化;
setElasticNetParam=(0.0,1.0) 爲L1,L2組合
<4> setFeaturesCol():指定特徵列的列名,傳入Array類型
<5>setLabelCol():指定標籤列的列名,傳入String類型
<6>setPredictionCol():指定預測列的列名
<7>setFitIntercept(value:Boolean):是否需要偏置,默認爲true(即是否需要y=wx+b中的b)
<8>setStandardization(value:Boolean):模型訓練時,是否對各特徵值進行標準化處理,默認爲true
<9>setSolver(value:String):設置用於優化求解器。線性迴歸支持的有l-bfgs(有限內存擬牛頓法),normal(加權最小二乘法)和auto(自動選擇)。
<10>setTol(value:Double):設置迭代的收斂公差。值越小準確性越高但是迭代成本增加。默認值爲1E-6。(即損失函數)
<11>setWeightCol(value:String):設置某特徵列的權重值,如果不設置或者爲空,默認所有實例的權重爲1。
<12>setAggregationDepth:建議深度大於或等於2,默認爲2。如果特徵維度較大或者數據的分區量大的時候,可以調大該值。
<13>fit:基於訓練街訓練出模型
<14>transform:基於訓練出的模型對測試集進行預測