首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

花式玩逻辑回归之不是只能做二分类

其实大部分的时候,使用逻辑回归都是处理二分类的问题,那是因为在信用评分卡中,都是认好客户和坏客户,但是在其他的建模场景中还是存在多分类的情况的,例如你想建立一些用户标签,区分使用你在库客户的一些行为特征或者给他们加个标签,更好的建立模型,那么建模中的多分类的话,可能会用神经网络去区分多分类,但是除了神经网络,我们万能的逻辑回归也可以。

介绍两种把逻辑回归变成多分类算法的思路,绝对不是那个多分类的逻辑回归那个算法,底层还是那个二分类的逻辑回归。

我这个思路是我在网上看了一篇文章想到的,文章在这里:

https://www.cnblogs.com/CheeseZH/p/5265959.html,还有参考了周志华西瓜书中的多分类学习中的知识

1.哑变量式法

平时如果逻辑回归不转化woe的话,字符变量就是以哑变量的形式进入模型的,那么现在我们也可以把我们的多分类变成哑变量的形式建立多个模型。

步骤一:

假设现在是有4个分类,A-B-C-D,现在建立四个模型,这四个模型的Y值是这么设置的:

分别建立了四个模型,这里你可以用全部的数据分成四份,分别建立四个模型,但是如果你数据少的话,其实我觉得你用同个全样本数据做四个模型。

步骤二:这四个模型分别拟合建立模型,生成这四个模型的标准卡

步骤三:部署应用的就是,客户的全部维度跑四个模型,取预测概率最高的那个即为是哪一类,即max(p(f1(x)), p(f2(x)), p(f3(x)), p(f4(x)))。

2.投票式

还是例如是四个标签,A-B-C-D,这个方法的思路是:

步骤一:

这时候你需要建立是6个模型,每个模型选取的数据是样本中对应标签的数据。

步骤二:分别拟合建立6个模型,并生成6个模型的标准评分卡。

步骤三:部署应用是这样子的:

当一个客户进来的时候:跑第一个模型,预设一个阈值,如果超过阈值则为A,小于阈值就是C,依次算出6个模型的预测标签,预测标签就是这6个模型的最高票。

3.空间距离法

这个方法在西瓜书的65页有详细的介绍,如果你看不懂我写的,你可以去看一下西瓜书的65页-67页的内容。这个方法我是自己看了之后,按照自己的理解再加点一个改动。

这个方法有点麻烦哈,就是你建立多少个模型都可以。

步骤一:你的Y值中的1可以是A 也可以是AB 0是CD ,然后你随机的让一个或者几个标签作为y值中的1,剩下的一个标签作为y值的0,那么你就可以得到以下的矩阵。F1(X),就是A标签为目标标签,剩下则为非目标标签,以此类推

步骤二:就是你根据的y值取目标标签为1,然后进行建模,分别建立7个模型。这个我建立的模型对D不太公平,正常的话应该是每个标签的做目标标签的次数应该是跟非目标的次数是一样的,但是这个没那么宽,我就列举了一下。

步骤三:部署的时候就是这样子,你的客户维度跑了全部的模型,模型会有一个阈值,那么大于这个阈值就是目标标签,小于阈值就是非目标标签。那么如果想F2(X)这种,大于阈值,那他可能是A标签也可能是B标签,这时候就不好判断了,所以这之后按照空间距离的公司,算出客户预测标签组成一个向量,与A B C D的各个模型的作为目标变量组成的向量,计算预测标签向量与标签向量之间的欧式距离,距离最小的,即预测标签为其标签,我举个例子:

例如有个客户数据是(1,0,0,0,1,0,1),那么他与A B C D欧式距离就是分别是:

那么这个客户的预测标签就是D。我这欧式距离是手算,要是有错的告诉我一下哈。

那么大概的思路就是这样子的。

来源|屁屁的sas数据分析

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180706B1GQ6900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券