spark中api和sklearn中的api对比

1.逻辑回归对比

spark.ml.LogisticRegression

setMaxIter 设置最大迭代次数(默认100),具体迭代次数可能在不足最大迭代次数停止

setTol设置容错(默认1e-6),每次迭代会计算一个误差,误差值随着迭代次数增加而减小,当误差小于设置容错,则停止迭代

setRegParam设置正则化项系数(默认0),正则化组要用于防止过拟合现象,如果数据较小,特征维数又多,容易 出现过拟合,考虑增大正则化系数

setElasticNetParam正则化范式比(默认0),正则化有2种方式:L1(lasso)和L2(Ridge),L1用于特征的稀疏化,L2用于防止过拟合.0表示用L2正则化,1表示用L1正则化

setLabelCol设置标签列

setFeaturesCol设置特征列

setPredictionCol设置预测列

setThreshold设置二分类阈值

fitIntercept:是否设置截距项

sklearn.linear_model.LogisticRegression

penalty-默认l2正则化

tol-默认为1e-4

C-Inverse of regularization strength,正则化强度的倒数,可以理解为正则化系数的倒数,如下式所示

fit_intercept:是否要截距项,默认True

intercept_scaling-默认是1,当solver为'liblinear'并self.fit_intercept为True是有用,此时输入的x会变成[x,self.intercept_scaling],总之会对原始的截距项做些转换

spark.ml.classification.LogisiticRegression().setMaxIter(100).setRegParam(0.0)

上面sklearn的lr和spark的lr,跑出的结果spark的auc更高,当把2个的截距项都设为False时,2个逻辑回归计算的系数一样,auc也一样。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值