目录
二、RidgeRegressionWithSGD随机梯度下降岭回归
这段时间PySpark数据分析基础系列文章将持续讲述Pyspark.MLlib这一大块核心内容,更贴近我们的大数据分布式计算结合数据分析。这一部分内容是十分重要且比较难懂不易编程的部分,文章紧接此系列的上篇文章内容:PySpark数据分析基础:pyspark.mllib.regression机器学习回归核心类详解(一)+代码详解
上篇内容我们讲述了一些属于机器学习最基础的内容和相关原理,内容也由浅入深。接下来我们将重点了解每个回归的函数操作以及实现,回归的数学原理和实现方法大家可以订阅我的数学建模专栏详细了解每个回归的原理,这里仅作运用。
若将来想要从事数据挖掘和大数据分析的相关职业,不妨可以关注博主和订阅博主的一些专栏,我将承诺每篇文章将用心纂写长期维护,尽可能输出毕生所学结合如今先有案例项目和技术将每个知识点都讲明白清楚。
希望读者看完能够在评论区提出错误或者看法,博主会长期维护博客做及时更新。
岭回归算是回归算法中最经典的算法之一了,原理不在此作介绍,以后会单独开篇文章专门写岭回归算法原理和运用,这里只作运用。
RidgeRegressionModel(weights: pyspark.mllib.linalg.Vector, intercept: float)
该函数的方法和LinearRegressionWithSGD的方法是一样的,也有三个方法,分别是:
该示例缺少train。
使用随机梯度下降训练具有L2正则化的岭回归模型。自版本2.0.0以来已弃用:使用pyspark.ml.regression且elasticNetParam=0.0的线性回归。对于使用GD的RidgeRegression,默认regParam为0.01,而对于线性回归,则为0.0。
以及tarin方法:
- classmethod train(data: pyspark.rdd.RDD[pyspark.mllib.regression.LabeledPoint],
- iterations: int = 100,
- step: float = 1.0,
- regParam: float = 0.01,
- miniBatchFraction: float = 1.0,
- initialWeights: Optional[VectorLike] = None,
- intercept: bool = False,
- validateData: bool = True,
- convergenceTol: float = 0.001)
- → pyspark.mllib.regression.RidgeRegressionModel
参数说明:
- from pyspark.mllib.linalg import SparseVector
- from pyspark.mllib.regression import RidgeRegressionWithSGD
- from pyspark.mllib.regression import LabeledPoint
- data = [
- LabeledPoint(0.0, [0.0]),
- LabeledPoint(1.0, [1.0]),
- LabeledPoint(3.0, [2.0]),
- LabeledPoint(2.0, [3.0])
- ]
- lrm = RidgeRegressionWithSGD.train(sc.parallelize(data), iterations=10)
- lrm.predict([10.0])
- import os, tempfile
- path = tempfile.mkdtemp()
- lrm.save(sc, path)
- sameModel = RidgeRegressionModel.load(sc, path)
- sameModel.predict(np.array([0.0]))
以上就是本期全部内容。我是fanstuck ,有问题大家随时留言讨论 ,我们下期见。