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