首页 > 解决方案 > 使用 Python 中的客户调查数据进行逻辑回归

问题描述

我有一个项目,我不确定如何实施。我需要使用客户调查数据构建逻辑回归来预测 NPS(实际上,系数对于这个用例更重要)。

我对使用各种机器学习数据集充满信心,但我对客户调查数据有一些担忧。我的问题是:

  1. 缩放编码。示例问题:“您需要等待多长时间?a)不到 10 分钟,b)10-20 分钟,c)20-30 分钟,d)超过 30 分钟”。这是区间数据,所以我可以将值保留为 1、2、3 和 4,对吗?满意度量表也很常见——从非常满意到非常不满意。

  2. 问题中的“不知道”选项,例如“您同意 XYZ 吗?:a) 是,b) 不,c) 不知道”。我是否只是删除这些,因为它没有向算法传达有用的信息?

  3. P 值和虚拟变量。由于很多问题都是名义上的,所以我不得不使用pd.get_dummies()。但是当我拟合 statsmodels 的 Logit() 模型时,我看到很多变量的 p 值为 1。在这种情况下我该如何进行?

在此先感谢,我希望我的问题是有道理的。

编辑:在这种情况下,NPS 意味着 1 如果Promoter(值 9 和 10)和 0 如果有其他值。

标签: pythonpandasmachine-learningdata-sciencelogistic-regression

解决方案


  1. 如果它是标量并保持“greathear than”的关系,您可以将 [10,20];[20:30] ... 编码为 1,2 ... 如果它们没有这种关系,例如:“do你喜欢蓝色还是红色?”,那么你应该使用一种热编码。

  2. 使用一种热编码,例如

yes =        [1,0,0]
no =         [0,1,0]
dont_know =  [0,0,1]
  1. 似乎你有多重共线性的问题,你应该正则化数据,删除变量或使用其他模型以避免它。可能导致它的另一件事是您的 x 和 y 是同一件事,或者您没有考虑 TIME,例如:您将流失模型的新近度(上次使用时间)用作您的 x,但您将流失定义为新近度> n 天。

推荐阅读