python - 使用 Python 中的客户调查数据进行逻辑回归
问题描述
我有一个项目,我不确定如何实施。我需要使用客户调查数据构建逻辑回归来预测 NPS(实际上,系数对于这个用例更重要)。
我对使用各种机器学习数据集充满信心,但我对客户调查数据有一些担忧。我的问题是:
缩放编码。示例问题:“您需要等待多长时间?a)不到 10 分钟,b)10-20 分钟,c)20-30 分钟,d)超过 30 分钟”。这是区间数据,所以我可以将值保留为 1、2、3 和 4,对吗?满意度量表也很常见——从非常满意到非常不满意。
问题中的“不知道”选项,例如“您同意 XYZ 吗?:a) 是,b) 不,c) 不知道”。我是否只是删除这些,因为它没有向算法传达有用的信息?
P 值和虚拟变量。由于很多问题都是名义上的,所以我不得不使用pd.get_dummies()。但是当我拟合 statsmodels 的 Logit() 模型时,我看到很多变量的 p 值为 1。在这种情况下我该如何进行?
在此先感谢,我希望我的问题是有道理的。
编辑:在这种情况下,NPS 意味着 1 如果Promoter(值 9 和 10)和 0 如果有其他值。
解决方案
如果它是标量并保持“greathear than”的关系,您可以将 [10,20];[20:30] ... 编码为 1,2 ... 如果它们没有这种关系,例如:“do你喜欢蓝色还是红色?”,那么你应该使用一种热编码。
使用一种热编码,例如
yes = [1,0,0]
no = [0,1,0]
dont_know = [0,0,1]
- 似乎你有多重共线性的问题,你应该正则化数据,删除变量或使用其他模型以避免它。可能导致它的另一件事是您的 x 和 y 是同一件事,或者您没有考虑 TIME,例如:您将流失模型的新近度(上次使用时间)用作您的 x,但您将流失定义为新近度> n 天。
推荐阅读
- python - 如何计算python类对象的哈希
- javascript - Javascript 中的属性值
- c++ - HPC pack 2008 sdk 不会在代码中添加任何并行性
- django - 向 https 提交请求返回 http
- node.js - /bin/sh: 1: gcloud: 未找到
- java - 如何将 List 值放入 thenReturn 进行单元测试?
- javascript - 离线查看网站 - 如何绕过不需要的 ajax 和 jquery 操作?
- java - JanusGraph IndexQuery 与 RawQuery
- jquery - 如何使用jQuery显示嵌套数组的最后一个数据条目?
- postgresql - 无法使用 Postgres 9.2 安装任何语言