更多腾讯海量技术文章,请关注云加社区:https://cloud.tencent.com/developer
作者:李润凯
1、 什么是 LR 模型
LR ( Logistic Regression ) 是在线性回归的基础上,套用了一个逻辑函数。 而回归是一种及其简单的模型,我们一个普通的二元函数 y=f(x),就属于回归的一种。它虽然简单,但是它有一个极其致命的缺点:线性回归的鲁棒性很差。这使回归模型在机器学习领域上表现很一般。但是套用了逻辑函数之后,逻辑回归模型在克服了线性回归鲁棒性差这个缺点,使得它在机器学习上面有了一席之地。像腾讯算法大赛这类二分类问题,就可以用逻辑回归来实现。
2、 LR 模型的代码实现
首先导入必要的工具包:
接着用pandas工具包里面的read_csv()函数把训练集和测试集导入:
分离出特征值和label,在下面的代码中,column_name是特征值名字的列表,如[‘age’,’ positionID’,…..]:
从sklearn.linear_model里导入LogisticRegression。
在Python中提供了LR模型,我们直接引入相应的包就可以使用LR模型:
引入相应的模型后,我们就可以调用LogisticRegression中的fit函数用来训练模型参数:
模型训练好了之后,接下来就是进行结果的预测了。
其中result是predict_proba产生的一个预测概率,由此我们得到了腾讯算法大赛要求的概率将其输出既可得到所要的zip文件,具体实现在官方的baseline中有相应的代码实现,在此不再赘述,附上官方baseline的链接,有需要的同学可以参考:腾讯社交广告算法大赛 Baseline
3、 LR模型对维度过大的特征值的处理
为了使得预测结果不会被某些维度过大的特征值而主导。Python中提供了标准化数据相应的函数,保证每个维度的特征数据方差为1,均值为0。由此让我们的LR模型对此次算法大赛中一些离散度较高的特征有了应对之策,例如下图的positionID,数据大小相差较大,会导致结果受到影响,使用标准化处理可以避免这个问题,使得我们可以得到一个更好的成绩。
以上即为LR模型结合本次腾讯算法大赛的简单使用教程,如有错误,欢迎大家指出!
领取专属 10元无门槛券
私享最新 技术干货