LogisticRegression¶
-
类
pyspark.ml.classification。
LogisticRegression
( *,featuresCol:str=“特性”,labelCol:str=“标签”,predictionCol:str=“预测”,麦克斯特:int=One hundred.,regParam:浮动=0.0,elasticNetParam:浮动=0.0,托尔:浮动=1 e-06,fitIntercept:bool=真正的,阈值:浮动=0.5,阈值:可选(列表(浮动]]=没有一个,probabilityCol:str=“概率”,rawPredictionCol:str=“rawPrediction”,标准化:bool=真正的,weightCol:可选(str]=没有一个,aggregationDepth:int=2,家庭:str=“汽车”,lowerBoundsOnCoefficients:可选(pyspark.ml.linalg.Matrix]=没有一个,upperBoundsOnCoefficients:可选(pyspark.ml.linalg.Matrix]=没有一个,lowerBoundsOnIntercepts:可选(pyspark.ml.linalg.Vector]=没有一个,upperBoundsOnIntercepts:可选(pyspark.ml.linalg.Vector]=没有一个,maxBlockSizeInMB:浮动=0.0 ) ¶ -
逻辑回归。这类支持多项物流(softmax)和二项逻辑回归。
例子
> > >从pyspark.sql进口行> > >从pyspark.ml.linalg进口向量> > >快速公车提供=sc。并行化([…行(标签=1.0,重量=1.0,特性=向量。密集的(0.0,5.0)),…行(标签=0.0,重量=2.0,特性=向量。密集的(1.0,2.0)),…行(标签=1.0,重量=3.0,特性=向量。密集的(2.0,1.0)),…行(标签=0.0,重量=4.0,特性=向量。密集的(3.0,3.0))))。toDF()> > >blor=LogisticRegression(weightCol=“重量”)> > >blor。getRegParam()0.0> > >blor。setRegParam(0.01)LogisticRegression……> > >blor。getRegParam()0.01> > >blor。setMaxIter(10)LogisticRegression……> > >blor。getMaxIter()10> > >blor。清晰的(blor。麦克斯特)> > >blorModel=blor。适合(快速公车提供)> > >blorModel。setFeaturesCol(“特征”)LogisticRegressionModel……> > >blorModel。setProbabilityCol(“newProbability”)LogisticRegressionModel……> > >blorModel。getProbabilityCol()“newProbability”> > >blorModel。getMaxBlockSizeInMB()0.0> > >blorModel。setThreshold(0.1)LogisticRegressionModel……> > >blorModel。getThreshold()0.1> > >blorModel。系数DenseVector ([-1.080…,-0.646……)> > >blorModel。拦截3.112……> > >blorModel。评估(快速公车提供)。精度= =blorModel。总结。精度真正的> > >data_path=“数据/ mllib / sample_multiclass_classification_data.txt”> > >mdf=火花。读。格式(“libsvm”)。负载(data_path)> > >mlor=LogisticRegression(regParam=0.1,elasticNetParam=1.0,家庭=“多项”)> > >mlorModel=mlor。适合(mdf)> > >mlorModel。coefficientMatrixSparseMatrix (3、4、[0, 1, 2, 3], [3,2,1], [1.87……,-2.75……,-0.50……),1)> > >mlorModel。interceptVectorDenseVector ([0.04…,-0.42……,0。37...])> > >电平=sc。并行化([行(特性=向量。密集的(- - - - - -1.0,1.0))))。toDF()> > >blorModel。预测(电平。头()。特性)1.0> > >blorModel。predictRaw(电平。头()。特性)DenseVector ([-3.54…,3.54……)> > >blorModel。predictProbability(电平。头()。特性)DenseVector ([0.028, 0.972])> > >结果=blorModel。变换(电平)。头()> > >结果。预测1.0> > >结果。newProbabilityDenseVector ([0.02…,0.97……)> > >结果。rawPredictionDenseVector ([-3.54…,3.54……)> > >test1=sc。并行化([行(特性=向量。稀疏的(2,(0),(1.0)))))。toDF()> > >blorModel。变换(test1)。头()。预测1.0> > >blor。setparam(“向量”)回溯(最近的电话):…TypeError:关键字参数方法setparam力量。> > >lr_path=temp_path+“/ lr”> > >blor。保存(lr_path)> > >lr2=LogisticRegression。负载(lr_path)> > >lr2。getRegParam()0.01> > >model_path=temp_path+“/ lr_model”> > >blorModel。保存(model_path)> > >model2=LogisticRegressionModel。负载(model_path)> > >blorModel。系数(0]= =model2。系数(0]真正的> > >blorModel。拦截= =model2。拦截真正的> > >model2LogisticRegressionModel: uid =…numClasses = 2, numFeatures = 2> > >blorModel。变换(电平)。取(1)= =model2。变换(电平)。取(1)真正的
方法
清晰的
(参数)清除参数映射的参数是否被显式地设置。
复制
((额外的))创建这个实例的副本具有相同uid和一些额外的参数。
explainParam
(参数)解释一个参数并返回它的名字,医生,和可选的默认值,用户提供的字符串值。
返回文档的所有参数选择默认值和用户提供的值。
extractParamMap
((额外的))提取嵌入默认参数值和用户提供的值,然后合并他们额外的值从输入平面参数映射,后者使用价值如果存在冲突,即。排序:默认参数值< <额外的用户提供的值。
适合
(数据集[params))适合一个模型与可选参数的输入数据集。
fitMultiple
(paramMaps数据集)适合一个模型为每个参数映射的输入数据集paramMaps。
得到的价值aggregationDepth或其默认值。
得到的价值elasticNetParam或其默认值。
获得的价值
家庭
或其默认值。得到的价值featuresCol或其默认值。
得到的价值fitIntercept或其默认值。
得到的价值labelCol或其默认值。
得到的价值maxBlockSizeInMB或其默认值。
麦克斯特的价值或其默认值。
getOrDefault
(参数)得到参数的值在用户提供的参数映射或其默认值。
getParam
(paramName)通过它的名称参数。
得到的价值predictionCol或其默认值。
得到的价值probabilityCol或其默认值。
得到的价值rawPredictionCol或其默认值。
得到的价值regParam或其默认值。
被标准化的价值或其默认值。
获得二进制分类阈值。
如果
阈值
设置,返回其值。getTol
()被托尔的价值或其默认值。
得到的价值weightCol或其默认值。
hasDefault
(参数)检查是否一个参数有默认值。
hasParam
(paramName)测试这个实例包含一个参数是否与给定名称(字符串)。
isDefined
(参数)检查参数是否由用户或显式地设置一个默认值。
收取
(参数)检查参数是否由用户显式地设置。
负载
(路径)从输入路径,读取一个毫升实例的快捷方式read () .load(路径)。
读
()返回一个MLReader这个类的实例。
保存
(路径)这个毫升实例保存到给定的路径,一个快捷方式的“写().save(路径)。
集
(参数值)设置一个参数嵌入参数映射。
设置的值
aggregationDepth
。设置的值
elasticNetParam
。setFamily
(值)设置的值
家庭
。设置的值
featuresCol
。设置的值
fitIntercept
。setLabelCol
(值)设置的值
labelCol
。设置的值
maxBlockSizeInMB
。setMaxIter
(值)设置的值
麦克斯特
。setparam
(* [,labelCol featuresCol…))setparam(自我,*,featuresCol =“特性”,labelCol =“标签”,predictionCol =“预测”,麦克斯特= 100,regParam = 0.0, elasticNetParam = 0.0, tol = 1 e-6, fitIntercept = True,阈值= 0.5,=没有阈值,probabilityCol =“概率”,rawPredictionCol =“rawPrediction”,标准化= True, weightCol = None, aggregationDepth = 2,家庭=“汽车”,lowerBoundsOnCoefficients = None, upperBoundsOnCoefficients = None, lowerBoundsOnIntercepts = None, upperBoundsOnIntercepts = None, maxBlockSizeInMB = 0.0):集逻辑回归的参数。
设置的值
predictionCol
。设置的值
probabilityCol
。设置的值
rawPredictionCol
。setRegParam
(值)设置的值
regParam
。设置的值
标准化
。setThreshold
(值)设置的值
阈值
。设置的值
阈值
。setTol
(值)设置的值
托尔
。setWeightCol
(值)设置的值
weightCol
。写
()返回一个MLWriter实例毫升实例。
属性
返回所有参数命令的名字。
方法的文档
-
清晰的
( 参数: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或其默认值。
-
getFeaturesCol
( )→str¶ -
得到的价值featuresCol或其默认值。
-
getFitIntercept
( )→bool¶ -
得到的价值fitIntercept或其默认值。
-
getLabelCol
( )→str¶ -
得到的价值labelCol或其默认值。
-
getLowerBoundsOnCoefficients
( )→pyspark.ml.linalg.Matrix ¶
-
getLowerBoundsOnIntercepts
( )→pyspark.ml.linalg.Vector ¶
-
getMaxBlockSizeInMB
( )→浮动¶ -
得到的价值maxBlockSizeInMB或其默认值。
-
getMaxIter
( )→int¶ -
麦克斯特的价值或其默认值。
-
getOrDefault
( 参数:联盟(str,pyspark.ml.param.Param(T]] )→联盟(任何,T] ¶ -
得到参数的值在用户提供的参数映射或其默认值。如果没有设置提出了一个错误。
-
getParam
( paramName:str )→pyspark.ml.param.Param ¶ -
通过它的名称参数。
-
getPredictionCol
( )→str¶ -
得到的价值predictionCol或其默认值。
-
getProbabilityCol
( )→str¶ -
得到的价值probabilityCol或其默认值。
-
getRawPredictionCol
( )→str¶ -
得到的价值rawPredictionCol或其默认值。
-
getRegParam
( )→浮动¶ -
得到的价值regParam或其默认值。
-
getStandardization
( )→bool¶ -
被标准化的价值或其默认值。
-
getThreshold
( )→浮动¶ -
获得二进制分类阈值。
如果
阈值
设置长度为2(即。,binary classification), this returns the equivalent threshold:\ \(压裂{1}{1 + \压裂{阈值(0)}{阈值(1)}}\)。否则,返回阈值
如果设置如果设置或其默认值。
-
getTol
( )→浮动¶ -
被托尔的价值或其默认值。
-
getUpperBoundsOnCoefficients
( )→pyspark.ml.linalg.Matrix ¶
-
getUpperBoundsOnIntercepts
( )→pyspark.ml.linalg.Vector ¶
-
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.classification.LogisticRegression ¶ -
设置的值
aggregationDepth
。
-
setElasticNetParam
( 价值:浮动 )→pyspark.ml.classification.LogisticRegression ¶ -
设置的值
elasticNetParam
。
-
setFamily
( 价值:str )→pyspark.ml.classification.LogisticRegression ¶ -
设置的值
家庭
。
-
setFeaturesCol
( 价值:str )→P¶ -
设置的值
featuresCol
。
-
setFitIntercept
( 价值:bool )→pyspark.ml.classification.LogisticRegression ¶ -
设置的值
fitIntercept
。
-
setLowerBoundsOnCoefficients
( 价值:pyspark.ml.linalg.Matrix )→pyspark.ml.classification.LogisticRegression ¶
-
setLowerBoundsOnIntercepts
( 价值:pyspark.ml.linalg.Vector )→pyspark.ml.classification.LogisticRegression ¶
-
setMaxBlockSizeInMB
( 价值:浮动 )→pyspark.ml.classification.LogisticRegression ¶ -
设置的值
maxBlockSizeInMB
。
-
setMaxIter
( 价值:int )→pyspark.ml.classification.LogisticRegression ¶ -
设置的值
麦克斯特
。
-
setparam
( *,featuresCol:str=“特性”,labelCol:str=“标签”,predictionCol:str=“预测”,麦克斯特:int=One hundred.,regParam:浮动=0.0,elasticNetParam:浮动=0.0,托尔:浮动=1 e-06,fitIntercept:bool=真正的,阈值:浮动=0.5,阈值:可选(列表(浮动]]=没有一个,probabilityCol:str=“概率”,rawPredictionCol:str=“rawPrediction”,标准化:bool=真正的,weightCol:可选(str]=没有一个,aggregationDepth:int=2,家庭:str=“汽车”,lowerBoundsOnCoefficients:可选(pyspark.ml.linalg.Matrix]=没有一个,upperBoundsOnCoefficients:可选(pyspark.ml.linalg.Matrix]=没有一个,lowerBoundsOnIntercepts:可选(pyspark.ml.linalg.Vector]=没有一个,upperBoundsOnIntercepts:可选(pyspark.ml.linalg.Vector]=没有一个,maxBlockSizeInMB:浮动=0.0 )→pyspark.ml.classification.LogisticRegression ¶ -
setparam(自我,*,featuresCol =“特性”,labelCol =“标签”,predictionCol =“预测”,麦克斯特= 100,regParam = 0.0, elasticNetParam = 0.0, tol = 1 e-6, fitIntercept = True,阈值= 0.5,=没有阈值,probabilityCol =“概率”,rawPredictionCol =“rawPrediction”,标准化= True, weightCol = None, aggregationDepth = 2,家庭=“汽车”,lowerBoundsOnCoefficients = None, upperBoundsOnCoefficients = None, lowerBoundsOnIntercepts = None, upperBoundsOnIntercepts = None, maxBlockSizeInMB = 0.0):集逻辑回归的参数。如果阈值和阈值参数都设置,它们必须是等价的。
-
setPredictionCol
( 价值:str )→P¶ -
设置的值
predictionCol
。
-
setProbabilityCol
( 价值:str )→P¶ -
设置的值
probabilityCol
。
-
setRawPredictionCol
( 价值:str )→P¶ -
设置的值
rawPredictionCol
。
-
setRegParam
( 价值:浮动 )→pyspark.ml.classification.LogisticRegression ¶ -
设置的值
regParam
。
-
setStandardization
( 价值:bool )→pyspark.ml.classification.LogisticRegression ¶ -
设置的值
标准化
。
-
setTol
( 价值:浮动 )→pyspark.ml.classification.LogisticRegression ¶ -
设置的值
托尔
。
-
setUpperBoundsOnCoefficients
( 价值:pyspark.ml.linalg.Matrix )→pyspark.ml.classification.LogisticRegression ¶
-
setUpperBoundsOnIntercepts
( 价值:pyspark.ml.linalg.Vector )→pyspark.ml.classification.LogisticRegression ¶
-
setWeightCol
( 价值:str )→pyspark.ml.classification.LogisticRegression ¶ -
设置的值
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 = '家人的名字标签的描述是分布在模型中使用。支持选择:汽车、二项、多项”) ¶
-
featuresCol
=参数(父母=‘定义’,name = ' featuresCol ', doc =功能列名称。) ¶
-
fitIntercept
=参数(父母=‘定义’,name = ' fitIntercept ', doc =是否适合一个截距项。) ¶
-
labelCol
=参数(父母=‘定义’,name = ' labelCol ', doc =“标签列名。”) ¶
-
lowerBoundsOnCoefficients
=参数(父母=‘定义’,name = ' lowerBoundsOnCoefficients ', doc = '的下界如果绑定约束优化下拟合系数。约束矩阵必须兼容的形状(1、功能)二项式回归,或(数量的类,数量的特性)多项式回归。”) ¶
-
lowerBoundsOnIntercepts
=参数(父母=‘定义’,name = ' lowerBoundsOnIntercepts ', doc = '拦截,如果合适的上下界约束优化。边界向量的大小必须与1 beequal二项式回归,或为多项式回归oflasses数量。”) ¶
-
maxBlockSizeInMB
=参数(父母=‘定义’,name = ' maxBlockSizeInMB ',医生在MB = '最大内存叠加输入数据块。数据分区内堆放。如果超过剩余的数据大小的分区是调整大小的数据。默认0.0代表了选择最优值,取决于特定的算法。必须> = 0”。) ¶
-
麦克斯特
=参数(父母=‘定义’,name =“麦克斯特”,医生=“马克斯(> = 0)的迭代次数。) ¶
-
参数个数
¶ -
返回所有参数命令的名字。默认实现使用
dir ()
所有的属性类型参数
。
-
predictionCol
=参数(父母=‘定义’,name = ' predictionCol ', doc =预测列名称。) ¶
-
probabilityCol
=参数(父母=‘定义’,name = ' probabilityCol ', doc = '列名为预测类条件概率。注意:并不是所有的模型输出精确校准的概率估计!这些概率应该被视为机密,而不是精确的概率。”) ¶
-
rawPredictionCol
=参数(父母=‘定义’,name = ' rawPredictionCol ', doc =“原始预测(又名信心)列名”。) ¶
-
regParam
=参数(父母=‘定义’,name = ' regParam ', doc =“正则化参数(> = 0)”。) ¶
-
标准化
=参数(父母=‘定义’,name =“标准化”,医生=是否规范培训特性拟合模型之前。) ¶
-
阈值
=参数(父母=‘定义’,name =“阈值”,医生= '阈值以二进制分类预测,在区间[0,1]。如果阈值和阈值都是,他们必须match.e.g。如果阈值p,那么阈值必须等于1 - p, p。”) ¶
-
阈值
=参数(父母=‘定义’,name =“阈值”,医生=“多层次分类阈值调整的概率预测每个类。数组长度必须等于类的数量,最多值> 0,除了一个值可能是0。类最大的值p / t是预测,p是原始类和t的概率是类的门槛。”) ¶
-
托尔
=参数(父母=‘定义’,name =“托尔”,医生=迭代算法的收敛公差(> = 0)”。) ¶
-
upperBoundsOnCoefficients
=参数(父母=‘定义’,name = ' upperBoundsOnCoefficients ', doc = '的上界如果绑定约束优化下拟合系数。约束矩阵必须兼容的形状(1、功能)二项式回归,或(数量的类,数量的特性)多项式回归。”) ¶
-
upperBoundsOnIntercepts
=参数(父母=‘定义’,name = ' upperBoundsOnIntercepts ', doc = '的上界拦截如果配件在绑定约束优化。绑定向量的大小必须等于1二项式回归,或为多项式回归类的数量。”) ¶
-
weightCol
=参数(父母=‘定义’,name = ' weightCol ', doc = '体重列名。如果这不是设置或空,我们对所有实例权重为1.0。”) ¶
-