LinearRegression

pyspark.ml.regression。 LinearRegression ( *,featuresCol:str=“特性”,labelCol:str=“标签”,predictionCol:str=“预测”,麦克斯特:int=One hundred.,regParam:浮动=0.0,elasticNetParam:浮动=0.0,托尔:浮动=1 e-06,fitIntercept:bool=真正的,标准化:bool=真正的,解算器:str=“汽车”,weightCol:可选(str]=没有一个,aggregationDepth:int=2,损失:str=“squaredError”,ε:浮动=1.35,maxBlockSizeInMB:浮动=0.0 )

线性回归。

学习的目标是最小化指定的损失函数,正规化。这支持两种类型的损失:

  • squaredError (a.k.。一个平方损失)

  • 胡贝尔(混合的平方误差相对较小的错误和绝对误差相对大的,和我们估计规模参数从训练数据)

这支持多种类型的正则化:

  • 没有(又名普通最小二乘法)

  • L2(岭回归)

  • L1(套索)

  • L2 + L1(弹性网)

笔记

拟合与胡贝尔损失仅支持和L2正规化。

例子

> > >pyspark.ml.linalg进口向量> > >df=火花createDataFrame([(1.0,2.0,向量密集的(1.0)),(0.0,2.0,向量稀疏的(1,[],[]))),(“标签”,“重量”,“特征”])> > >lr=LinearRegression(regParam=0.0,解算器=“正常”,weightCol=“重量”)> > >lrsetMaxIter(5)LinearRegression……> > >lrgetMaxIter()5> > >lrsetRegParam(0.1)LinearRegression……> > >lrgetRegParam()0.1> > >lrsetRegParam(0.0)LinearRegression……> > >模型=lr适合(df)> > >模型setFeaturesCol(“特征”)LinearRegressionModel……> > >模型setPredictionCol(“newPrediction”)LinearRegressionModel……> > >模型getMaxIter()5> > >模型getMaxBlockSizeInMB()0.0> > >电平=火花createDataFrame(((向量密集的(- - - - - -1.0),),(“特征”])> > >腹肌(模型预测(电平()特性)- - - - - -(- - - - - -1.0))<0.001真正的> > >腹肌(模型变换(电平)()newPrediction- - - - - -(- - - - - -1.0))<0.001真正的> > >腹肌(模型系数(0]- - - - - -1.0)<0.001真正的> > >腹肌(模型拦截- - - - - -0.0)<0.001真正的> > >test1=火花createDataFrame(((向量稀疏的(1,(0),(1.0),),(“特征”])> > >腹肌(模型变换(test1)()newPrediction- - - - - -1.0)<0.001真正的> > >lrsetparam(featuresCol=“向量”)LinearRegression……> > >lr_path=temp_path+“/ lr”> > >lr保存(lr_path)> > >lr2=LinearRegression负载(lr_path)> > >lr2getMaxIter()5> > >model_path=temp_path+“/ lr_model”> > >模型保存(model_path)> > >model2=LinearRegressionModel负载(model_path)> > >模型系数(0]= =model2系数(0]真正的> > >模型拦截= =model2拦截真正的> > >模型变换(电平)(1)= =model2变换(电平)(1)真正的> > >模型numFeatures1> > >模型()格式(“pmml”)保存(model_path+“_2”)

方法

清晰的(参数)

清除参数映射的参数是否被显式地设置。

复制((额外的))

创建这个实例的副本具有相同uid和一些额外的参数。

explainParam(参数)

解释一个参数并返回它的名字,医生,和可选的默认值,用户提供的字符串值。

explainParams()

返回文档的所有参数选择默认值和用户提供的值。

extractParamMap((额外的))

提取嵌入默认参数值和用户提供的值,然后合并他们额外的值从输入平面参数映射,后者使用价值如果存在冲突,即。排序:默认参数值< <额外的用户提供的值。

适合(数据集[params))

适合一个模型与可选参数的输入数据集。

fitMultiple(paramMaps数据集)

适合一个模型为每个参数映射的输入数据集paramMaps

getAggregationDepth()

得到的价值aggregationDepth或其默认值。

getElasticNetParam()

得到的价值elasticNetParam或其默认值。

getEpsilon()

得到的值ε或其默认值。

getFeaturesCol()

得到的价值featuresCol或其默认值。

getFitIntercept()

得到的价值fitIntercept或其默认值。

getLabelCol()

得到的价值labelCol或其默认值。

getLoss()

获得的价值损失或其默认值。

getMaxBlockSizeInMB()

得到的价值maxBlockSizeInMB或其默认值。

getMaxIter()

麦克斯特的价值或其默认值。

getOrDefault(参数)

得到参数的值在用户提供的参数映射或其默认值。

getParam(paramName)

通过它的名称参数。

getPredictionCol()

得到的价值predictionCol或其默认值。

getRegParam()

得到的价值regParam或其默认值。

getSolver()

得到解决的价值或其默认值。

getStandardization()

被标准化的价值或其默认值。

getTol()

被托尔的价值或其默认值。

getWeightCol()

得到的价值weightCol或其默认值。

hasDefault(参数)

检查是否一个参数有默认值。

hasParam(paramName)

测试这个实例包含一个参数是否与给定名称(字符串)。

isDefined(参数)

检查参数是否由用户或显式地设置一个默认值。

收取(参数)

检查参数是否由用户显式地设置。

负载(路径)

从输入路径,读取一个毫升实例的快捷方式read () .load(路径)

()

返回一个MLReader这个类的实例。

保存(路径)

这个毫升实例保存到给定的路径,一个快捷方式的“写().save(路径)。

(参数值)

设置一个参数嵌入参数映射。

setAggregationDepth(值)

设置的值aggregationDepth

setElasticNetParam(值)

设置的值elasticNetParam

setEpsilon(值)

设置的值ε

setFeaturesCol(值)

设置的值featuresCol

setFitIntercept(值)

设置的值fitIntercept

setLabelCol(值)

设置的值labelCol

setLoss(值)

设置的值损失

setMaxBlockSizeInMB(值)

设置的值maxBlockSizeInMB

setMaxIter(值)

设置的值麦克斯特

setparam(自我,\ [,labelCol featuresCol…))

设置参数的线性回归。

setPredictionCol(值)

设置的值predictionCol

setRegParam(值)

设置的值regParam

setSolver(值)

设置的值解算器

setStandardization(值)

设置的值标准化

setTol(值)

设置的值托尔

setWeightCol(值)

设置的值weightCol

()

返回一个MLWriter实例毫升实例。

属性

aggregationDepth

elasticNetParam

ε

featuresCol

fitIntercept

labelCol

损失

maxBlockSizeInMB

麦克斯特

参数个数

返回所有参数命令的名字。

predictionCol

regParam

解算器

标准化

托尔

weightCol

方法的文档

清晰的 ( 参数:pyspark.ml.param.Param )→没有

清除参数映射的参数是否被显式地设置。

复制 ( 额外的:可选(ParamMap]=没有一个 )→摩根大通

创建这个实例的副本具有相同uid和一些额外的参数。这个实现第一次调用参数。复制and then make a copy of the companion Java pipeline component with extra params. So both the Python wrapper and the Java pipeline component get copied.

参数
额外的 东西,可选

额外参数复制到新实例

返回
JavaParams

这个实例的副本

explainParam ( 参数:联盟(str,pyspark.ml.param.Param] )→str

解释一个参数并返回它的名字,医生,和可选的默认值,用户提供的字符串值。

explainParams ( )→str

返回文档的所有参数选择默认值和用户提供的值。

extractParamMap ( 额外的:可选(ParamMap]=没有一个 )→ParamMap

提取嵌入默认参数值和用户提供的值,然后合并他们额外的值从输入平面参数映射,后者使用价值如果存在冲突,即。排序:默认参数值< <额外的用户提供的值。

参数
额外的 东西,可选

额外的参数值

返回
dict

合并后的参数映射

适合 ( 数据集:pyspark.sql.dataframe.DataFrame,参数个数:联盟[ParamMap、列表(ParamMap)元组(ParamMap),没有一个)=没有一个 )→联盟(,列表(] ]

适合一个模型与可选参数的输入数据集。

参数
数据集 pyspark.sql.DataFrame

输入数据集。

参数个数 dict或列表或元组,可选的

一个可选的参数覆盖嵌入参数的地图。如果列表/元组的参数映射,这适用于每一个参数并返回一个列表的模型映射。

返回
变压器或者一个列表变压器

拟合模型(年代)

fitMultiple ( 数据集:pyspark.sql.dataframe.DataFrame,paramMaps:序列(ParamMap] )→迭代器(元组(int,] ]

适合一个模型为每个参数映射的输入数据集paramMaps

参数
数据集 pyspark.sql.DataFrame

输入数据集。

paramMaps collections.abc.Sequence

一系列的参数映射。

返回
_FitMultipleIterator

一个线程安全的iterable包含为每个参数映射模型。每次调用下一个(modelIterator)将返回(指数模型)模型是适合使用在哪里paramMaps(指数)指数值可能不是连续的。

getAggregationDepth ( )→int

得到的价值aggregationDepth或其默认值。

getElasticNetParam ( )→浮动

得到的价值elasticNetParam或其默认值。

getEpsilon ( )→浮动

得到的值ε或其默认值。

getFeaturesCol ( )→str

得到的价值featuresCol或其默认值。

getFitIntercept ( )→bool

得到的价值fitIntercept或其默认值。

getLabelCol ( )→str

得到的价值labelCol或其默认值。

getLoss ( )→str

获得的价值损失或其默认值。

getMaxBlockSizeInMB ( )→浮动

得到的价值maxBlockSizeInMB或其默认值。

getMaxIter ( )→int

麦克斯特的价值或其默认值。

getOrDefault ( 参数:联盟(str,pyspark.ml.param.Param(T]] )→联盟(任何,T]

得到参数的值在用户提供的参数映射或其默认值。如果没有设置提出了一个错误。

getParam ( paramName:str )pyspark.ml.param.Param

通过它的名称参数。

getPredictionCol ( )→str

得到的价值predictionCol或其默认值。

getRegParam ( )→浮动

得到的价值regParam或其默认值。

getSolver ( )→str

得到解决的价值或其默认值。

getStandardization ( )→bool

被标准化的价值或其默认值。

getTol ( )→浮动

被托尔的价值或其默认值。

getWeightCol ( )→str

得到的价值weightCol或其默认值。

hasDefault ( 参数:联盟(str,pyspark.ml.param.Param(任何]] )→bool

检查是否一个参数有默认值。

hasParam ( paramName:str )→bool

测试这个实例包含一个参数是否与给定名称(字符串)。

isDefined ( 参数:联盟(str,pyspark.ml.param.Param(任何]] )→bool

检查参数是否由用户或显式地设置一个默认值。

收取 ( 参数:联盟(str,pyspark.ml.param.Param(任何]] )→bool

检查参数是否由用户显式地设置。

classmethod 负载 ( 路径:str )→RL

从输入路径,读取一个毫升实例的快捷方式read () .load(路径)

classmethod ( )→pyspark.ml.util.JavaMLReader(RL]

返回一个MLReader这个类的实例。

保存 ( 路径:str )→没有

这个毫升实例保存到给定的路径,一个快捷方式的“写().save(路径)。

( 参数:pyspark.ml.param.Param,价值:任何 )→没有

设置一个参数嵌入参数映射。

setAggregationDepth ( 价值:int )pyspark.ml.regression.LinearRegression

设置的值aggregationDepth

setElasticNetParam ( 价值:浮动 )pyspark.ml.regression.LinearRegression

设置的值elasticNetParam

setEpsilon ( 价值:浮动 )pyspark.ml.regression.LinearRegression

设置的值ε

setFeaturesCol ( 价值:str )→P

设置的值featuresCol

setFitIntercept ( 价值:bool )pyspark.ml.regression.LinearRegression

设置的值fitIntercept

setLabelCol ( 价值:str )→P

设置的值labelCol

setLoss ( 价值:str )pyspark.ml.regression.LinearRegression

设置的值损失

setMaxBlockSizeInMB ( 价值:浮动 )pyspark.ml.regression.LinearRegression

设置的值maxBlockSizeInMB

setMaxIter ( 价值:int )pyspark.ml.regression.LinearRegression

设置的值麦克斯特

setparam ( 自我,\ *,featuresCol = "特性",labelCol = "标签",predictionCol = "预测",麦克斯特= 100,regParam = 0.0,elasticNetParam = 0.0,托尔= 1 e-6,fitIntercept = True,标准化= True,解算器=“自动”,weightCol =没有,aggregationDepth = 2,损失= " squaredError ",ε= 1.35,maxBlockSizeInMB = 0.0 )

设置参数的线性回归。

setPredictionCol ( 价值:str )→P

设置的值predictionCol

setRegParam ( 价值:浮动 )pyspark.ml.regression.LinearRegression

设置的值regParam

setSolver ( 价值:str )pyspark.ml.regression.LinearRegression

设置的值解算器

setStandardization ( 价值:bool )pyspark.ml.regression.LinearRegression

设置的值标准化

setTol ( 价值:浮动 )pyspark.ml.regression.LinearRegression

设置的值托尔

setWeightCol ( 价值:str )pyspark.ml.regression.LinearRegression

设置的值weightCol

( )→pyspark.ml.util.JavaMLWriter

返回一个MLWriter实例毫升实例。

属性的文档

aggregationDepth =参数(父母=‘定义’,name = ' aggregationDepth ', doc =的建议深度treeAggregate (> = 2)。)
elasticNetParam =参数(父母=‘定义’,name = ' elasticNetParam ', doc = ' ElasticNet混合参数,在区间[0,1]。L2为α= 0,惩罚是一种惩罚。L1为α= 1,这是一个点球。”)
ε =参数(父母=‘定义’,name =ε,doc = '形状参数控制的鲁棒性。必须> 1.0。只有有效的huber)损失时
featuresCol =参数(父母=‘定义’,name = ' featuresCol ', doc =功能列名称。)
fitIntercept =参数(父母=‘定义’,name = ' fitIntercept ', doc =是否适合一个截距项。)
labelCol =参数(父母=‘定义’,name = ' labelCol ', doc =“标签列名。”)
损失 =参数(父母=‘定义’,name =“损失”,医生= '损失函数进行优化。支持选择:squaredError huber。”)
maxBlockSizeInMB =参数(父母=‘定义’,name = ' maxBlockSizeInMB ',医生在MB = '最大内存叠加输入数据块。数据分区内堆放。如果超过剩余的数据大小的分区是调整大小的数据。默认0.0代表了选择最优值,取决于特定的算法。必须> = 0”。)
麦克斯特 =参数(父母=‘定义’,name =“麦克斯特”,医生=“马克斯(> = 0)的迭代次数。)
参数个数

返回所有参数命令的名字。默认实现使用dir ()所有的属性类型参数

predictionCol =参数(父母=‘定义’,name = ' predictionCol ', doc =预测列名称。)
regParam =参数(父母=‘定义’,name = ' regParam ', doc =“正则化参数(> = 0)”。)
解算器 =参数(父母=‘定义’,name =“规划求解”,医生= '优化的求解算法。支持选择:汽车、正常,l-bfgs。”)
标准化 =参数(父母=‘定义’,name =“标准化”,医生=是否规范培训特性拟合模型之前。)
托尔 =参数(父母=‘定义’,name =“托尔”,医生=迭代算法的收敛公差(> = 0)”。)
weightCol =参数(父母=‘定义’,name = ' weightCol ', doc = '体重列名。如果这不是设置或空,我们对所有实例权重为1.0。”)