知识卡片
选择数据的长格式与宽格式
内容
离散选择建模的数据有两种组织方式:宽格式一行代表一次完整的选择,每个备选项的属性平铺成不同列,逻辑回归等多数机器学习模型用的是这种格式;长格式一行只代表一次选择中的一个备选项,用0/1标记该项是否被选中,多项Logit、嵌套Logit等模型需要这种格式。同一份数据可以通过工具在两种格式间互相转换,选哪种格式本质上取决于下游模型要不要把”选项”当作独立的观测单位。
参考来源
- 位置:《数据科学工程实践》第1章《如何分析用户的选择》"1.3.1 软件包和数据格式"一节(源文件:_epub-src/OEBPS/Text/part0010.xhtml)
- 结论依据:原文明确宽格式"一行数据代表一次选择过程,字段表示选择结果,其他与选择有关的信息被平行放置在一行中的各字段。LR模型的输入数据格式就是宽格式",长格式"一次选择行为包含多行数据,一行数据代表一次选择过程中的一个选项……对于备选项属性数据可以不同,决策者属性数据则相同",并说明多数Logit模型使用长格式,pylogit工具可做两种格式互转。
- 原始内容:如表1-3所示,一行数据代表一次选择过程,字段表示选择结果,其他与选择有关的信息被平行放置在一行中的各字段。LR模型的输入数据格式就是宽格式。对于长格式,读者可能就比较陌生了,不过它是多数Logit模型使用的数据格式。如表1-4所示,一次选择行为包含多行数据,一行数据代表一次选择过程中的一个选项,其中会有一个字段表示该选项是否被选中……对于备选项属性数据可以不同,决策者属性数据则相同。