一、逻辑回归算法描述:
由于线性回归对于分类的问题没有办法准确而又具备鲁棒性地分割,因此在线性回归的基础上,我们设计出了逻辑回归这样一个算法,它的输出结果表征了某个样本属于某类别的概率。
逻辑回归的成功之处在于,将原本输出结果范围可以非常大的θTX 通过sigmoid函数映射到(0,1),从而完成概率的估测。
sigmoid函数的特性是直观地在二维空间理解逻辑回归,使得判定的阈值能够映射为平面的一条判定边界,当然随着特征的复杂化,判定边界可能是多种多样的样貌,但是它能够较好地把两类样本点分隔开,解决分类问题。
sigmoid函数图像如图1、sigmoid函数表达式及逻辑回归原理如下图2所示:
图1 图2说明:逻辑回归曲线永远包含在0-1之中,用它去预测概率,并用0.5分割线来进行二分类结果预测。
二、商业案例
这里有份社交网络的用户信息数据集。如图3所示。401行5列。此数据集包括用户名,性别,年龄,年收入,购买力。其中最后一列的背景是这样的:这个社交网络和不同公司有合作关系,这些公司根据用户信息来投放广告,现在有家汽车公司,新出一款SUV——运动型多功能车,他们想知道,哪些用户对这个车感兴趣,从而制定最好的投放广告策略。购买力就是用户看到这个汽车广告,是否买的结果。
公司目标是:想根据顾客年龄和年收入对顾客分群,得到哪些顾客感兴趣,哪些不感兴趣,从而制定投放策略。
图3三、数据预处理
1、下载数据集
2、导入标准库
3、导入数据集
4、处理缺失数据
5、处理分类数据
6、将数据分成训练集和测试集
7、特征缩放
三、代码操作——数据预处理过程
1、导入库和数据集,并创建自变量矩阵和因变量向量结果如图4,5
图4 图5 2、在整个数据集中,分割成测试集:训练集=0.25结果如图6
图6 3、在此份数据集中并不需要对因变量进行特征缩放,因为二分类问题,结果不是0就是1。只对自变量进行特征缩放。结果如图7
图7三、代码操作——用训练集拟合逻辑回归分类器,然后预测,分类。
4、用训练集已经拟合好了逻辑回归分类器 5、用拟合好的分类器去预测测试集 6、用混淆矩阵来评估分类器性能结果如图8
图8说明:混淆矩阵是一个评价机器学习分类模型的一个方法。它用2*2矩阵表示正确的和错误的分类。由此得此分类器的错误率11/89=12.4%
7、可视化训练集分类结果结果如图9
图9说明:此模型用预测边界来分割两个不同的预测区域,橘色说明看了广告没买SUV的人,蓝色说明看了广告买SUV的人。
7、可视化测试集分类结果结果如图10
图10红色区域——分类器预测的对SUV车不感兴趣的用户组
绿色区域——分类器预测的对SUV车感兴趣的用户组
橘色点——实际上没买的用户
蓝色的——实际上已买的用户
四、结果分析
在Spyder(python3.7)的运行环境中利用机器学习库Sklearn来进行整个挖掘过程。
在此环境下运用逻辑回归模型对样品进行分类,并对新样品进行预测分类的结果。
由混淆矩阵和可视化结果直观显示,此逻辑回归模型对此份数据集的效果还是清晰的。
对年龄稍大,工资稍高的人多投入广告,则会得到较好的收益。
作者:Gritying
链接:https://www.jianshu.com/writer#/notebooks/23117714/notes/39822271
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
网友评论